Collider 2D组件定义了2D GameObject的形状以便来实现碰撞的目的。对撞机是看不见的,不必与 GameObject的网格完全相同的形状 ; 实际上,粗略的近似通常更有效,并且在游戏玩法中难以区分。
可与Rigidbody一起使用的Collider 2D类型 2D:
- Circle Collider 2D用于圆形碰撞区域。
- Box Collider 2D用于方形和矩形碰撞区域。
- Polygon Collider 2D用于自由形式的碰撞区域。
- Edge Collider 2D用于自由形式的碰撞区域和未完全封闭的区域(例如圆角凸角)。
- Capsule Collider 2D用于圆形或菱形碰撞区域。
- 用于合并Box Collider 2Ds和Polygon Collider 2Ds 的Composite Collider 2D。
Circle Collider 2D
圆形碰撞器,在一个精灵的局部坐标空间中有一个确定的位置和半径。
- Material:一种决定碰撞特性的物理材料,例如摩擦和弹跳。
- Is Trigger:是否表现为一个触发器。
- Used by Effector:勾选后,附加的效应器2D将使用圆形碰撞器2D。
- Offset:圆形碰撞器2D几何体的局部偏移。
- Radius:局部空间单位中圆的半径。
Box Collider 2D
矩形碰撞器,在Sprite的局部坐标空间中定义了位置,宽度和高度。请注意,矩形是轴对齐的 - 也就是说,它的边与本地空间的X或Y轴平行。
- Used by Composite:如果您希望连接的Composite Collider 2D使用此Collider,请勾选此复选框。
说明:当您启用Composite by Composite时,其他属性将从Box Collider 2D组件中消失,因为它们现在由附加的Composite Collider 2D控制。从Box Collider 2D中消失的属性是Material,Is Trigger,Effect by Effector和Edge Radius。
- Auto Tiling 如果Sprite Renderer勾选此复选框组件中所选的Sprite将绘图模式设置为Tiled。这样可以自动更新Collider 2D的形状,这意味着当Sprite的尺寸发生变化时,会自动重新调整形状。如果未启用“ 自动平铺”,则Collider 2D几何体不会自动重复。
- Size:在局部空间设置Box的大小
- Edge Radius:控制边缘周围的半径,使顶点为圆形。这导致更大的Collider 2D具有圆角凸角。此设置的默认值为0(无半径)。
说明:其他属性同Circle Collider 2D
Polygon Collider 2D
多边形碰撞器的形状通过由线段的自由边缘限定,这样就可以调节它以适合的形状的Sprite图形。
- Points:有关生成的Collider复杂性的不可编辑信息。(实际上就是相关点的个数以及坐标信息)
说明:其他属性同Circle Collider 2D
Edge Collider 2D
边缘碰撞器的形状通过由线段的自由边缘限定,这样就可以调节它以适合的形状的Sprite图形,非常精确。请注意,此碰撞器的边缘不需要完全包围区域(与Polygon Collider 2D不同),例如可以是直线或L形。
相关操作:Shift键+鼠标左键 创建point或移动point
Ctrl(Windows)或Cmd(macOS)键+鼠标左键 删除point
Capsule Collider 2D
胶囊碰撞器形状没有顶角; 它有一个连续的圆周,不容易被其他对撞机角落抓住。胶囊形状是实心的,因此完全位于胶囊内部的任何其他Collider 2D被认为与胶囊接触并且随着时间的推移被迫离开胶囊。
- Size:使用它来定义框大小。此框定义胶囊碰撞器2D填充的区域。
- Direction:将其设置为垂直或水平。这控制了胶囊组的哪个方向:具体地说,它定义了半圆形端盖的定位。
说明:定义Capsule Collider 2D的设置是Size和Direction。“大小”和“方向”属性均指胶囊碰撞器2D的局部空间中的X和Y(分别为水平和垂直),而不是世界空间。
设置Capsule Collider 2D的典型方法是将Size设置为与Direction相匹配。例如,如果胶囊撞机2D的垂直方向是水平方向的2倍大小;X是0.5和Y是1,这使得垂直方向胶囊更高,而不是宽。当Size属性的X和Y相同时,Capsule Collider 2D始终近似为圆。
注意:物理引擎(包括Box 2D)中的一个已知问题是移动多个碰撞器(甚至是数学上完美对齐的碰撞器)会导致一个或两个碰撞器记录其他碰撞器。这可能导致对撞机减速或停止。虽然Capsule Collider 2D可以帮助减少这个问题,但它不是解决方案。更好的解决方案是在表面上使用单个对撞机; 例如,Edge Collider 2D。
Composite Collider 2D
复合材质碰撞器与大多数碰撞器不同,它没有定义固有的形状。相反,它合并了任何Box Collider 2D的形状或者您设置使用的Polygon Collider 2D。Composite Collider 2D使用来自这些碰撞器的顶点(几何),并将它们合并为由Composite Collider 2D本身控制的新几何体。
说明:Box Collider 2D和Polygon Collider 2D组件具有“Used by Composite”复选框。勾选此复选框可将它们附加到Composite Collider 2D。这些碰撞器也必须连接到与Composite Collider 2D 相同的Rigidbody 2D。当您启用Composite by Composite时,其他属性将从该组件中消失,因为它们现在由附加的Composite Collider 2D控制。
- Density:改变密度来改变游戏对象的相关刚体2D的质量计算。如果将该值设置为0,则其关联刚体2D在所有质量计算(包括质量中心计算)中都将忽略Collider 2D。请注意,只有在启用关联刚体2D组件中的Use Auto Mass时,该选项才可用。
- Geometry Type:几何类型;合并碰撞器时,所选碰撞器中的顶点被组合成两种不同的几何类型之一。使用此下拉菜单可将几何类型设置为大纲或多边形。
Outlines:生成具有空心轮廓的对撞机2D,与Edge对撞机2D的结果相同。
Polygons:生成一个具有实体多边形的碰撞器2D,与2D产生的多边形碰撞器相同。
- Generation Type:用于控制Composite Collider 2D或其组成的任何碰撞器发生更改时生成几何图形的方法。
Synchronous:当对复合碰撞器2D或它使用的任何碰撞器进行更改时,Unity立即生成新的几何图形。
Manual:新的几何生成只有在您请求它时才会发生。要请求生成,可以调用Composite Collider 2D。或单击选择项下出现的“重新生成几何(Regenerate Geometry)”按钮。
- Vertex Distance:设置一个值,该值用于组合碰撞器收集的任何顶点的最小间距。任何比这个极限更近的顶点都被移除。这允许控制顶点合成的有效分辨率。
- Edge Radius:控制边缘周围的半径,使顶点为圆形。这导致一个更大的碰撞二维与圆角凸角。这个设置的默认值是0(没有半径)。这只在几何类型设置为outline时有效。
总结:
记录了几种常用的碰撞体,常常使用的还是前面两种Circle Collider 2D,Box Collider 2D;实际上最好用的是Edge Collider 2D,原因无他,比较节约性能而已,当只需要创建某一面的碰撞体时绝对要选Edge Collider 2D。至于Composite Collider 2D暂时用的不是很多,也就不是很熟悉,后期有用到再来补坑!!!