所以我正在制作一个只使用矩形(轴对齐的边界框)作为形状的物理引擎。我已经实现了克里斯特爱立信书中的一个方法,该方法返回两个移动 aabbs 的碰撞时间和法线。我还提出了另一种方法,它采用两个 aabbs 速度、位置和一个响应碰撞并赋予 aabbs 新速度的法线。
现在的实际问题是,我不知道检查所有 aabbs 之间的冲突并响应它们的循环应该是什么样子。只是我不明白如何按撞击时间排序碰撞,以及我应该响应哪个碰撞。
用伪代码编写的循环显示如何对所有冲突进行排序将非常有帮助。
我提到的另一件事是,如果一个移动的盒子在一个帧中可能会在两个静态盒子之间反弹数百次,如果它的速度真的很高,你如何处理呢?