Object3D.getWorldPosition() 是 three.js 中一个 Object3D 对象的方法。它返回了一个表示该 Object3D 对象在全局坐标系中的位置的 Vector3 对象。
vector.getWorldPosition(vector);
vector:可选参数,传入 Vector3 对象,该对象将被更新为 Object3D 对象在全局坐标系中的位置。
返回一个 Vector3 对象,表示 Object3D 对象在全局坐标系中的位置。
const mesh = new THREE.Mesh(
new THREE.BoxGeometry(1, 1, 1),
new THREE.MeshBasicMaterial({ color: 0xffffff })
);
mesh.position.set(1, 2, 3);
scene.add(mesh);
const worldPosition = new THREE.Vector3();
mesh.getWorldPosition(worldPosition);
console.log(worldPosition); // Vector3(1, 2, 3)
在上面的示例中,我们创建了一个立方体 Mesh 对象 mesh,并将其添加到场景中。我们设置 mesh 对象的相对位置为 (1, 2, 3)。然后,我们创建了一个 Vector3 对象 worldPosition,并将其传递给 mesh.getWorldPosition(worldPosition) 方法。worldPosition 对象将被更新为 mesh 对象在全局坐标系中的位置 (1, 2, 3)。最后,我们打印 worldPosition 对象,可以看到其值为 (1, 2, 3),与 mesh 对象的相对位置相同。