前言
這篇文章將會介紹碰撞體,並且說明在不同情況下的使用情形。
碰撞體 | Collider
碰撞體是 Unity 用來賦予物體體積的組件,當被添加碰撞體的組件會阻擋其他帶有碰撞體的物件, 若要移動帶有碰撞體的遊戲物件,則需要添加剛體。
種類
碰撞體有不同的總類,這些是比較基礎的幾何形,我們可以借由組合不同的碰撞體來達成複雜的遊戲物件。
BoxCollider:
最原始的碰撞體,為盒子形狀,也是常用的碰撞體。
SphereCollider:
最原始的碰撞體,為圓球形狀,也是常用的碰撞體。
CapsuleCollider:
膠囊形狀的碰撞體,常用在人物身上。
MeshCollider:
建模物件可以使用的碰撞體,比較吃效能。
觸發 | isTrigger
每一個遊戲碰撞體都擁有一個 isTrigger 的選項可以勾選,這代表碰撞體的體積變成範圍,用來進行遊戲事件的檢測,玩家可以自由穿越其中,搭配程式腳本的撰寫可以進行很多變化。
物理材質 | PhysicMaterial
在每一個碰撞體的參數中,都擁有一份物理材質的欄位,這是一個物理系統的材質球,裡面包含彈力和摩擦力。
在遊戲設計中,因為只有包含剛體的物件才會移動,所以每一次的碰撞事件一定包含一份剛體,物理材質會傳送物理參數到擁有剛體的物件,也就是上面談到的彈力和摩擦力。
使用方式
依照目標需求的不同,碰撞體會有不同的使用方式,核心的應用範圍都圍繞在跟Rigidbody的搭配上面。