Version: 6000.3
语言: 中文
调整刚体组件求解器迭代
优化物理系统的内存使用

优化刚体组件碰撞检测模式

碰撞当物理引擎检测到两个游戏对象的碰撞器接触或重叠时,当至少一个游戏对象具有刚体组件并且处于运动状态时,就会发生碰撞。更多信息
请参阅术语表
检波
模式检查器一个Unity 窗口,显示有关当前选定游戏对象、资产或项目设置的信息,允许您检查和编辑值。更多信息
请参阅术语表
窗口来平衡模拟精度,并防止快速移动的物体穿过其他物体等现象,以平衡 CPU 性能。

启用碰撞检测模式时,请始终分析和监控性能。某些碰撞检测模式,尤其是连续和连续动态,会显着影响 CPU 使用率。有选择地仅在需要的地方应用它们。

要了解更多刚体允许游戏对象受到模拟重力和其他力影响的组件。更多信息
请参阅术语表
组件碰撞检测模式,请参阅刚体组件参考

可用的碰撞检测模式包括:

  • 离散(Discrete) :仅检查每个物理模拟步骤的离散时间点的碰撞。这是默认的碰撞检测模式,也是性能最高的模式。使用离散时的风险是,如果快速物体完全穿过另一个物体,它们可能会穿过隧道collider 用于处理对象物理碰撞的不可见形状。碰撞体不需要与对象的网格体形状完全相同 - 在游戏中,粗略的近似值通常更有效且难以区分。更多信息
    请参阅术语表
    在物理步骤之间。对大多数对象使用离,尤其是当它们速度不是特别快或偶尔隧道可以接受时。
  • 连续:防止穿过静态几何体的隧道。使用基于扫描的连续碰撞检测 (CCD) 来确保游戏对象Unity 场景中的基本对象,可以表示角色、道具、风景、相机、航路点等。游戏对象的功能由附加到它的组件定义。更多信息
    请参阅术语表
    不会通过静态(没有 Rigidbody 组件或 Kinematic Rigidbody 组件的游戏对象)碰撞器。连续比离散更耗费资源。连续(Continuous) 不保证防止针对其他动态刚体组件进行隧道,除非它们设置为 连续动态(Continuous Dynamic)。将 连续(Continuent) 用于快速对象,在这些对象中,防止穿过静态关卡几何体的隧道很重要,而 连续推测(Continuous Speculative) 是不够的。
  • 连续动态(Continuous Dynamic) :对静态碰撞体和其他刚组件使用基于扫描的CCD,这些组件也设置为 连续动态(Continuous Dynamic) 或 连续(Continuous)连续动态的 CPU 使用率最高,并且该使用率随着潜在交互次数的增加而增加。谨慎使用,并且仅用于关键的、非常快速移动的对象,这些对象绝对不能穿过其他特别标记的快速移动的动态对象。
  • 连续推测:使用推测 CCD 方法来防止针对静态和动态碰撞体的隧道。通常是 CCD 的最佳选择。连续推测通常是平衡性能和模拟质量的。它通常比连续模式性能更高,以实现类似或更好的隧道预防。当离散模式导致快速移动对象的隧道时,请使用连续推测

要确定刚组件的理想碰撞检测模式,建议的最佳实践是:

  • 从大多数刚体组件的离散模式开始。离是性能最高的,对于大多数移动速度不是特别快或偶尔隧道可以接受的对象来说是足够的。
  • 如果快速对象发生隧道,请切换到连续推测
  • 如果连续推测(Continuous Speculative) 仍会发生隧道,或者你希望与静态几何体进行特定交互,请切换到“连续”(Continuous)。
  • 设置为“连续动态”仅作为关键对象对对象隧道的最后手段。

其他资源

调整刚体组件求解器迭代
优化物理系统的内存使用