intersectsAABB
是Yuka js库的一个函数,用于判断两个AABB(轴对齐包围盒)之间是否存在相交。
intersectsAABB(aabb1, aabb2)
aabb1
:Object,代表第一个AABB,包含min
和max
属性,分别表示AABB的最小和最大点的坐标值。例如:{min: {x: 0, y: 0, z: 0}, max: {x: 1, y: 1, z: 1}}
。aabb2
:Object,代表第二个AABB,包含min
和max
属性,分别表示AABB的最小和最大点的坐标值。例如:{min: {x: 0, y: 0, z: 0}, max: {x: 1, y: 1, z: 1}}
。true
。false
。const aabb1 = {min: {x: 0, y: 0, z: 0}, max: {x: 1, y: 1, z: 1}};
const aabb2 = {min: {x: -1, y: -1, z: -1}, max: {x: 0.5, y: 0.5, z: 0.5}};
const result = intersectsAABB(aabb1, aabb2); // 返回true
如果两个AABB相交,那么它们共享的面肯定是一个矩形。在代码实现中,intersectsAABB
会比较两个AABB的6个面是否存在重叠,如果存在重叠,则两个AABB相交。