Unity2DUnity游戏开发

Physics Reference 2D--Collider 2

2018-12-19  本文已影响26人  夜行水寒

  Collider 2D组件定义了2D GameObject的形状以便来实现碰撞的目的。对撞机是看不见的,不必与 GameObject的网格完全相同的形状 ; 实际上,粗略的近似通常更有效,并且在游戏玩法中难以区分。
可与Rigidbody一起使用的Collider 2D类型 2D:

Circle Collider 2D

圆形碰撞器,在一个精灵的局部坐标空间中有一个确定的位置和半径。


Circle Collider 2D.png

Box Collider 2D

矩形碰撞器,在Sprite的局部坐标空间中定义了位置,宽度和高度。请注意,矩形是轴对齐的 - 也就是说,它的边与本地空间的X或Y轴平行。


Box Collider 2D.png

说明:当您启用Composite by Composite时,其他属性将从Box Collider 2D组件中消失,因为它们现在由附加的Composite Collider 2D控制。从Box Collider 2D中消失的属性是Material,Is Trigger,Effect by Effector和Edge Radius。

Polygon Collider 2D

多边形碰撞器的形状通过由线段的自由边缘限定,这样就可以调节它以适合的形状的Sprite图形。


Polygon Collider 2D.png

Edge Collider 2D

边缘碰撞器的形状通过由线段的自由边缘限定,这样就可以调节它以适合的形状的Sprite图形,非常精确。请注意,此碰撞器的边缘不需要完全包围区域(与Polygon Collider 2D不同),例如可以是直线或L形。

Edge Collider 2D.png
相关操作:Shift键+鼠标左键 创建point或移动point
Ctrl(Windows)或Cmd(macOS)键+鼠标左键 删除point

Capsule Collider 2D

胶囊碰撞器形状没有顶角; 它有一个连续的圆周,不容易被其他对撞机角落抓住。胶囊形状是实心的,因此完全位于胶囊内部的任何其他Collider 2D被认为与胶囊接触并且随着时间的推移被迫离开胶囊。


Capsule Collider 2D.png

说明:定义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控制。

Composite Collider 2D.png

Outlines:生成具有空心轮廓的对撞机2D,与Edge对撞机2D的结果相同。
Polygons:生成一个具有实体多边形的碰撞器2D,与2D产生的多边形碰撞器相同。

Synchronous:当对复合碰撞器2D或它使用的任何碰撞器进行更改时,Unity立即生成新的几何图形。
Manual:新的几何生成只有在您请求它时才会发生。要请求生成,可以调用Composite Collider 2D。或单击选择项下出现的“重新生成几何(Regenerate Geometry)”按钮。

总结:

记录了几种常用的碰撞体,常常使用的还是前面两种Circle Collider 2D,Box Collider 2D;实际上最好用的是Edge Collider 2D,原因无他,比较节约性能而已,当只需要创建某一面的碰撞体时绝对要选Edge Collider 2D。至于Composite Collider 2D暂时用的不是很多,也就不是很熟悉,后期有用到再来补坑!!!

就是这样,我还会回来的!.png
上一篇 下一篇

猜你喜欢

热点阅读