动态刚体类型是 2D 刚体最常见的刚体类型。
| 属性 | 功能 |
|---|---|
| Body Type | 选择此选项可设置此 2D 刚体组件设置的运动行为和 2D 碰撞体交互。 |
| Dynamic | 选择此选项可将此 2D 刚体设置为动态刚体类型 (Dynamic Body Type),该类型旨在模拟系统中进行移动,并具有所有可用 2D 刚体属性。该类型是 2D 刚体的默认刚体类型。 |
| Kinematic | 选择此选项可将此 2D 刚体设置为运动 (Kinematic) 刚体类型,该类型旨在模拟系统中进行移动,但仅在用户非常明确的控制下进行。请参阅刚体类型:运动以了解更多信息。 |
| Static | 选择此选项可将此 2D 刚体设置为静态 (Static) 刚体类型,该类型旨在模拟系统中完全不进行移动,其行为类似于具有无限质量的不可移动对象。请参阅刚体类型:静态以了解更多信息。 |
| Material | 为附加到此 2D 刚体的所有 2D 碰撞体设置通用物理材质。注意:2D 碰撞体使用自己的 Material 属性(如果已设置)。如果此处或在 2D 碰撞体中未指定材质,则默认选项为 None (Physics Material 2D)。这种情况下使用可在 2D 物理 (Physics 2D) 窗口中设置的默认材质。 |
| Simulated | 启用 Simulated 以使 2D 刚体以及所有附加的 2D 碰撞体和 2D 关节在运行时与物理模拟系统交互。如果禁用此功能,这些组件不会与模拟系统进行交互。请参阅 2D 刚体属性:模拟以了解更多信息。默认情况下会启用此属性。 |
| Use Auto Mass | 启用此刚体以使 2D 刚体从其 2D 碰撞体中自动检测游戏对象的质量。 |
| Mass | 定义 2D 刚体的质量。如果已启用 Use Auto Mass,此属性将显示灰色。 |
| Linear Drag | 设置会影响位置移动的阻力系数。 |
| Angular Drag | 设置会影响旋转移动的阻力系数。 |
| Gravity Scale | 定义游戏对象受重力影响的程度。 |
| Collision Detection | 定义如何检测 2D 碰撞体之间的碰撞。 |
| Discrete | 选择此选项可使具有 2D 刚体和 2D 碰撞体的游戏对象在物理更新期间进行重叠或穿过彼此(如果移动得足够快)。仅会在新位置生成碰撞触点。 |
| Continuous | 选择此选项可确保具有 2D 刚体和 2D 碰撞体的游戏对象在物理更新期间不会穿过彼此。相反,Unity 会计算 2D 碰撞体的第一个影响点,并将游戏对象移动到该点。注意:此选项会比 Discrete 选项耗费更多 CPU 时间。 |
| Sleeping Mode | 定义游戏对象如何在处于静止状态时“睡眠”以节省处理器时间。 |
| Never Sleep | 选择此选项可禁用睡眠。重要信息:应尽可能避免此设置,否则会影响系统资源。 |
| Start Awake | 选择此选项可使游戏对象初步唤醒。 |
| Start Asleep | 选择此选项可使游戏对象初步进入睡眠状态,但可通过碰撞唤醒。 |
| Interpolate | 定义如何在物理更新间隔之间插入游戏对象的移动。提示:运动趋于颠簸状态时,此操作很有用。 |
| None | 选择此选项可不应用运动平滑。 |
| Interpolate | 选择此选项可根据游戏对象在先前帧中的位置来平滑移动。 |
| Extrapolate | 选择此选项可根据游戏对象在下一帧中的预计位置来平滑移动。 |
| Constraints | 定义对 2D 刚体运动的任何限制。 |
| Freeze Position | 选择性停止 2D 刚体沿世界 x 和 y 轴的移动。 |
| Freeze Rotation | 选择性停止 2D 刚体围绕世界 z 轴的旋转。 |
| Layer Overrides | 展开图层覆盖设置。 |
| Include Layers | 决定是否与另一个 Collider2D 发生碰撞时,选择所有附加到此 2D 刚体上的 Collider2D 应包含的其他层。请参阅 Rigidbody2D-includeLayers 以了解更多信息。 |
| Exclude Layers | 决定是否与另一个 Collider2D 发生碰撞时,选择所有附加到此 2D 刚体上的 Collider2D 应排除的其他层。请参阅Rigidbody2D-excludeLayers 以了解更多信息。 |
注意:请勿使用变换组件来设置动态 (Dynamic) 2D 刚体的位置或旋转。模拟系统会根据动态 (Dynamic) 2D 刚体的速度对该刚体重新定位;可以通过脚本施加于刚体的力来直接更改此值,也可以通过碰撞和重力来间接更改此值。