unity中的rigibody 和 collider 讲解
2016-05-29 20:42
495 查看
dynamic object
当一个object吸附了:1.collider (接受碰撞)
2.rigibody (受到物理引擎的控制)
它就是一个dynamic object,此时的对象会收到unity 的物理引擎的影响,接受碰撞,碰撞时会受到力的作用进行移动
static object
但一个object吸附了:1.collider
此时它是一个静态物体,它接受碰撞,但是它却不会移动.
注:如果是静态物体我们不要使用transform去改变它的坐标,这样会严重的影响物理引擎的性能!!
Collider
(1) non-trigger Collider没有勾选属性:Is Trigger (此时与其它也没有勾选is trigger的物体发生接触,就会产生碰撞)
此时与其它物体发生接触会调用:
OnCollisionEnter | OnCollisionEnter is called when this collider/rigidbody has begun touching another rigidbody/collider. |
OnCollisionExit | OnCollisionExit is called when this collider/rigidbody has stopped touching another rigidbody/collider. |
OnCollisionStay | OnCollisionStay is called once per frame for every collider/rigidbody that is touching rigidbody/collider. |
勾选了属性:Is Trigger (此时与其它物体发生接触,无论对方是否勾选is trigger ,此时都不会发生碰撞,将穿透物体)
此时与其它物体发生接触会调用:
OnTriggerEnter | OnTriggerEnter is called when the Collider other enters the trigger. |
OnTriggerExit | OnTriggerExit is called when the Collider other has stopped touching the trigger. |
OnTriggerStay | OnTriggerStay is called almost all the frames for every Collider other that is touching the trigger. |
Rigibody
(1)non-kinematic Rigibody没有勾选is kinematic
(2)kinematic Rigibody
勾选了is kinematic
区别:kinematic Rigibody 不会发生碰撞,也不会接受到力的作用,但是我们可以通过使用transform来移动它
Trigger Message 产生
最低条件:两个物体之中:有一个勾选了is trigger 的collider , 有一个 Kinematic Rigibody 和 non trigger Collider.
Collider Message产生
最低条件:两个物体中:有一个non kinematic Rigibody 和 non trigger Collider , 有一个non trigger Collider.Collision detection occurs and messages are sent upon collision | ||||||
---|---|---|---|---|---|---|
Static Collider | Rigidbody Collider | Kinematic Rigidbody Collider | Static Trigger Collider | Rigidbody Trigger Collider | Kinematic Rigidbody Trigger Collider | |
Static Collider | Y | |||||
Rigidbody Collider | Y | Y | Y | |||
Kinematic Rigidbody Collider | Y | |||||
Static Trigger Collider | ||||||
Rigidbody Trigger Collider | ||||||
Kinematic Rigidbody Trigger Collider |
Trigger messages are sent upon collision | ||||||
---|---|---|---|---|---|---|
Static Collider | Rigidbody Collider | Kinematic Rigidbody Collider | Static Trigger Collider | Rigidbody Trigger Collider | Kinematic Rigidbody Trigger Collider | |
Static Collider | Y | Y | ||||
Rigidbody Collider | Y | Y | Y | |||
Kinematic Rigidbody Collider | Y | Y | Y | |||
Static Trigger Collider | Y | Y | Y | Y | ||
Rigidbody Trigger Collider | Y | Y | Y | Y | Y | Y |
Kinematic Rigidbody Trigger Collider | Y | Y | Y | Y | Y | Y |
相关文章推荐
- Unity3D KeyCode 值
- 如何用RT实现动态的阴影。(记录一下,还有些bug要解决。)
- Unity与IOS交互,调用IOS系统相机和相册
- Unity目录结构
- Unity3D代码及效率优化总结
- Unity3D 性能优化
- Unity性能优化(CPU)
- 12个优化Unity/GearVR应用的小技巧, 比较好
- Unity3D 集成Facebook登录
- Unity3D 集成 Google Play Game Service和Google In-app pucharse
- ubuntu14的unity desktop显示异常
- 在 Unity 中怎样创建 UI
- Unity3D WebCamTexture 调用外部摄像头
- unity,下面两个协程不等价
- UnityShader快速上手指南(一)
- UnityShader快速上手指南(一)
- unity, 在OnDisable里一定要将Cloth禁掉
- Unity Oculus开发注意事项
- Unity3D——游戏序列化
- Unity VR全景漫游