unity碰撞检测
(1)
检测Trigger:双方都有Collider。双方至少有一个Rigidbody(任意一方都可以),有一个Trigger(任意一方都可以).
若只有一个Rigidbody,则碰撞时,该Rigidbody一定要是运动的。
碰撞后发出的OnTriggerEnter,OnTriggerStay,OnTriggerExit都可以在双方所附加的脚本上接收。其中的参数Collider other是碰撞的另一方的Collider
(2)
检测Collision:双方都没有Trigger。双方至少有一个非kinematic的Rigidbody。
若只有一个Rigidbody,则碰撞时,该Rigidbody一定要是运动的。
碰撞后发出的OnCollisionEnter,OnCollisionStay,OnCollisionExit都可以在双方所附加的脚本上接收。其中的参数Collision collision的各个属性collider,gameObject,rigidbody(若无则为null),transform,均为碰撞另一方的属性。

本文介绍了Unity中两种碰撞检测方法:Trigger检测和Collision检测。Trigger检测适用于带有Collider和Rigidbody(至少一方为Trigger)的情况,触发OnTriggerEnter等事件。Collision检测则需要双方有非kinematic Rigidbody,事件如OnCollisionEnter,可以通过ContactPoint获取详细碰撞信息。
最低0.47元/天 解锁文章
1万+

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



