Unity之碰撞體元件

2022-05-16 22:02:30 字數 1516 閱讀 8752

碰撞體是物理元件中的一類,3d物理元件和2d物理元件有獨特的碰撞體元件,它要與剛體一起新增到遊戲物件上才能觸發碰撞。如果兩個剛體相互撞在一起,除非兩個物件有碰撞體時物理引擎才會計算碰撞,在物理模擬中,沒有碰撞體的剛體會彼此相互穿過。

在3d物理元件中新增碰撞體的方法:首先選中乙個遊戲物件,然後依次選擇選單欄component→physics命令,可選擇不同的碰撞體型別,這樣就在該物件上新增了碰撞體元件。

盒碰撞體是乙個立方體外形的基本碰撞體。該碰撞體可以調整為不同大小的長方體,可用作門、牆及平台等,也可用於布娃娃的角色軀幹或者汽車等交通工具的外殼,當然最適合用在盒子或箱子上。

球形碰撞體是乙個基本球體的基本碰撞體。球形碰撞體的三維大小可以均勻地調節,但不能單獨調節某個座標軸方向的大小,該碰撞體適用於落石、桌球等遊戲物件。

膠囊碰撞體由乙個圓柱體和與其相連的兩個半球體組成,是乙個膠囊形狀的基本碰撞體。膠囊碰撞體的半徑和高度都可以單獨調節,可用在角色控制器或與其他不規則形狀的碰撞結合來使用。unity中的角色控制器通常內嵌了膠囊碰撞體。

網格碰撞體通過獲取網格物件並在其基礎上構建碰撞,與在複雜網格模型上使用基本碰撞體相比,網格碰撞體要更加精細,但會占用更多的系統資源。開啟convex引數的網格碰撞體才可以與其他的網格碰撞體發生碰撞。

網格碰撞體按照所附加物件的transform元件屬性來設定碰撞體的位置和大小比例。碰撞網格使用背面效應方式,如果乙個物件與乙個採用背面效應的網格在視覺上相碰撞的話,那麼他們並不會在物理上發生碰撞。使用網格碰撞體有一些限制的條件:通常兩個網格碰撞體之間並不會發生碰撞,但所有的網格碰撞體都可與基本碰撞體發生碰撞。如果碰撞體的convex引數設為開啟,則它也會與其他的網格碰撞體發生碰撞。需要注意的是,只有當網格碰撞體的三角數量少於255時,convex引數才會生效。

車輪碰撞體是一種針對地面車輛的特殊碰撞體。它有內建的碰撞檢測、車輪物理系統及有滑胎摩擦的參考體。除了車輪,該碰撞體也可用於其他的遊戲物件。

forward friction:向前摩擦力。當輪胎向前滾動時的摩擦力屬性。

sideways friction:側向摩擦力。當輪胎側向滾動時的摩擦力屬性。

車輪的碰撞檢測是通過從區域性座標y軸向上投射一條射線來實現的。車輪有乙個通過懸掛距離向下延伸的半徑,可通過指令碼中不同的屬性值來對車輛進行控制。這些屬性值有motortorque(發動機轉矩)、braketorque(制動轉矩)和steerangle**向角)。車輪碰撞體育物理引擎的其餘部分相比,是通過乙個基於滑動摩擦力的參考體來單獨計算摩擦力的。這會產生更真實的互動行為,但是車輪碰撞體就不受物理材質的影響了。

① 車輪碰撞體的設定:不需要通過調轉或滾動待有車輪碰撞體的遊戲物件來控制車輛,因為繫結了車輪碰撞體的遊戲物件其但相對於汽車而言本身是固定的。然而若要調轉或滾動車輪的話,最好的方法就是將車輪碰撞體和可見的車輪分開來設定。

② 碰撞體的幾何結構:由於行駛的車輛具有一定的速度,因此建立合理的賽道碰撞集合體就顯得尤為重要。特別是組成不可見模型的碰撞網格不應當出現小的凹凸不平現象。一般賽道的碰撞網格可以分開來製作,這樣會更加平滑。

地形碰撞器是基於地形構建的碰撞體。

文章摘自《unity官方案例精講》

unity 碰撞體元件,剛體元件,觸發事件

碰撞體元件用來檢測碰撞 collider 有box sphere capsule mesh等。表示不同形狀 流程 將碰撞體元件新增到物體上,調整包圍盒的大小,再通過 檢測碰撞。產生碰撞的條件 1.兩個物體都有碰撞體元件 2.至少乙個物體帶有剛體元件 rigidbody 3.兩個物體相對運動導致包圍盒...

Unity筆記 靜態碰撞體的陷阱

靜態碰撞體 static collider 物體勾選為靜態static,有collider元件,無rigidbody元件。unity在遊戲初始化時,會把所有的靜態碰撞體合併為乙個很大的collider,unity會認為這些物體在遊戲中是不能移動的。但是若在遊戲中不小心移動了這些靜態碰撞體的位置 它們...

Unity指令碼初探 三 碰撞體使用

unity引擎觸發器系統有三個屬性 collider trigger rigibody。碰撞體和觸發器一般相關使用,在碰撞體collier元件下選中is trigger,即可使用觸發器trigger。1 碰撞 觸發 條件 碰撞的兩方都帶有collier,引發一方帶有rigibody,觸發器一方勾選了...