我已经阅读了很多关于“分离轴测试”的内容,并且从所有帖子和文章中我了解到它们都是针对 2D 碰撞,而不是 3D。我听说这更像是 3D 空间的“分离平面定理”,但我不清楚在哪里可以找到有关此方法与 2D 版本有何不同的信息。
我应该使用 SAT,因为我正在尝试计算三角形是否与 Axis-Aligned Bounding Box (AABB) 相交。我不需要知道交叉点发生在哪里,如果它发生或没有发生,只需一个布尔结果。
我实施 SAT 的主要尝试位于此处:实施尝试。
如果 SAT 需要修改,那么需要进行哪些修改才能在 3D 空间中成功实施?因为根据 Christer Ericson 的著作Real-Time Collision Detection中的说法,目前有 13 个轴需要测试。如果需要更改 SAT,那么我认为会有更多的轴要测试,因为涉及到第三个轴。
- 来自 AABB 的三个面法线
- 三角形的一个面法线
- 由两者的边组合的叉积给出的九个轴
我需要了解 SAT 是否需要修改,并推动修改的方向和原因。如果不需要修改,我哪里出错了?谢谢!