碰撞发生的条件是两个游戏对象都包含碰撞器组件并且其中一个要包含刚体(Rigidbody),触发是碰撞器组件内的一个组件。下面的Is Trigger勾选后,碰撞时为触发器。
碰撞器检测函数
OnCollisionEnter(Collision collision)OnCollisionExit(Collision collision)
OnCollisionStay(Collision collision)
触发器检测函数
OnTriggerEnter(Collider collider)
OnTriggerExit(Collider collider)
OnTriggerStay(Collider collider)
跳坑小贴士:
- 当为触发器时,碰撞器不会检测。
- 当触发器和刚体组件同在一个游戏物体上,游戏物体会受刚体组件内的重力(Use Gravity)影响穿过场景地面。所以建议把触发器放在没有刚体组件的游戏物体。
- 不管是碰撞器的监测函数OnCollisionStay还是触发器的监测函数OnTriggerStay,在两个游戏物体接触中都会一直被调用。即碰撞或触发物体持续接触。
- 碰撞器检测函数的参数Collision中包含触发器检测函数的参数Collider。
有想到的再补充,欢迎指出错误和探讨。