我已经在 2D 中实现了 SAT 碰撞检测系统,但我不知道如何获得碰撞影响点。
目前我获得了 mtv 和分离轴,因此我可以解决碰撞但不能对其施加正确的力,因为缺少撞击点。
我已经在 2D 中实现了 SAT 碰撞检测系统,但我不知道如何获得碰撞影响点。
目前我获得了 mtv 和分离轴,因此我可以解决碰撞但不能对其施加正确的力,因为缺少撞击点。
Dirk Gregorius的回复https://www.gamedev.net/forums/topic/588070-seperating-axis-theorem---how-to-resolve-contact-points/ 帮助我解决了这个问题。如上所述,您必须找到最接近的两个边缘并观察它们碰撞的位置,如果不是,则意味着它是边缘/边缘碰撞“第一”面是较容易的面,因为它是垂直于您的分离轴的面。对于另一张脸,我选择将一个点作为我的第一张脸与所有其他边缘的乘积,并找到具有较少点积的那个。然后我检查这两个部分是否碰撞。