该方法是Yuka js库中的一个函数,用于从AABB(轴对齐的包围盒)生成一个OBB(有向包围盒)。
import { Vector3, Quaternion, Box3 } from 'three';
import { OBB } from 'yuka';
const aabb = new Box3(new Vector3(-1, -1, -1), new Vector3(1, 1, 1));
const obb = new OBB().fromAABB(aabb, new Quaternion());
返回一个OBB实例,代表从AABB生成的有向包围盒。
import { Vector3, Quaternion, Box3 } from 'three';
import { OBB } from 'yuka';
const aabb = new Box3(new Vector3(-1, -1, -1), new Vector3(1, 1, 1));
const obb = new OBB().fromAABB(aabb, new Quaternion());
console.log(aabb.min.toArray()); // [-1, -1, -1]
console.log(aabb.max.toArray()); // [1, 1, 1]
console.log(obb.center.toArray()); // [0, 0, 0]
console.log(obb.halfSizes.toArray()); // [1, 1, 1]
console.log(obb.rotation.toArray()); // [0, 0, 0, 1]
在上面的示例中,我们首先定义了一个AABB对象,表示一个在3D场景中占据一定空间的立方体。接着,我们使用该AABB对象和一个默认四元数值调用fromAABB方法生成一个OBB有向包围盒实例。最后,我们打印出了OBB的一些属性,包括中心点坐标、半尺寸、旋转矩阵等。