【和我一起学习Unity3D】初识物理系统
来源:互联网 发布:rsync ssh 端口 编辑:程序博客网 时间:2024/04/29 11:42
要让一个GameObject成为一个物理系统的成员,首先他必须是一个刚体(Rigidbody),然后,他必须有碰撞域(Collider)。
添加完这两个组件(Component)之后,值得注意的就是刚体的IsKinematic这个属性,这个属性是表示他的移动只能由脚本所控制,比如墙壁等,就需要勾上这个。
另外一个属性是碰撞域的IsTrigger,这个属性标志着这个GameObject的碰撞处理方式,勾上这个,说明这个物体的碰撞会触发1.MonoBehaviour.OnTriggerEnter( Collider other )当进入触发器2.MonoBehaviour.OnTriggerExit( Collider other )当退出触发器3.MonoBehaviour.OnTriggerStay( Collider other )当逗留触发器
然后取消掉,碰撞会触发:
1.MonoBehaviour.OnCollisionEnter( Collision collisionInfo ) 当进入碰撞器2.MonoBehaviour.OnCollisionExit( Collision collisionInfo ) 当退出碰撞器.MonoBehaviour.OnCollisionStay( Collision collisionInfo ) 当逗留碰撞器
关于这个,我看到一个博客说的很好:http://blog.csdn.net/Monzart7an/article/details/22739421
-------------------------------------------------------------------------------------------------
关于物体的力要在一个GameObject上添加一个力,首先这个GameObject必须是一个刚体(Rigidbody),然后在脚本中就可以这样写:
this.rigidbody.AddForce(Vector3.up * 5, ForceMode.Impulse);
第一个参数说明了添加的力的方向和力的大小,这个力是向上的,并且大小为5N。
然后第二个参数说明了这个力的类型,类型有三种,可以参照Unity圣典的解释:http://game.ceeger.com/Script/Enumerations/ForceMode/ForceMode.html
值得一提的是,这个力是相对于世界坐标系的,如果想要相对于物体本身的坐标系增加一个力,可以这样写:
this.rigidbody.AddRelativeForce (Vector3.up * 5, ForceMode.Impulse);
0 0
- 【和我一起学习Unity3D】初识物理系统
- 【和我一起学习Unity3D】初识Unity3D
- 【和我一起学习Unity3D】初识脚本编程
- 【和我一起学习Unity3D】Unity3D的坐标控制
- unity3d物理赛车系统
- unity3d中的物理系统
- unity3d物理赛车系统
- unity3d物理赛车系统
- unity3d物理赛车系统
- unity3d物理赛车系统
- 我们一起学习unity3d
- 跟我从零基础学习Unity3D开发--初识U3D
- 和我一起学习OC吧
- 我和我的小伙伴们一起学Unity3D(一)
- 我和我的小伙伴们一起学Unity3D(二)
- 我和我的小伙伴们一起学Unity3D(三)GUISkin 界面皮肤
- 我和我的小伙伴们一起学Unity3D(四)角色移动之Transform
- Unity3D物理引擎和碰撞
- 从零开始学习javascript(一)
- SqlServer2008:日期与时间函数的使用举例
- Xcode 上的邮箱发送
- 字符串中删除指定的字符
- JavaScript 进阶(一)JS的"多线程"
- 【和我一起学习Unity3D】初识物理系统
- 进程与线程的区别
- codeforces Round #275(div2) B解题报告
- Record
- u-boot-2014.10移植第6天----深入分析代码(一)
- QR二维码生成器源码(中间可插入小图片)
- java多线程
- javascript基础——鼠标事件,系统对话框等
- Spark基础概况