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