我正在使用three.js git中的示例代码: https://github.com/mrdoob/three.js/blob/master/examples/js/controls/PointerLockControls.js
如何更改它,而不是仅在原始Z轴上移动W / S,我的相机移动到我看的位置?所以,如果我抬头,我会向上移动。
我试过从其他问题中读到这个,但无法弄清楚我需要的确切代码行,因为我是three.js的新手。 GIT中的其他例子也没有帮助我,而是让我更加困惑。
答案 0 :(得分:0)
好吧,我尝试了不同的东西,找到了最简单的工作方法。不过,我不确定它是否有效。
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”和stuff代码。简单的翻译。 [speedMultiplier让我用SHIFT键切换速度,另一个关键事件。]