intersectsAABB
方法是 Ray 类库中的一种方法,用于计算射线是否与给定 axis-aligned bounding box(AABB,轴对齐包围盒)相交。该方法返回一个布尔值,表示射线是否与 AABB 相交。
intersectsAABB(aabb: AABB, intersectionPoint: Vector3): boolean;
aabb
:表示待计算相交的 AABB 轴对齐包围盒。该参数是一个 AABB 对象。intersectionPoint
:表示相交点。该参数是一个 Vector3 对象,用于存储射线与 AABB 相交点的位置。true
;反之,返回 false
。import { Ray, Vector3, AABB } from 'yuka';
// 创建一个 AABB 对象
let aabb = new AABB();
aabb.setFromPoints( [ new Vector3( -10, -10, -10 ), new Vector3( 10, 10, 10 ) ] );
// 创建一个 Ray 对象
let ray = new Ray( new Vector3( -15, 0, 0 ), new Vector3( 1, 0, 0 ) );
// 获取相交点
let intersectionPoint = new Vector3();
let intersects = ray.intersectsAABB( aabb, intersectionPoint );
if ( intersects ) {
console.log( "射线与 AABB 相交,相交点的位置是:", intersectionPoint );
} else {
console.log( "射线与 AABB 不相交。" );
}