Unity3D:2D 胶囊碰撞体

推荐:将NSDT场景编辑器加入你的3D工具链
3D工具集:NSDT简石数字孪生
2D 胶囊碰撞体 (Capsule Collider 2D)
胶囊对撞机 2D 是与 2D 物理系统交互的对撞机。胶囊形状没有顶角,具有连续的圆形圆周。这种形状使胶囊对撞机 2D 不容易被其他对撞机的角落夹住。胶囊形状被认为是实心的,而不是空心的,这意味着胶囊碰撞体 2D 内部的任何其他碰撞体 2D 都被视为与碰撞体接触,并随着时间的推移被迫退出。

属性 | 功能 |
---|---|
Material | 使用此属性来定义 2D 胶囊碰撞体使用的物理材质。此材质将覆盖所有 2D 刚体或全局物理碰撞体。 |
Is Trigger | 选中此框可指定 2D 胶囊碰撞体将触发事件。如果选中此框,物理引擎会忽略此碰撞体。 |
Used by Effector | 选中此框可指定附加的效应器将使用此 2D 胶囊碰撞体。 |
Offset | 使用此属性来设置 2D 胶囊碰撞体几何形状的局部偏移。 |
Size | 使用此属性来定义盒体大小。此盒体可指定 2D 胶囊碰撞体将填充的区域。 |
Direction | 将此属性设置为 Vertical 或 Horizontal。此属性控制围绕胶囊体的方向:具体而言,它定义了半圆形端盖的定位。 |
定义胶囊碰撞体 2D 的设置是大小和方向。“大小”和“方向”属性都是指胶囊碰撞体 2D 的局部空间中的 X 和 Y(分别为水平和垂直),而不是世界空间中的 X和Y。
设置胶囊碰撞体 2D 的典型方法是设置大小以匹配方向。例如,如果胶囊碰撞体 2D 的方向为垂直,X 的大小为 0.5,Y 的大小为 1,这将使垂直方向的胶囊更高,而不是更宽。
在下面的示例中,X 和 Y 由黄线表示。

胶囊体配置示例
可使用不同的配置来更改 2D 胶囊碰撞体。以下是一些示例。
请注意,当 Size 属性的 X 和 Y 相同时,胶囊碰撞体 2D 始终近似于一个圆。

注意:2D 物理系统中的一个已知问题是,当游戏对象在多个碰撞体之间移动时,一个或多个碰撞体可能会记录碰撞体之间的碰撞。即使碰撞体完全对齐,也可能发生这种情况。这种碰撞可能导致碰撞体减速或停止。
虽然使用 2D 胶囊碰撞体构建表面有助于减少此问题,但建议对一个表面使用单个碰撞体而不是多个碰撞体,例如边缘碰撞体 2D。
此文由3D建模学习工作室整理翻译,转载请注明出处!