Version: 5.6
铰链关节
刚体

网格碰撞体 (Mesh Collider)

Mesh Collider 采用网格资源并基于该网格构建其碰撞体。在进行碰撞检测时,Mesh Collider 比使用复杂网格的基元要准确得多。标记为 Convex 的 Mesh Collider 可与其他 Mesh Collider 发生碰撞。

属性

属性 功能
Is Trigger 如果启用此属性,则该碰撞体将用于触发事件,并被物理引擎忽略。
Material 引用物理材质,可确定该碰撞体与其他对象的交互方式。
Mesh 引用需要用于碰撞的网格。
Convex 勾选此复选框可启用 Convex。如果启用此属性,该 Mesh Collider 将与其他 Mesh Collider 发生碰撞。Convex Mesh Collider 最多 255 个三角形。

详细信息

Mesh Collider 从附加到游戏对象的网格构建其碰撞表示,并读取附加的变换组件的属性以正确设置其位置和缩放。这样做的好处是可以使碰撞体的形状与游戏对象可见网格的形状完全相同,从而产生更精确和真实的碰撞。但是,伴随这种精度的不足之处是,与涉及原始碰撞体(例如球体、盒体和胶囊体)的碰撞相比,处理开销会更高,因此最好谨慎使用 Mesh Collider。

碰撞网格中的面为单面。这意味着,对象可从一个方向穿过这些面,但从另一个方向会与这些面碰撞。

使用 Mesh Collider 时有一些限制:

  • Mesh Colliders that do not have Convex enabled are only supported on GameObjects without a Rigidbody component. To apply a Mesh Collider to a Rigidbody component, tick the Convex checkbox.
  • In certain cases, for a Mesh Collider to work properly, you need to tick the Read/Write Enabled checkbox in the Mesh Import Settings. These cases include:
    • Negative scaling (for example, (–1, 1, 1)).
    • Shear transform (for example, when a rotated Mesh has a scaled parent transform).

优化技巧:__如果网格仅由 Mesh Collider 使用,则可以在 Import Settings__ 中禁用 __Normals__,因为物理系统不需要它们。

Note that versions of Unity before 5.0 had a Smooth Sphere Collisions property for the Mesh Collider in order to improve interactions between meshes and spheres. This property is now obsolete because the smooth interaction is standard behaviour for the physics engine, and there is no particular advantage in switching it off.

铰链关节
刚体