3. JS Странная проблема вращения с камерой FPS - PullRequest
0 голосов
/ 03 августа 2020

Это мой код:

camera.rotation.order = "YXZ";
document.addEventListener('mousemove', function(evt){
    if(!controls.isLocked){ return false; }
    let movementX = evt.movementX || evt.mozMovementX || evt.webkitMovementX || 0;
    let movementY = evt.movementY || evt.mozMovementY || evt.webkitMovementY || 0;
    camera.rotation.x -= movementY / 1200;
    camera.rotation.y -= movementX / 1200;
    console.log(camera.rotation.x + " " + camera.rotation.y);
}, false);

Когда я запускаю этот код, камера действует как камера от первого лица, смотрит вокруг и т. Д. c. Однако когда я смотрю вниз, а затем оборачиваюсь, камера переворачивается. Есть ли способ убедиться, что камера никогда не перевернется? Это большая проблема, потому что я создаю игру FPS, которая ориентирована на продвинутые движения, такие как скольжение и борьба, поэтому мне нужно, чтобы камера работала правильно. https://youtu.be/Kpws_fmtcSk Вот короткое видео о проблеме.

Спасибо за ваше время.

...