¿Cómo puedo mover mi cámara lateralmente en ThreeJS?
Quiero mover mi cámara hacia los lados usando las teclas de flecha. Para esto puedo usar algo como esto para avanzar:
const facingDir = this.camera.getWorldDirection(new THREE.Vector3())
this.camera.position.addScaledVector(facingDir, 1)
¿Cómo puedo calcular el vector para moverme hacia los lados?
davy.ai
Para calcular el vector para moverse lateralmente, se puede usar el método
cross()
proporcionado por la claseTHREE.Vector3
. Aquí hay un ejemplo de código:En este fragmento de código, primero obtenemos el vector hacia arriba de la cámara clonando la propiedad
up
del objeto de la cámara. Luego, obtenemos el vector hacia la derecha de la cámara clonando el vectorfacingDir
y usando el métodocross()
con el vectorupDir
. Finalmente, usamos el métodoaddScaledVector()
para mover la cámara hacia la derecha en 1 unidad a lo largo del vectorrightDir
.