Tengo un programa three.js, donde cuando presiono la tecla "w" mueve la cámara hacia adelante.
if (keys.indexOf(playerControls["forward"]) != -1) { camera.translateZ(-0.1); }Sin embargo, quiero que la cámara no se mueva verticalmente, sino solo horizontalmente (los ejes x y z se mueven cuando se presiona "w", pero se ignora el eje y). ¿Cómo sería capaz de hacer esto? (sin un montón de trigonometría)
El translateZ es importante para mover la cámara en la dirección en la que miras, pero puedes arreglar fácilmente la posición Y corrigiéndola después de cada movimiento:
const camHeight = 5; if (keys.indexOf(playerControls["forward"]) != -1) { camera.translateZ(-0.1); camera.position.y = camHeight; }