Actualmente estoy trabajando en un juego 3D en primera persona en javascript usando Three.js. Estoy usando PointerLockControls para controlar el movimiento de la cámara y, por alguna razón, la cámara parece estar saltando aleatoriamente en el eje Y. No se nota en el juego en sí, pero si camera.position en mi bucle de renderizado, cambia esporádicamente. Estoy usando WASD para llamar a controls.moveForward() y controls.moveRight() que no deberían afectar la posición Y (creo, corrígeme si me equivoco) pero cambia de todos modos. Este es el código de interés:
var controls = new THREE.PointerLockControls(camera, document.body); document.onclick = function () { controls.lock(); } function loop() { if (wDown) { controls.moveForward(0.1); } if (sDown) { controls.moveForward(-0.1); } if (dDown) { controls.moveRight(0.1); } if (aDown) { controls.moveRight(-0.1); } // printing out camera position console.log(camera.position); renderer.render(scene, camera); requestAnimationFrame(loop); }Editar: debo tener en cuenta que la posición Y solo cambia cuando me muevo usando WASD.