如何使用SAT查找哪一侧发生了碰撞

问题描述 投票:0回答:1

我正在使用分离轴定理来检查两个多边形(播放器和对象)是否相交。我想让玩家从物体上弹开,但要做到这一点,我需要玩家与之碰撞的一侧(我将从中计算角度)。

如何从我的SAT功能中获取此信息?

collision-detection separating-axis-theorem
1个回答
0
投票

当你计算所有的轴时,实际上你得到了所有的法线,所以你得到了所有的法线。

您必须将所有轴旋转90°一个保存,顶点对将给出轴/法线。

因此,如果最小重叠位于轴[x]上,则侧面具有法向矢量旋转(轴[x],90)。

并且您必须在最小重叠轴上投影您的对象中心之间的向量,如果结果低于0,则必须采用相反的法线和顶点关联。

注意:在从左到右计算轴的情况下,否则必须使用-90°

© www.soinside.com 2019 - 2024. All rights reserved.