在我的 libgdx 游戏中,我有用于地图和玩家对象的 3D 边界框。我想知道它们是否在 3D 空间中发生碰撞。我怎样才能做到这一点?
问问题
1289 次
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 回答