【问题标题】:three.js using controls/PointerLockControls.js - make camera move where it's facing in Z axis?three.js 使用控件/PointerLockControls.js - 让相机在 Z 轴上移动它面向的位置?
【发布时间】:2015-06-19 13:09:55
【问题描述】:

我正在使用来自 three.js git 的示例代码: https://github.com/mrdoob/three.js/blob/master/examples/js/controls/PointerLockControls.js

我怎样才能改变它,而不是 W/S 仅在原始 Z 轴上移动,我的相机移动到我看的地方?所以,如果我向上看,我会向上移动。

我尝试从其他问题中了解这一点,但无法弄清楚我需要的确切代码行,因为我是 three.js 的新手。 GIT 中的其他示例也对我没有帮助,反而让我更加困惑。

【问题讨论】:

    标签: javascript three.js


    【解决方案1】:

    嗯,我尝试了不同的方法,并找到了最简单的解决方法。不过,我不确定它是否有效。

    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 键和另一个键事件来切换速度。]

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-03
      • 2013-03-17
      • 1970-01-01
      • 2020-02-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多