具体的一些,可以看 unity3d的 manual refrernce的东西,有几个表格在后面可以参考:
几个类型碰撞器:
1. 静态碰撞器: 就是只有碰撞器,但没有刚体的
2.刚体碰撞器: 带Rigidbody的碰撞器,这个是最基本的碰撞器
3.运动学刚体碰撞器: 带Rigidbody, 而且Rigidbody的Is Kinematic打勾的,注意这个碰撞器是不能加力的,只能修改他的transform才能移动
Triggers 触发器
仅需要选中Inspector中的IsTrigger属性选择框。触发器不受物理引擎控制,当和一个触发器发生碰撞时会发出三个独特的触发信息,为了使两个触发器碰撞时发出碰撞事件,其中一个必须包含刚体.
今天遇到的一个情况是:如果刚体碰撞器不动,静态碰撞器去碰撞,则不会触发任何信息,而如果静态碰撞器不动,刚体碰撞器(包括运动学刚体碰撞器)去碰撞静态碰撞器,则会触发碰撞,如果是触发器,则会触发事件。所以下面的表格提供了触发的条件,但主动性大家也还需要注意,不然要纠结一段时间的。
Collision detection occurs and messages are sent upon collision 碰撞后有碰撞检测并有碰撞信息发出 | ||||||
| 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 messages are sent upon collision 碰撞后有触发信息 | ||||||
| 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 |