我正在做一些物理,我试图找到 3D 空间中 2 个定向框的碰撞之间的信息。我已经为 SphereSphere 和 SphereBox 做过,但无法为 BoxBox 弄明白。
我的盒子是:(我可以很容易地得到变换矩阵,所以盒子的axisXYZ)
struct Box {
Vector3 center;
Vector3 size;
Vector3 rotation;
}
我想要这样的信息:
struct CollisionPoints {
Vector3 pointA; // Collision point of box A
Vector3 pointB; // Collision point of box B
Vector3 Normal;
float Depth; // would be (pointA - pointB)
bool HasCollision;
};
但我不知道该怎么做,我在互联网上找不到很多信息。有很多帮助可以找到是否有碰撞,但要获取信息。
先感谢您。