Version: Unity 6.0 (6000.0)
语言 : 中文
碰撞检测
基于层的碰撞检测

选择碰撞检测模式

碰撞检测 (Collision Detection) 定义物理体(刚体或接合体)用于检测碰撞的算法。不同的算法提供不同的精度级别,但更准确的算法需要更多的计算资源。

系统提供三种算法,由四种碰撞检测模式表示:

碰撞检测模式 算法 适用场景 不适用场景
Discrete Discrete - 缓慢移动的碰撞。 - 快速移动的碰撞。
Continuous Speculative 推断性 CCD - 快速移动的碰撞。 - 需要很高精度的一些快速移动碰撞。
Continuous 扫描 CCD - 需要高精度的快速移动线性碰撞。
- 仅与静态碰撞体碰撞的物理体。
- 由于物理体旋转而发生的碰撞。
- 与移动碰撞体碰撞的物理体。
Continuous Dynamic 扫描 CCD - 需要高精度的快速移动线性碰撞。
- 与移动碰撞体碰撞的物理体。
- 由于物理体旋转而发生的碰撞。

以下决策流程可为选择碰撞检测类型提供一个切入点。从计算量最小的模式开始,逐步过渡到计算量最大的模式。

  1. 首先尝试 Discrete 模式。
  2. 如果在 Discrete 模式下有漏检,请尝试 Continuous Speculative
  3. 如果在 Continuous Speculative 模式下出现漏检或误判的情况,则对静态碰撞体的碰撞尝试 Continuous,或对动态刚体碰撞体的碰撞尝试 Continuous Dynamic

在某些情况下,您可能会发送物理模拟的表现好坏,取决于碰撞检测模式与物理时间步长频率的协同搭配。可以对这两者进行测试并分析结果,从而找到项目合适的解决方案。

选择碰撞检测模式

要选择算法,请通过以下方式之一设置物理体的 Collision Detection 属性:

碰撞检测
基于层的碰撞检测