如何获得与SAT的碰撞点

How get a collision point with SAT

我已经在 2D 中实现了 SAT 碰撞检测系统,但我不知道如何获得碰撞撞击点。

目前我获得了 mtv 和分离轴,所以我可以解决碰撞但不能对其施加正确的力,因为缺少冲击点。

此处有回复https://www.gamedev.net/forums/topic/588070-seperating-axis-theorem---how-to-resolve-contact-points/ 来自 Dirk Gregorius,帮助我解决了问题。 如前所述,您必须找到最近的两条边并观察它们在哪里发生碰撞,如果没有,则意味着它是 edge/edge 碰撞 “第一”面是更简单的面,因为它垂直于您的分离轴。对于另一张脸,我选择将我的第一张脸与所有其他边的乘积作为一个点,然后找到点积较小的一张。然后我检查这两个部分是否碰撞。