three.js 使用 controls/PointerLockControls.js - 让相机移动到它在 Z 轴上面向的位置?
three.js using controls/PointerLockControls.js - make camera move where it's facing in Z axis?
我正在使用 three.js git 中的示例代码:
https://github.com/mrdoob/three.js/blob/master/examples/js/controls/PointerLockControls.js
我怎样才能改变它,而不是 W/S 只在原来的 Z 轴上移动,我的相机移动到我看的地方?所以,如果我向上看,我会向上移动。
我试着从其他问题中读到这个,但无法弄清楚我需要的确切代码行,因为我是 three.js 的新手。 GIT 中的其他示例也没有帮助我,反而让我更加困惑。
好吧,我尝试了不同的方法,找到了最简单的答案。不过我不确定它是否有效。
if (moveForward) camera.translateZ(-moveSpeed * speedMultiplier);
if (moveBackward) camera.translateZ(moveSpeed * speedMultiplier);
if (moveLeft) camera.translateX(-moveSpeed * speedMultiplier);
if (moveRight) camera.translateX(moveSpeed * speedMultiplier);
if (moveUp) camera.translateY(moveSpeed * speedMultiplier);
if (moveDown) camera.translateY(-moveSpeed * speedMultiplier);
我使用相同的事件布尔变量,但我没有使用所有 "delta" 和其他代码,而是使用这个简化版本。简单的翻译。 [speedMultiplier 让我可以通过 SHIFT 键和另一个按键事件来切换速度。]
我正在使用 three.js git 中的示例代码: https://github.com/mrdoob/three.js/blob/master/examples/js/controls/PointerLockControls.js
我怎样才能改变它,而不是 W/S 只在原来的 Z 轴上移动,我的相机移动到我看的地方?所以,如果我向上看,我会向上移动。
我试着从其他问题中读到这个,但无法弄清楚我需要的确切代码行,因为我是 three.js 的新手。 GIT 中的其他示例也没有帮助我,反而让我更加困惑。
好吧,我尝试了不同的方法,找到了最简单的答案。不过我不确定它是否有效。
if (moveForward) camera.translateZ(-moveSpeed * speedMultiplier);
if (moveBackward) camera.translateZ(moveSpeed * speedMultiplier);
if (moveLeft) camera.translateX(-moveSpeed * speedMultiplier);
if (moveRight) camera.translateX(moveSpeed * speedMultiplier);
if (moveUp) camera.translateY(moveSpeed * speedMultiplier);
if (moveDown) camera.translateY(-moveSpeed * speedMultiplier);
我使用相同的事件布尔变量,但我没有使用所有 "delta" 和其他代码,而是使用这个简化版本。简单的翻译。 [speedMultiplier 让我可以通过 SHIFT 键和另一个按键事件来切换速度。]