具體的一些,可以看 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 |