C語言中文網 目錄

Unity 3D碰撞體(Collider)

在游戲制作過程中,游戲對象要根據游戲的需要進行物理屬性的交互。

因此,Unity 3D 的物理組件為游戲開發者提供了碰撞體組件。碰撞體是物理組件的一類,它與剛體一起促使碰撞發生。

碰撞體是簡單形狀,如方塊、球形或者膠囊形,在 Unity 3D 中每當一個 GameObjects 被創建時,它會自動分配一個合適的碰撞器。

一個立方體會得到一個 Box Collider(立方體碰撞體),一個球體會得到一個 Sphere Collider(球體碰撞體),一個膠囊體會得到一個 Capsule Collider(膠囊體碰撞體)等。

添加碰撞體

在 Unity 3D 的物理組件使用過程中,碰撞體需要與剛體一起添加到游戲對象上才能觸發碰撞。

值得注意的是,剛體一定要綁定在被碰撞的對象上才能產生碰撞效果,而碰撞體則不一定要綁定剛體。

碰撞體的添加方法是:首先選中游戲對象,執行菜單欄中的 Component→Physics 命令,此時可以為游戲對象添加不同類型的碰撞體,如下圖所示。

添加碰撞體

碰撞體選項設置

Unity 3D 為游戲開發者提供了多種類型的碰撞體資源,如下圖所示。當游戲對象中的 Rigidbody 碰撞體組件被添加后,其屬性面板中會顯示相應的屬性設置選項,每種碰撞體的資源類型稍有不同,具體如下。

碰撞體資源類型

1) Box Collider

Box Collider 是最基本的碰撞體,Box Collider 是一個立方體外形的基本碰撞體。

一般游戲對象往往具有 Box Collider 屬性,如墻壁、門、墻以及平臺等,也可以用于布娃娃的角色軀干或者汽車等交通工具的外殼,當然最適合用在盒子或是箱子上。

下圖所示是 Box Collider,游戲對象一旦添加了 Box Collider 屬性,則在 Inspector 面板中就會出現對應的 Box Collider 屬性參數設置,具體參數如下表所示。

Box Collider參數設置

參 數 含 義 功 能
Is Trigger 觸發器 勾選該項,則該碰撞體可用于觸發事件,并將被物理引擎所忽略
Material 材質 為碰撞體設置不同類型的材質
Center 中心 碰撞體在對象局部坐標中的位置
Size 大小 碰撞體在X、Y、Z方向上的大小

如果 Is Trigger 選項被勾選,該對象一旦發生碰撞動作,則會產生 3 個碰撞信息并發送給腳本參數,分別是 OnTriggerEnter、OnTriggerExit、OnTriggerStay。

Physics Material 定義了物理材質,包括冰、金屬、塑料、木頭等。

2) Sphere Collider

Sphere Collider 是球體形狀的碰撞體,如下圖所示。

Sphere Collider參數設置

Sphere Collider 是一個基于球體的基本碰撞體,Sphere Collider 的三維大小可以按同一比例調節,但不能單獨調節某個坐標軸方向的大小,具體參數如下表所示。

當游戲對象的物理形狀是球體時,則使用球體碰撞體,如落石、乒乓球等游戲對象。

參 數 含 義 功 能
Is Trigger 觸發器 勾選該項,則該碰撞體可用于觸發事件,并將被物理引擎所忽略
Material 材質 用于為碰撞體設置不同的材質
Center 中心 設置碰撞體在對象局部坐標中的位置
Radius 半徑 設置球形碰撞體的大小

3) Capsule Collider

Capsule Collider 由一個圓柱體盒兩個半球組合而成,Capsule Collider 的半徑和高度都可以單獨調節,可用在角色控制器或與其他不規則形狀的碰撞結合來使用。

通常添加至 Character 或 NPC 等對象的碰撞屬性,如下圖所示,具體參數如下表所示。

Capsule Collider參數設置

選項英文名稱 選項中文名稱 功能詳解
Is Trigger 觸發器 勾選該項,則該碰撞體可用于觸發事件,并將被物理引擎所忽略
Material 材質 用于為碰撞體設置不同的材質
Center 中心 設置碰撞體在對象局部坐標中的位置
Radius 半徑 設置碰撞體的大小
Height 局度 控制碰撞體中圓柱的高度
Direction 方向 設置在對象的局部坐標中膠囊體的縱向所對應的坐標軸,默認是Y軸

4) Mesh Collider

Mesh Collider(網格碰撞體)根據 Mesh 形狀產生碰撞體,比起 Box Collider、Sphere Collider 和 Capsule Collider,Mesh Collider 更加精確,但會占用更多的系統資源。

專門用于復雜網格所生成的模型,如下圖所示,具體參數如下表所示。

Mesh Collider參數設置

參 數 含 義 功 能
Convex 凸起 勾選該項,則Mesh Collider將會與其他的Mesh Collider發生碰撞
Material 材質 用于為碰撞體設置不同的材質
Mesh 網格 獲取游戲對象的網格并將其作為碰撞體

 5) Wheel Collider

Wheel Collider(車輪碰撞體)是一種針對地面車輛的特殊碰撞體,自帶碰撞偵測、輪胎物理現象和輪胎模型,專門用于處理輪胎,如下圖所示,具體參數如下表所示。

Wheel Collider參數設置
 
參 數 含 義 功 能
Mass 質量 用于設置 Wheel Collider 的質量
Radius 半徑 用于設置碰撞體的半徑大小
Wheel Damping Rate 車輪減震率 用于設置碰撞體的減震率
Suspension Distance 懸掛距離 該項用于設置碰撞體懸掛的最大伸長距離,按照局部坐標來計算, 懸掛總是通過其局部坐標的 Y 軸延伸向下
Center 中心 用于設置碰撞體在對象局部坐標的中心
Suspension Spring 懸掛彈簧 用于設置碰撞體通過添加彈簧和阻尼外力使得懸掛達到目標位置
Forward Friction 向前摩擦力 當輪胎向前滾動時的摩擦力屬性
Sideways Friction 側向摩擦力 當輪胎側向滾動時的摩擦力屬性

精美而實用的網站,提供C語言C++STLLinuxShellJavaGo語言等教程,以及socketGCCviSwing設計模式JSP等專題。

Copyright ?2011-2018 biancheng.net, 陜ICP備15000209號

底部Logo