- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《3D引擎开发技术》课程互动实践任务书
传媒学院计算机软件技术教研室 李昌领 制作
Unity技术互动实践任务 (十)
物理引擎(一)
一、任务描述
子任务 01:为刚体增加阻力
子任务 02:为刚体增加扭矩阻力
子任务 03:设置刚体是否使用重力属性
子任务 04:设置刚体是否开启动力学属性
子任务 05:设置刚体的运动约束属性
子任务 06:为刚体设置恒定力
子任务 07:通过编写脚本为刚体设置恒定力
子任务 08:在子任务07的基础上处理碰撞时的消息
子任务 09:在子任务07的基础上处理碰撞的触发消息
二、任务资源
1、Unity4.0.0软件;
三、任务流程
子任务 01:为刚体增加阻力
1、分别把阻力设置成0和10,运行,观察二者物体下坠有怎样的运行效果
物体瞬间落下
2、把阻力设置成600,观察物体下坠的效果
物体悬浮在空中
子任务02:为刚体增加扭矩阻力
1、设置一个具有刚体属性的立方体
2、旋转,使其与下面的平面有一定的夹角
3、不设置扭矩阻力(或设置很小的扭矩力为0.01),运行,观察物体碰到平面的运动情况
4、设置扭矩阻力为100,运行,观察物体碰到平面的运动情况
5、描述二者的区别,并说明原因
当与地面接触后,扭矩阻力为100的时候,夹角下落较快
子任务 03:设置刚体是否使用重力属性
1、设置一个具有刚体属性的立方体,使其离开平面一定高度
2、设置使用重力选项,观察物体运动效果
物体落下
3、设置不使用重力选项,观察物体运动效果
物体悬浮
子任务 04:设置刚体是否开启动力学属性
1、设置一个具有刚体属性的立方体,使其离开平面一定高度
2、设置使用重力选项,观察物体运动效果
物体落下
3、设置Is Kinematic 为TRUE,观察物体运动效果
物体悬浮
子任务 05:设置刚体的运动约束属性
1、设置一个具有刚体属性的立方体,使其离开平面一定高度
2、设置Freeze Position:冻结位置:设置在Y轴上不能移动,观察运行效果
物体悬浮
3、让立方体有一定的旋转,使其与下面的平面有一定夹角
悬浮
4、设置Freeze Rotation:冻结旋转:设置在X轴上不能旋转,观察运行效
子任务 06:为刚体设置恒定力
1、设置一个具有刚体属性的立方体,使其离开平面一定高度
2、为物体设置恒定力。在Y轴方向设置全局力,观察运行效果
3、把物体沿X轴旋转一定角度,观察运行效果,与2有何不同
4、在Y轴方向设置局部力,观察运行结果
5、比较全局力和局部力作用的不同之处!
当物体倾斜时,Y轴方向全局力会垂直落下,Y轴方向局部里,延倾斜方向落下
子任务 07:通过编写脚本为刚体设置恒定力
1、设置一个具有刚体属性的立方体,并做一定旋转,使其离开平面一定高度
2、编写在Y轴方向设置全局力的脚本,把脚本拖拽到立方体,观察运行效果
3、编写在Y轴方向设置局部力的脚本,观察运行效果
比较2、3的不同之处
当物体倾斜时,Y轴方向全局力会垂直落下,Y轴方向局部里,延倾斜方向落下
4、编写在Y轴方向设置全局扭矩力的脚本,观察运行效果
5、编写在Y轴方向设置局部扭矩力的脚本,观察运行效果
比较4、5的不同之处
子任务 08:在子任务07的基础上处理碰撞时的消息
在立方体上放置脚本,当与其它刚体碰撞时,处理消息OnCollisionEnger,使其能够对被碰撞的物体施加额外的力,参考代码:
function OnCollisionEnter (c : Collision)
{
print(c.gameObject);
if (c.rigidbody)
c.rigidbody.AddForce(0,600,0);
}
子任务 09:在子任务07的基础上处理碰撞的触发消息
把立方体的碰撞器组件中的Is Trigger设置为TRUE,在其脚本中处理消息OnTriggerEnger,当与别的物体发生碰撞时,触发器消息被触发,完成对被碰撞物体的销毁,参考代码:
function OnTriggerEnter (c : Collider)
{
Destroy(c.gameObject);
}
四、课外任务
(二)预习
第七章 物理引擎
原创力文档


文档评论(0)