Version: Unity 6.0 (6000.0)
语言 : 中文
刚体物理简介
对刚体施加恒定力

配置刚体碰撞体

碰撞体定义刚体的物理边界。要允许发生碰撞,必须将碰撞体与刚体一起添加到游戏对象。

如果一个刚体与另一个刚体碰撞,则物理引擎仅在两个游戏对象都附加了碰撞体时才计算碰撞。如果一个游戏对象具有刚体但没有碰撞体,它将穿过其他游戏对象,并且 Unity 不会将其包含在碰撞计算中。

碰撞体定义刚体的物理边界
碰撞体定义刚体的物理边界

碰撞中每个刚体的相对质量决定了它们相互碰撞时的响应情况。

请参阅碰撞以了解更多信息。

凸面和凹面碰撞体几何体

PhysX 物理系统要求放置在非运动刚体上的任何碰撞体都是凸面而不是凹面。Unity 中的所有原始形状都是凸面。但是,Unity 默认会考虑网格碰撞体凹面。

如果将默认网格碰撞体应用于非运动刚体,Unity 会在运行时抛出错误。为了确保非运动刚体接受基于物理的力,需要指示 Unity 使网格碰撞体凸起。为此,请启用网格碰撞体的 Convex 属性。启用 Convex 后,Unity 会根据关联的网格自动计算凸面碰撞体形状(称为外壳)。但是,由于网格的凸面外壳只是对原始形状的近似估算,因此可能导致模拟不准确。

为了进行更准确的碰撞模拟,可以使用以下方法之一:

  • 使用 DCC 工具将网格拆分为多个部分,以便 Unity 在计算网格的凸面外壳时,它们更好地代表整体形状。
  • 使用几个原始碰撞体手动构建与网格形状相同的复合碰撞体
  • 使用计算任何网格凸面近似值的自动工具,例如 Unity 的 V-HACD

如果刚体是运动刚体(即,它不接收基于物理的力),则可以向其施加任何碰撞体。

刚体物理简介
对刚体施加恒定力