Camera.getWorldDirection()
方法返回相机所朝向的世界空间方向向量。这个向量是一个三维的向量。用法如下:
camera.getWorldDirection( optionalTarget );
optionalTarget
(可选): 一个可选的 Vector3
向量,用于存储计算结果。如果未传递,将会自动创建一个新的向量。返回一个 Vector3
向量,表示相机所朝向的世界空间方向。返回的向量会被改写,因此传递一个目标向量作为参数会很有用。
以下示例展示了如何使用 getWorldDirection
方法来获取相机朝向的方向向量。
var camera = new THREE.PerspectiveCamera( 90, window.innerWidth / window.innerHeight, 0.1, 1000 );
var direction = new THREE.Vector3();
// 更新相机方向
camera.lookAt( new THREE.Vector3( 0, 0, 0 ) );
// 获取相机朝向的方向向量
camera.getWorldDirection( direction );
console.log( "Camera direction:", direction );
lookAt
方法更新相机的朝向。getWorldDirection
方法返回的是一个世界空间中的向量,因此考虑到场景中可能存在旋转变换,相机所朝向的方向可能不是向量坐标系本身的 z 轴方向。因此,不要直接将该向量与向量坐标系的某个轴相比较,而应该使用向量的方法(如 Vector3.dot
)来对比。