如果我研究一维上两个球的碰撞检测。假设位置0中的第一个和每个帧的速度为5像素,第二个位于第3位,并且每帧的速度为-5像素,然后在下一帧中,第一个球将移动到位置5,第二个球将跳到位置-2。在这种情况下,它们之间没有重叠,因此碰撞检测将失败。我该如何处理这个案子?这里有一张图片供您解释:
你可以估计和检查碰撞:
但在你的情况下,机芯是1D和线性的,所以你可以很容易地直接计算碰撞时间......
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