Question

I'm looking to translate the camera along its lookAt vector. Once I have this vector, I can do scalar translation along it, use that point to move the camera position in global coordinates and re-render. The trick is getting the arbitrary lookAt vector? I've looked at several other questions and solutions but they don't seem to work for me.

Était-ce utile?

La solution

You can't get the lookAtVector from the camera itself, you can however create a new vector and apply the camera rotation to that.

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

Autres conseils

The first choice should be cam.translateZ();

There is a second option as well. You can extract the lookAt vector from the matrix property of the camera object. You just need to take the elements corresponding to the local z-axis.

var lookAtVector = new THREE.Vector3(cam.matrix[8], cam.matrix[9], cam.matrix[10]);
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top