与多个物体碰撞时的碰撞解决
我有静态对象和可移动对象。使用分离轴定理检测碰撞。 例如,在这种情况下,我有两个静态对象(红色): 以及介于两者之间的可移动对象: 我的算法能够计算出其中两个对象之间的碰撞,并且还为碰撞生成了一个完美的分辨率矢量(意味着最小位移矢量)。 因此,例如,当我检查绿色矩形和右红色矩形之间的碰撞时,该算法会吐出一个向量,该向量告诉我如何移动绿色矩形才能解决该碰撞: 请注意,我只是在MSPaint中快速绘制了此图像,因此在该图片中,实际上可能是最小平移矢量将绿色矩形推到顶部,但是在这里我将假定将其推到左侧/权利实际上更短。 解决此问题的一般方法是仅解决每帧一个冲突的冲突,而不是一次解决所有冲突。但就我而言,这将导致触发器: 首先,求解器检测到两个冲突,但仅解决右矩形和绿色矩形之间的冲突: 然后,在下一帧中,它仅检测到左红色矩形和绿色矩形之间的一个碰撞,并解决该碰撞: 如您所见,这实际上并不能解决冲突(例如,通过将绿色矩形推到顶部),而只是在两个状态之间无限地触发器。 我该如何解决?