碰撞检测的特殊情况

时间:2019-03-13 00:14:35

标签: graphics collision-detection physics

如果我研究一维上两个球的碰撞检测。 假设第一个位置为0,其速度为每帧5像素, 第二个位置3和他的速度-5像素每帧 然后在下一帧中,第一个球将移至位置5,第二个球将移至位置-2。 在这种情况下,我们之间没有重叠,因此碰撞检测将失败。 我该如何处理?这里有一张图片来说明:

1 个答案:

答案 0 :(得分:0)

您可以估计并检查碰撞:

但是在您的情况下,运动是一维且线性的,因此您可以轻松地直接计算碰撞时间...

pos0 + vel0*t = pos1 + vel1*t
   0 +    5*t =    3 -    5*t
         10*t =    3
            t =    3/10
            t =    0.3

所以碰撞发生在0.3帧之后...您还可以考虑对象的半径以提高时间的准确性...如果您还希望碰撞位置为:

pos0 + vel0*t = 0 + 5*0.3 = 1.5
pos1 + vel1*t = 3 - 5*0.3 = 1.5