碰撞检测 (Collision Detection) 定义物理体(刚体或接合体)用于检测碰撞的算法。不同的算法提供不同的精度级别,但更准确的算法需要更多的计算资源。
系统提供三种算法,由四种碰撞检测模式表示:
| 碰撞检测模式 | 算法 | 适用场景 | 不适用场景 |
|---|---|---|---|
| Discrete | Discrete | - 缓慢移动的碰撞。 | - 快速移动的碰撞。 |
| Continuous Speculative | 推断性 CCD | - 快速移动的碰撞。 | - 需要很高精度的一些快速移动碰撞。 |
| Continuous | 扫描 CCD | - 需要高精度的快速移动线性碰撞。 - 仅与静态碰撞体碰撞的物理体。 |
- 由于物理体旋转而发生的碰撞。 - 与移动碰撞体碰撞的物理体。 |
| Continuous Dynamic | 扫描 CCD | - 需要高精度的快速移动线性碰撞。 - 与移动碰撞体碰撞的物理体。 |
- 由于物理体旋转而发生的碰撞。 |
以下决策流程可为选择碰撞检测类型提供一个切入点。从计算量最小的模式开始,逐步过渡到计算量最大的模式。
在某些情况下,您可能会发送物理模拟的表现好坏,取决于碰撞检测模式与物理时间步长频率的协同搭配。可以对这两者进行测试并分析结果,从而找到项目合适的解决方案。
要选择算法,请通过以下方式之一设置物理体的 Collision Detection 属性: