一:产生碰撞的条件
1:若要产生碰撞,必须双方都要有碰撞器。
2:运动的一方一定要有刚体,另一方有无刚体无所谓。
注:如果运动的一方无刚体,它去碰撞静止的刚体,相当于没有装上。
二:接触的两种方式
1:Collision碰撞,造成物理碰撞,可以在碰撞时执行OnCollision事件。
2:Trigger触发,取消所有的物理碰撞,可以在触发时执行OnTrigger事件。
注:两个物体接触不可能同时产生碰撞+接触,最多产生一种。但是可以AB产生碰撞,AC产生触发。
三:产生不同方式接触的条件
1:Collision碰撞
(1):双方都有碰撞体
(2):运动的一方必须有刚体
(3):双方不可同时勾选Kinematic运动学。
(4):双方都不可勾选Trigger触发器。
2:Trigger触发
(1):双方都有碰撞体
(2):运动的一方必须是刚体
(3):至少一方勾选Trigger触发器
四:接触后事件细分为Enter,Stay,Exit三种(以Trigger为例,分别为OnTriggerEnter、OnTriggerStay、OnTriggerExit)
1:Enter事件表示两物体接触瞬间,会执行一次。
2:Stay事件表示两物体持续接触,会不断执行。
3:Exit事件当两物体分开瞬间,会执行一次。
五:碰撞规则表
进行碰撞检测并在碰撞时发送消息 | ||||||
静态碰撞体 (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) 消息 | ||||||
静态碰撞体 (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 |
六:实验表