1

在我的 libgdx 游戏中,我有用于地图和玩家对象的 3D 边界框。我想知道它们是否在 3D 空间中发生碰撞。我怎样才能做到这一点?

4

1 回答 1

2

您可以使用以下方法:

    public static boolean intersectsWith(BoundingBox boundingBox1, BoundingBox boundingBox2) {
        Vector3 otherMin = boundingBox1.getMin();
        Vector3 otherMax = boundingBox1.getMax();
        Vector3 min = boundingBox2.getMin();
        Vector3 max = boundingBox2.getMax();

        return (min.x < otherMax.x) && (max.x > otherMin.x)
            && (min.y < otherMax.y) && (max.y > otherMin.y)
            && (min.z < otherMax.z) && (max.z > otherMin.z);
    }

它仿照这种方法:https ://github.com/MasDennis/Rajawali/blob/master/src/rajawali/bounds/BoundingBox.java#L186

于 2013-03-06T12:47:22.543 回答