Three.js让相机看起来向量

时间:2014-05-13 22:51:20

标签: three.js

我希望将相机沿着它的lookAt矢量转换。一旦我有了这个矢量,我就可以沿着它进行标量平移,使用该点在全局坐标中移动摄像机位置并重新渲染。诀窍是获取任意lookAt向量?我看了几个其他的问题和解决方案,但它们似乎对我不起作用。

2 个答案:

答案 0 :(得分:7)

您无法从相机本身获取lookAtVector,但您可以创建新的矢量并将相机旋转应用于此。

var lookAtVector = new THREE.Vector3(0,0, -1);
lookAtVector.applyQuaternion(camera.quaternion);

答案 1 :(得分:0)

首选应为cam.translateZ();

还有第二种选择。您可以从摄像机对象的matrix属性中提取lookAt向量。您只需要获取与本地z轴对应的元素。

var lookAtVector = new THREE.Vector3(cam.matrix[8], cam.matrix[9], cam.matrix[10]);