Unity互动实践任务技术王杰22(十一)要点分析.doc

Unity互动实践任务技术王杰22(十一)要点分析.doc

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Unity技术互动实践任务 ( 十一 ) 任务名称:物理引擎(二) 姓名: 王杰 班级:软件13-1 学号: 1330133122 任务描述 子任务 01:模拟布料的效果 子任务 02:设置铰链关节的锚点和坐标轴 子任务 03:设置铰链关节的弹簧效果 子任务 04:设置铰链关节的马达属性 子任务 05:设置铰链关节的限制属性 子任务 06:设置铰链关节的断开力属性 子任务 07:编程实现对铰链关节的驱动 任务资源 Unity4.0.0软件 互动任务操作步骤 子任务01:模拟布料的效果 生成一个包含平面和球体的场景1 生成一张布料物体,选择普通平面作为其网格,设置面料的材质 调节布料的参数 运行,观察效果 5、另存为场景2 6、进入3DS MAX, 生成一个含有超过900个顶点的平面,并导入到时UNITY项目中 7、把布料的Mesh更改为刚导入的平面 8、设置材质 9、观察运行效果 子任务02:设置铰链关节的锚点和坐标轴 定制场景,其中包含一个扁的长方块 选中选中长方体单击Component--Physics--Hinge Joint,添加铰链关节组件 2、在长方块的局部坐标系中设置锚点,此后物体将围绕其摆动 在长方块的局部坐标系中设置摆动轴,此后物体将围绕其转动 子任务 03:设置铰链关节的弹簧效果 定制场景,其中包含一个扁的长方块 选中选中长方体单击Component--Physics--Hinge Joint,添加铰链关节组件 2、设置目标角度为90 在Inspector视图,Hinge Joint组件,Spring(弹簧)选项,Target Position设为90 设置弹力为0.1,启用弹簧,观察运行效果 设置弹力为10,启用弹簧,观察运行效果 比较第3、4步的结果有何不同? 弹力为0.1时,摆动幅度不大; 弹力为10时,摆动幅度大,瞬间转动; 6、设置目标角度为-90,观察运行效果 正方体往相反方向摆动 子任务 04:设置铰链关节的马达属性 1、定制场景,其中包含一个扁的长方块 2、设置预期目标速度为100 在Inspector视图,Hinge Joint组件,Motor(马达)选项,Target Velocity设为100 设置马达动力为10 在Inspector视图,Hinge Joint组件,Motor(马达)选项,Force设为10 起动马达,观察运行效果 长方体沿Y轴旋转 子任务 05:设置铰链关节的限制属性 1、定制场景,其中包含一个扁的长方块 2、设置铰链旋转可以达到的最少角度 在Inspector视图,Hinge Joint组件,Limits(限制)选项,Min设为5 设置铰链旋转可以达到的最大角度 在Inspector视图,Hinge Joint组件,Limits(限制)选项,Max设为200 4、运用马达,驱动长方块转动 5、起用限制,观察运行效果 只转动很小的角度: 子任务 06:设置铰链关节的断开力属性 1、定制场景,其中包含二个扁的长方块,在两物体中间加入铰链 2、设置一个球体,在其中加入一个能为之加力的脚本(按鼠标左键,沿X方向加力) 为铰链加入断开力 4、在脚本中输入一个较小的力,驱动球体向右运动,并与关节体碰撞,观察碰撞结果 在脚本中输入一个较大的力,驱动球体向右运动,并与关节体碰撞,直至把关节撞 断,观察运行效果 子任务?07:编程实现对铰链关节的驱动 1、定制场景,其中包含一个扁的长方块(类似于门) 2、编辑js脚本,完成对motor项的设置 3、挂接脚本到长方体对象 4、运行,点击左钮,启动马达,驱动长方块转动 5、不断改变马达运转的速度,观察运动效果 子任务07的参考代码: #pragma?strict private?var?v=360; function?Start?()?{ } function?Update?()?{ } function?FixedUpdate?()?{ if?(Input.GetMouseButtonDown(0)) { hingeJoint.motor.targetVelocity=v; hingeJoint.motor.force=6; hingeJoint.useMotor?=?true; v=v-10; } if?(Input.GetMouseButtonDown(1)) { hingeJoint.motor.targetVelocity=v; hingeJoint.m

文档评论(0)

挑战不可能 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档