OnCollisionEnter方法触发条件
- 碰撞双方必须是碰撞体(Conllision)
- 碰撞的主动方必须是刚体(Rigidbody)
- 刚体不能勾选IsKinematic
- 碰撞体不能勾选IsTrigger
注意:OnCollisionEnter方法的形参对象指的是碰撞双方中没有携带OnCollisionEnter方法的一方
OnTriggerEnter方法触发条件
- 碰撞双方必须是碰撞体(Conllision)
- 碰撞双方其中一个碰撞体必须勾选IsTrigger选项
- 碰撞双方其中一个方必须是刚体(Rigidbody)
- 刚体的IsKinematic选项可以勾选也可以不勾选
注意:只要满足上面两个条件,不管是谁主动都会触发
总结:
相同点:
1 碰撞双方都必须是碰撞体
2 都要有刚体参与
3 形参对象均表示没有携带OnCollisionEnter或OnTriggerEnter脚本的一方
不同点:
1 OnTriggerEnter要求碰撞体的任意一方必须勾选IsTigger选项,OnCollisionEnter则要求全不勾选
2 OnTriggerEnter对刚体的IsKinematic项没有要求,OnCollisionEnter则要求不能勾选
3 OnTriggerEnter对刚体挂在碰撞双方的哪一方没有要求,而OnCollisionEnter则要求挂在碰撞的主动方
文章转自https://blog.youkuaiyun.com/qq_15267341/article/details/53489957
本文详细解析了Unity3D中OnCollisionEnter和OnTriggerEnter两个方法的触发条件。OnCollisionEnter要求碰撞双方都是碰撞体,且刚体不为IsKinematic,不勾选IsTrigger。而OnTriggerEnter则需要一方碰撞体勾选IsTrigger,刚体的IsKinematic选项不做要求。这两个方法的形参对象均为未携带相应脚本的一方。
9610

被折叠的 条评论
为什么被折叠?



