Version: 6000.3
语言: 中文
连续碰撞检测 (CCD)
推测性CCD

基于扫描的CCD

基于扫描的CCD是用于连续连续动态模式的CCD算法。

对仅与静止静态发生碰撞的物理形体使用 连续(Continuent碰撞体 用于处理对象物理碰撞的不可见形状。碰撞体不需要与对象的网格体形状完全相同 - 在游戏中,粗略的近似值通常更有效且难以区分。更多信息
请参阅术语表
(即,没有刚体的游戏对象)。 在与移动动态碰撞器碰撞的物理体(即具有动态刚体的游戏对象)上使用连续动态

连续和连续动态是最准确的碰撞当物理引擎检测到两个游戏对象的碰撞器接触或重叠时,当至少一个游戏对象具有刚体组件并且处于运动状态时,就会发生碰撞。更多信息
请参阅术语表
检测模式。然而,它们也是计算要求最高的。此外,它们仅适用于由于线性运动而发生的碰撞;它们无法检测由于物理形体旋转而发生的碰撞(例如,弹球脚蹼在其枢轴上旋转时与球发生碰撞)。

了解基于扫描的 CCD

基于扫描的 CCD 使用撞击时间 (TOI) 算法来计算潜在碰撞。为此,该算法以物体的当前速度“扫描”或检测物体的前进轨迹。

基于扫描的碰撞检测,从一个时间步长到下一个时间步长。有关详细信息,请参阅下面的图例。
基于扫描的碰撞检测,从一个时间步长到下一个时间步长。有关详细信息,请参阅下面的图例。

在上图中:

  • A:起始位置的物体
  • B:根据对象的当前速度,从现在到下一个时间步长之间,对象将经过的预测区域
  • C:一个物理时间步长后位于新位置的对象

如果沿物体的移动方向存在接触,则算法将计算撞击时间,并将物体移动到该时间。从那时起,该算法可以执行子步骤;最重要的是,它可以重新计算撞击后的速度,然后在新的轨迹上重新扫描。

基于扫描的碰撞检测,当算法检测到障碍物时。有关详细信息,请参阅下面的图例。
基于扫描的碰撞检测,当算法检测到障碍物时。有关详细信息,请参阅下面的图例。

在上图中:

  • A:起始位置的物体
  • B:基于扫描的CCD算法预测碰撞的位置的物体
  • C:一个物理时间步长后的原始预测位置
  • D:对撞机中断线性路径,通过基于扫描的CCD算法检测

基于扫描的 CCD 会对性能产生重大影响,尤其是在项目中广泛使用时。如果大量具有基于扫描的 CCD 的高速物体靠近,则 CCD 开销会迅速增加,因为物理引擎模拟物理系统各个方面的系统,使物体能够正确加速并受到碰撞、重力和其他力的影响。更多信息
请参阅术语表
必须执行更多的扫描,以及更多的 CCD 子步骤。

基于扫描的 CCD 的一个局限性是它只能执行线性(或定向)扫描,而不能执行角度(或旋转)扫描,这意味着它无法预测物理体旋转时可能发生的碰撞。例如,弹球机中的脚蹼固定在一端,绕固定点旋转;它只有角运动,没有直线运动。如果您还需要考虑对象的旋转,请使用推测 CCD。

连续碰撞检测 (CCD)
推测性CCD