我如何使用controls.update();使用PointerLockControls.js

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我如何使用controls.update();使用PointerLockControls.js相关的知识,希望对你有一定的参考价值。

当我使用下面的代码片段时,我被告知要使用controls.update();命令,但我收到一个错误

未捕获的TypeError:controls.update不是动画的函数

我查看了PointerLockControls.js和OrbitControls.js,我注意到Orbit有一个update()函数而Pointer没有,最后我检查控件更新每一帧都很重要,我怎么解决这个问题?

var dt = 1/60;
function animate() {
  requestAnimationFrame(animate);
  if(controls.enabled) {
    world.step(dt);

    //update ball positions
    for(var i=0; i<balls.length; i++) {
      ballMeshes[i].position.copy(balls[i].position);
      ballMeshes[i].quaternion.copy(balls[i].quaternion);
    }

    //update box positions
    for(var i=0; i<boxes.length; i++) {
      boxMeshes[i].position.copy(boxes[i].position);
      boxMeshes[i].quaternion.copy(boxes[i].position);
    }
  }

  controls.update(Date.now()-time);
  renderer.render(scene, camera);
  time = Date.now();
}
答案

我被告知使用controls.update()命令,

有意思,谁告诉你那个^^? PointerLockControls没有更新方法,因为它只执行简单的事件处理。虽然OrbitControls有更新方法,但只有在启用阻尼或自动旋转时才需要调用它。为什么?因为当其中一个选项处于活动状态时,即使没有触发像mousemovetouchmove这样的事件,它也需要更新相机。

以上是关于我如何使用controls.update();使用PointerLockControls.js的主要内容,如果未能解决你的问题,请参考以下文章

我如何使用 codeanywhere 片段

如果加入条件,我该如何解决。如果使用字符串连接,我如何使用

如何使用我的 spotify api 令牌?

这是啥?我如何访问它?使用迅捷

如果我从多个线程中使用 JSch,我应该如何使用它

我如何在 Vue 上使用 Props 使用类 Tailwind