??Collider 2D組件定義了2D GameObject的形狀以便來實現(xiàn)碰撞的目的。對撞機是看不見的,不必與 GameObject的網(wǎng)格完全相同的形狀 ; 實際上,粗略的近似通常更有效,并且在游戲玩法中難以區(qū)分。
可與Rigidbody一起使用的Collider 2D類型 2D:
- Circle Collider 2D用于圓形碰撞區(qū)域。
- Box Collider 2D用于方形和矩形碰撞區(qū)域。
- Polygon Collider 2D用于自由形式的碰撞區(qū)域。
- Edge Collider 2D用于自由形式的碰撞區(qū)域和未完全封閉的區(qū)域(例如圓角凸角)。
- Capsule Collider 2D用于圓形或菱形碰撞區(qū)域。
- 用于合并Box Collider 2Ds和Polygon Collider 2Ds 的Composite Collider 2D。
Circle Collider 2D
圓形碰撞器,在一個精靈的局部坐標空間中有一個確定的位置和半徑。

- Material:一種決定碰撞特性的物理材料,例如摩擦和彈跳。
- Is Trigger:是否表現(xiàn)為一個觸發(fā)器。
- Used by Effector:勾選后,附加的效應(yīng)器2D將使用圓形碰撞器2D。
- Offset:圓形碰撞器2D幾何體的局部偏移。
- Radius:局部空間單位中圓的半徑。
Box Collider 2D
矩形碰撞器,在Sprite的局部坐標空間中定義了位置,寬度和高度。請注意,矩形是軸對齊的 - 也就是說,它的邊與本地空間的X或Y軸平行。

- Used by Composite:如果您希望連接的Composite Collider 2D使用此Collider,請勾選此復(fù)選框。
說明:當您啟用Composite by Composite時,其他屬性將從Box Collider 2D組件中消失,因為它們現(xiàn)在由附加的Composite Collider 2D控制。從Box Collider 2D中消失的屬性是Material,Is Trigger,Effect by Effector和Edge Radius。
- Auto Tiling 如果Sprite Renderer勾選此復(fù)選框組件中所選的Sprite將繪圖模式設(shè)置為Tiled。這樣可以自動更新Collider 2D的形狀,這意味著當Sprite的尺寸發(fā)生變化時,會自動重新調(diào)整形狀。如果未啟用“ 自動平鋪”,則Collider 2D幾何體不會自動重復(fù)。
- Size:在局部空間設(shè)置Box的大小
- Edge Radius:控制邊緣周圍的半徑,使頂點為圓形。這導(dǎo)致更大的Collider 2D具有圓角凸角。此設(shè)置的默認值為0(無半徑)。
說明:其他屬性同Circle Collider 2D
Polygon Collider 2D
多邊形碰撞器的形狀通過由線段的自由邊緣限定,這樣就可以調(diào)節(jié)它以適合的形狀的Sprite圖形。

- Points:有關(guān)生成的Collider復(fù)雜性的不可編輯信息。(實際上就是相關(guān)點的個數(shù)以及坐標信息)
說明:其他屬性同Circle Collider 2D
Edge Collider 2D
邊緣碰撞器的形狀通過由線段的自由邊緣限定,這樣就可以調(diào)節(jié)它以適合的形狀的Sprite圖形,非常精確。請注意,此碰撞器的邊緣不需要完全包圍區(qū)域(與Polygon Collider 2D不同),例如可以是直線或L形。

相關(guān)操作:Shift鍵+鼠標左鍵 創(chuàng)建point或移動point
Ctrl(Windows)或Cmd(macOS)鍵+鼠標左鍵 刪除point
Capsule Collider 2D
膠囊碰撞器形狀沒有頂角; 它有一個連續(xù)的圓周,不容易被其他對撞機角落抓住。膠囊形狀是實心的,因此完全位于膠囊內(nèi)部的任何其他Collider 2D被認為與膠囊接觸并且隨著時間的推移被迫離開膠囊。

- Size:使用它來定義框大小。此框定義膠囊碰撞器2D填充的區(qū)域。
- Direction:將其設(shè)置為垂直或水平。這控制了膠囊組的哪個方向:具體地說,它定義了半圓形端蓋的定位。
說明:定義Capsule Collider 2D的設(shè)置是Size和Direction?!按笮 焙汀胺较颉睂傩跃改z囊碰撞器2D的局部空間中的X和Y(分別為水平和垂直),而不是世界空間。
設(shè)置Capsule Collider 2D的典型方法是將Size設(shè)置為與Direction相匹配。例如,如果膠囊撞機2D的垂直方向是水平方向的2倍大?。籜是0.5和Y是1,這使得垂直方向膠囊更高,而不是寬。當Size屬性的X和Y相同時,Capsule Collider 2D始終近似為圓。
注意:物理引擎(包括Box 2D)中的一個已知問題是移動多個碰撞器(甚至是數(shù)學(xué)上完美對齊的碰撞器)會導(dǎo)致一個或兩個碰撞器記錄其他碰撞器。這可能導(dǎo)致對撞機減速或停止。雖然Capsule Collider 2D可以幫助減少這個問題,但它不是解決方案。更好的解決方案是在表面上使用單個對撞機; 例如,Edge Collider 2D。
Composite Collider 2D
復(fù)合材質(zhì)碰撞器與大多數(shù)碰撞器不同,它沒有定義固有的形狀。相反,它合并了任何Box Collider 2D的形狀或者您設(shè)置使用的Polygon Collider 2D。Composite Collider 2D使用來自這些碰撞器的頂點(幾何),并將它們合并為由Composite Collider 2D本身控制的新幾何體。
說明:Box Collider 2D和Polygon Collider 2D組件具有“Used by Composite”復(fù)選框。勾選此復(fù)選框可將它們附加到Composite Collider 2D。這些碰撞器也必須連接到與Composite Collider 2D 相同的Rigidbody 2D。當您啟用Composite by Composite時,其他屬性將從該組件中消失,因為它們現(xiàn)在由附加的Composite Collider 2D控制。

- Density:改變密度來改變游戲?qū)ο蟮南嚓P(guān)剛體2D的質(zhì)量計算。如果將該值設(shè)置為0,則其關(guān)聯(lián)剛體2D在所有質(zhì)量計算(包括質(zhì)量中心計算)中都將忽略Collider 2D。請注意,只有在啟用關(guān)聯(lián)剛體2D組件中的Use Auto Mass時,該選項才可用。
- Geometry Type:幾何類型;合并碰撞器時,所選碰撞器中的頂點被組合成兩種不同的幾何類型之一。使用此下拉菜單可將幾何類型設(shè)置為大綱或多邊形。
Outlines:生成具有空心輪廓的對撞機2D,與Edge對撞機2D的結(jié)果相同。
Polygons:生成一個具有實體多邊形的碰撞器2D,與2D產(chǎn)生的多邊形碰撞器相同。
- Generation Type:用于控制Composite Collider 2D或其組成的任何碰撞器發(fā)生更改時生成幾何圖形的方法。
Synchronous:當對復(fù)合碰撞器2D或它使用的任何碰撞器進行更改時,Unity立即生成新的幾何圖形。
Manual:新的幾何生成只有在您請求它時才會發(fā)生。要請求生成,可以調(diào)用Composite Collider 2D?;騿螕暨x擇項下出現(xiàn)的“重新生成幾何(Regenerate Geometry)”按鈕。
- Vertex Distance:設(shè)置一個值,該值用于組合碰撞器收集的任何頂點的最小間距。任何比這個極限更近的頂點都被移除。這允許控制頂點合成的有效分辨率。
- Edge Radius:控制邊緣周圍的半徑,使頂點為圓形。這導(dǎo)致一個更大的碰撞二維與圓角凸角。這個設(shè)置的默認值是0(沒有半徑)。這只在幾何類型設(shè)置為outline時有效。
總結(jié):
記錄了幾種常用的碰撞體,常常使用的還是前面兩種Circle Collider 2D,Box Collider 2D;實際上最好用的是Edge Collider 2D,原因無他,比較節(jié)約性能而已,當只需要創(chuàng)建某一面的碰撞體時絕對要選Edge Collider 2D。至于Composite Collider 2D暫時用的不是很多,也就不是很熟悉,后期有用到再來補坑?。。?/p>
