包含此页的版本:
不含此页的版本:
基于扫描的CCD是用于连续和连续动态模式的CCD算法。
对仅与静止静态发生碰撞的物理形体使用 连续(Continuent)碰撞体 用于处理对象物理碰撞的不可见形状。碰撞体不需要与对象的网格体形状完全相同 - 在游戏中,粗略的近似值通常更有效且难以区分。更多信息
请参阅术语表(即,没有刚体的游戏对象)。
在与移动动态碰撞器碰撞的物理体(即具有动态刚体的游戏对象)上使用连续动态。
连续和连续动态是最准确的碰撞当物理引擎检测到两个游戏对象的碰撞器接触或重叠时,当至少一个游戏对象具有刚体组件并且处于运动状态时,就会发生碰撞。更多信息
请参阅术语表检测模式。然而,它们也是计算要求最高的。此外,它们仅适用于由于线性运动而发生的碰撞;它们无法检测由于物理形体旋转而发生的碰撞(例如,弹球脚蹼在其枢轴上旋转时与球发生碰撞)。
基于扫描的 CCD 使用撞击时间 (TOI) 算法来计算潜在碰撞。为此,该算法以物体的当前速度“扫描”或检测物体的前进轨迹。
在上图中:
如果沿物体的移动方向存在接触,则算法将计算撞击时间,并将物体移动到该时间。从那时起,该算法可以执行子步骤;最重要的是,它可以重新计算撞击后的速度,然后在新的轨迹上重新扫描。
在上图中:
基于扫描的 CCD 会对性能产生重大影响,尤其是在项目中广泛使用时。如果大量具有基于扫描的 CCD 的高速物体靠近,则 CCD 开销会迅速增加,因为物理引擎模拟物理系统各个方面的系统,使物体能够正确加速并受到碰撞、重力和其他力的影响。更多信息
请参阅术语表必须执行更多的扫描,以及更多的 CCD 子步骤。
基于扫描的 CCD 的一个局限性是它只能执行线性(或定向)扫描,而不能执行角度(或旋转)扫描,这意味着它无法预测物理体旋转时可能发生的碰撞。例如,弹球机中的脚蹼固定在一端,绕固定点旋转;它只有角运动,没有直线运动。如果您还需要考虑对象的旋转,请使用推测 CCD。