版本: Unity 6 (6000.0)
语言 : 英语
碰撞检测
离散碰撞检测

选择碰撞检测模式

碰撞当物理引擎检测到两个游戏对象的碰撞器发生接触或重叠时,就会发生碰撞,前提是至少一个游戏对象具有刚体组件且处于运动状态。 更多信息
术语表 中查看
检测
定义了物理体(刚体或关节体)使用哪种算法来检测碰撞。不同的算法提供了不同的准确性级别,但更准确的算法需要更多计算资源。

有三种可用的算法,由四种 碰撞检测Unity 执行的一个自动过程,用于确定具有刚体和碰撞器组件的移动游戏对象是否与其他碰撞器发生接触。 更多信息
术语表 中查看
模式表示

碰撞检测模式 算法 适用于 不适用于
离散 离散 - 缓慢的碰撞。 - 快速的碰撞。
连续推测 推测 CCD - 快速的碰撞。 - 一些需要特别高精度级别的快速碰撞。
连续 扫描 CCD - 需要高精度级别的快速线性碰撞。
- 仅与静态碰撞器发生碰撞的物理体。
- 由物理体旋转导致的碰撞。
- 与移动碰撞器发生碰撞的物理体。
连续动态 扫描 CCD - 需要高精度级别的快速线性碰撞。
- 与移动碰撞器发生碰撞的物理体。
- 由物理体旋转导致的碰撞。

以下决策流程可能为选择碰撞检测类型提供起点。它从计算量最少的模式开始,并逐渐过渡到计算量最大的模式。

  1. 首先尝试离散模式。
  2. 如果您在离散模式下发现漏检碰撞,请尝试连续推测模式。
  3. 如果您在连续推测模式下发现漏检碰撞或错误碰撞,请尝试对与静态 碰撞器用于处理物体物理碰撞的不可见形状。碰撞器不需要与物体的网格完全相同形状 - 近似形状通常更有效且在游戏玩法中难以区分。 更多信息
    术语表 中查看
    发生碰撞的物体使用连续模式,或者对与动态 刚体一个组件,使游戏对象受到模拟重力和其它力的影响。 更多信息
    术语表 中查看
    碰撞器发生碰撞的物体使用连续动态模式。

在某些情况下,您可能会发现物理性能依赖于碰撞检测模式和物理时间步长频率的组合。同时尝试这两种方法并分析结果,为您的项目找到合适的解决方案。

选择碰撞检测模式

要选择算法,请通过以下方法之一设置物理体的碰撞检测属性

碰撞检测
离散碰撞检测