一、触发碰撞和刚体碰撞
共性:碰撞双方都需要加碰撞器组件,至少有一个添加了刚体组件rigidbody;
异同:触发碰撞需要在 碰撞器勾选is trigger选项,刚体碰撞需要使用物理动力模式(isKinematic 选项不能勾选)
二、OnTriggerEnter事件执行特点;
OnTriggerEnter事件不是每帧调用的,它是基于RigidBody物理碰撞后调用的,不管事件所在的脚本是否处于激活状态只要满足条件的碰撞OnTriggerEner都会被调用;
三、所有碰撞都与刚体组件相关;
经过测试发现:
1、rigidbody组件会将加有碰撞器的子物体合成一体,比如父物体加有刚体,并且是处于物理动力状态,子物体没有加刚体,但加有刚体碰撞器;与其他物体进行刚体碰撞时,子物体和父物体就相当于整体作为碰撞个体;
2、若是父物体以及子物体都加有RigidBody组件,在进行碰撞的时候他们都会作为独立的个体进行碰撞
3、OnTriggerEnter事件的调用依赖于Collider以及Collider从属于的刚体rigdbody;同理,当两个物体 进行触发碰撞,其中一个没有刚体组件,另一个自身没有刚体组件,但是其父物体带有刚体组件;这两个物体的OnTriggerEnter会被调用,带有刚体且最近的一个父物体的OnTriggerEnter也会被调用。对于一对碰撞,两个物体没有加刚体但其父物体都加了刚体,这两个物OnTriggerEnter
会被调用,其最近且加有刚体的父物体的OnTriggerEnter也会被调用。
4、如果是两个物体进行检测,且都为子物体,最好都加上刚体组件,一对一发送消息。