碰撞和射線原理
1. 要產生碰撞必須為遊戲物件新增剛體(Rigidbody)和碰撞器,
剛體可以讓物體在物理影響下運動。碰撞體是物理元件的一類,它要與剛體一起新增到遊戲物件上才能觸發碰撞。如果兩個剛體相互撞在一起,除非兩個物件有碰撞體時物理引擎才會計算碰撞,在物理模擬中,沒有碰撞體的剛體會彼此相互穿過。物體發生碰撞的必要條件兩個物體都必須帶有碰撞器(Collider),其中一個物體還必須帶有Rigidbody剛體。
2. 在unity3d中,能檢測碰撞發生的方式有兩種,一種是利用碰撞器,另一種則是利用觸發器。
碰撞器: 一群元件,它包含了很多種類,比如:Box Collider(盒碰撞體),Mesh Collider(網格碰撞體)等,這些碰撞器應用的場合不同,但都必須加到GameObjecet身上。觸發器 ,只需要在檢視面板中的碰撞器元件中勾選IsTrigger屬性選擇框。Is Trigger(是否為觸發器) 這個選項是供指令碼使用的,如果勾選了這個則不會有碰撞的物理效果,但是遊戲引擎會通知指令碼有物體發生了碰撞。
Material(碰撞器材質) 在這裡可以選擇一種物理材質,來模擬更真實的碰撞效果,比如金屬之間的碰撞與石頭之間的碰撞效果肯定是不一樣的。
Center(碰撞器中心點) 可以調整碰撞器離物體中心的距離,也就是移動綠框。
Size(碰撞器大小) 調整碰撞器的縮放大小,調整XYZ可以讓碰撞器變成任意大小的長方體。