Unity 3D 碰撞體(Collider)

2020-07-14 10:51 更新

在游戲制作過(guò)程中,游戲?qū)ο笠鶕?jù)游戲的需要進(jìn)行物理屬性的交互。

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

碰撞體是簡(jiǎn)單形狀,如方塊、球形或者膠囊形,在 Unity 3D 中每當(dāng)一個(gè) GameObjects 被創(chuàng)建時(shí),它會(huì)自動(dòng)分配一個(gè)合適的碰撞器。

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

添加碰撞體

在 Unity 3D 的物理組件使用過(guò)程中,碰撞體需要與剛體一起添加到游戲?qū)ο笊喜拍苡|發(fā)碰撞。

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

碰撞體的添加方法是:首先選中游戲?qū)ο?,?zhí)行菜單欄中的 ComponentPhysics 命令,此時(shí)可以為游戲?qū)ο筇砑硬煌?lèi)型的碰撞體。

碰撞體選項(xiàng)設(shè)置

Unity 3D 為游戲開(kāi)發(fā)者提供了多種類(lèi)型的碰撞體資源,如下圖所示。當(dāng)游戲?qū)ο笾械?Rigidbody 碰撞體組件被添加后,其屬性面板中會(huì)顯示相應(yīng)的屬性設(shè)置選項(xiàng),每種碰撞體的資源類(lèi)型稍有不同。

  • Box Collider

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

一般游戲?qū)ο笸哂?Box Collider 屬性,如墻壁、門(mén)、墻以及平臺(tái)等,也可以用于布娃娃的角色軀干或者汽車(chē)等交通工具的外殼,當(dāng)然最適合用在盒子或是箱子上。

下圖所示是 Box Collider,游戲?qū)ο笠坏┨砑恿?Box Collider 屬性,則在 Inspector 面板中就會(huì)出現(xiàn)對(duì)應(yīng)的 Box Collider 屬性參數(shù)設(shè)置。

參 數(shù) 含義 描述
Is Trigger 觸發(fā)器 勾選該項(xiàng),則該碰撞體可用于觸發(fā)事件,并將被物理引擎所忽略。
Material 材質(zhì) 為碰撞體設(shè)置不同類(lèi)型的材質(zhì)。
Center 中心 碰撞體在對(duì)象局部坐標(biāo)中的位置。
Size 大小 碰撞體在X、Y、Z方向上的大小。

如果 Is Trigger 選項(xiàng)被勾選,該對(duì)象一旦發(fā)生碰撞動(dòng)作,則會(huì)產(chǎn)生 3 個(gè)碰撞信息并發(fā)送給腳本參數(shù),分別是 OnTriggerEnter、OnTriggerExit、OnTriggerStay。

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

  • Sphere Collider

Sphere Collider 是球體形狀的碰撞體。

Sphere Collider 是一個(gè)基于球體的基本碰撞體,Sphere Collider 的三維大小可以按同一比例調(diào)節(jié),但不能單獨(dú)調(diào)節(jié)某個(gè)坐標(biāo)軸方向的大小,具體參數(shù)如下表所示。

參 數(shù) 含義 描述
Is Trigger 觸發(fā)器 勾選該項(xiàng),則該碰撞體可用于觸發(fā)事件,并將被物理引擎所忽略。
Material 材質(zhì) 為碰撞體設(shè)置不同類(lèi)型的材質(zhì)。
Center 中心 碰撞體在對(duì)象局部坐標(biāo)中的位置。
Radius 半徑 設(shè)置球形碰撞體的大小。

當(dāng)游戲?qū)ο蟮奈锢硇螤钍乔蝮w時(shí),則使用球體碰撞體,如落石、乒乓球等游戲?qū)ο蟆?/p>

  • Capsule Collider

Capsule Collider 由一個(gè)圓柱體盒兩個(gè)半球組合而成,Capsule Collider 的半徑和高度都可以單獨(dú)調(diào)節(jié),可用在角色控制器或與其他不規(guī)則形狀的碰撞結(jié)合來(lái)使用。

通常添加至 CharacterNPC 等對(duì)象的碰撞屬性,如下圖所示。

參 數(shù) 含義 描述
Is Trigger 觸發(fā)器 勾選該項(xiàng),則該碰撞體可用于觸發(fā)事件,并將被物理引擎所忽略。
Material 材質(zhì) 為碰撞體設(shè)置不同類(lèi)型的材質(zhì)。
Center 中心 碰撞體在對(duì)象局部坐標(biāo)中的位置。
Radius 半徑 設(shè)置球形碰撞體的大小。
Height 局度 控制碰撞體中圓柱的高度。
Direction 方向 設(shè)置在對(duì)象的局部坐標(biāo)中膠囊體的縱向所對(duì)應(yīng)的坐標(biāo)軸,默認(rèn)是Y軸。

  • Mesh Collider

Mesh Collider(網(wǎng)格碰撞體)根據(jù) Mesh 形狀產(chǎn)生碰撞體,比起 Box Collider、Sphere ColliderCapsule Collider,Mesh Collider 更加精確,但會(huì)占用更多的系統(tǒng)資源。

專(zhuān)門(mén)用于復(fù)雜網(wǎng)格所生成的模型。

參 數(shù) 含義 描述
Convex 凸起 勾選該項(xiàng),則Mesh Collider將會(huì)與其他的Mesh Collider發(fā)生碰撞。
Material 材質(zhì) 為碰撞體設(shè)置不同類(lèi)型的材質(zhì)。
Mesh 網(wǎng)格 獲取游戲?qū)ο蟮木W(wǎng)格并將其作為碰撞體。

  • Wheel Collider

Wheel Collider(車(chē)輪碰撞體)是一種針對(duì)地面車(chē)輛的特殊碰撞體,自帶碰撞偵測(cè)、輪胎物理現(xiàn)象和輪胎模型,專(zhuān)門(mén)用于處理輪胎。

參 數(shù) 含義 描述
Mass 質(zhì)量 用于設(shè)置 Wheel Collider 的質(zhì)量。
Radius 半徑 用于設(shè)置碰撞體的半徑大小。
Wheel Damping Rate 車(chē)輪減震率 用于設(shè)置碰撞體的減震率。
Suspension Distance 懸掛距離 該項(xiàng)用于設(shè)置碰撞體懸掛的最大伸長(zhǎng)距離,按照局部坐標(biāo)來(lái)計(jì)算, 懸掛總是通過(guò)其局部坐標(biāo)的 Y 軸延伸向下。
Center 中心 用于設(shè)置碰撞體在對(duì)象局部坐標(biāo)的中心。
Suspension Spring 懸掛彈簧 用于設(shè)置碰撞體通過(guò)添加彈簧和阻尼外力使得懸掛達(dá)到目標(biāo)位置。
Forward Friction 向前摩擦力 當(dāng)輪胎向前滾動(dòng)時(shí)的摩擦力屬性。
Sideways Friction 當(dāng)輪胎側(cè)向滾動(dòng)時(shí)的摩擦力屬性。
Wheel Damping Rate 車(chē)輪減震率 用于設(shè)置碰撞體的減震率。
Wheel Damping Rate 車(chē)輪減震率 用于設(shè)置碰撞體的減震率。
以上內(nèi)容是否對(duì)您有幫助:
在線(xiàn)筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)