全局
MeshBVH
SerializedBVH
MeshBVHVisualizer
ExtendedTriangle
OrientedBox
Raycaster
StaticGeometryGenerator
GenerateMeshBVHWorker

OrientedBox.matrix

OrientedBox 是一个包围盒,可用于对三维网格进行边界体积的计算。 matrix 是一个Float32Array类型的矩阵,表示包围盒的变换矩阵。

语法

const obb = new THREE.OrientedBox();
obb.matrix = new Float32Array([a,b,c,d,e,f,g,h,i,j,k,l]);

参数

  • a: 矩阵的 (0,0) 元素。
  • b: 矩阵的 (0,1) 元素。
  • c: 矩阵的 (0,2) 元素。
  • d: 矩阵的 (1,0) 元素。
  • e: 矩阵的 (1,1) 元素。
  • f: 矩阵的 (1,2) 元素。
  • g: 矩阵的 (2,0) 元素。
  • h: 矩阵的 (2,1) 元素。
  • i: 矩阵的 (2,2) 元素。
  • j: 矩阵的 (3,0) 元素(平移矢量的 X 坐标)。
  • k: 矩阵的 (3,1) 元素(平移矢量的 Y 坐标)。
  • l: 矩阵的 (3,2) 元素(平移矢量的 Z 坐标)。

描述

OrientedBox.matrix 对象表示一个三维包围盒的变换矩阵,该包围盒可用于包含任意三维物体的边界体积计算。

通过修改 matrix 属性的值,您可以更改包围盒的位置、旋转和缩放比例。

示例

以下示例创建一个包围盒,将其设置为旋转 45 度并平移 (100, 50, 0)。

const obb = new THREE.OrientedBox();
const matrix = new THREE.Matrix4().makeRotationZ(Math.PI / 4)
    .setPosition(100, 50, 0);
obb.matrix = matrix.elements;

参见