我想要沿着相机的lookAt向量进行翻译。一旦我有了这个向量,我就可以沿着它进行标量平移,使用该点将相机位置在全局坐标系中移动并重新渲染。关键是获取任意的lookAt向量?我查看了几个其他问题和解决方案,但它们似乎对我不起作用。
我想要沿着相机的lookAt向量进行翻译。一旦我有了这个向量,我就可以沿着它进行标量平移,使用该点将相机位置在全局坐标系中移动并重新渲染。关键是获取任意的lookAt向量?我查看了几个其他问题和解决方案,但它们似乎对我不起作用。
你不能直接从相机本身获取lookAtVector
,但是你可以创建一个新的向量并将相机旋转应用于它。
var lookAtVector = new THREE.Vector3(0,0, -1);
lookAtVector.applyQuaternion(camera.quaternion);
cam.translateZ();
还有第二个选项。您也可以从相机对象的matrix
属性中提取lookAt向量。您只需要获取对应于本地z轴的元素即可。var lookAtVector = new THREE.Vector3(cam.matrix[8], cam.matrix[9], cam.matrix[10]);