Three.js First Person Controls始终移动摄像头

我正在设计的游戏需要第一人称控制器,幸运的是Three.js也提供这个类。

但是我无法阻止相机飞来飞去。 我知道鼠标移动会导致飞行,因为只要我移动鼠标就会发生。 但是阅读js代码,我找不到导致这种运动的原因。 以下是我如何启动控件:

controls = new THREE.FirstPersonControls(camera);
controls.movementSpeed = 0.1;
controls.lookSpeed = 0.001;
controls.lookVertical = true;

当我不移动鼠标时,我不希望视图方向改变。

任何想法 ?


请记住,WebGL中的FPS样式的鼠标移动仅适用于全屏模式。 如果应用程序以标准窗口模式运行,则光标可见,并且应用程序无法检测到穿过窗口边缘的光标移动。 这使得不可能以FPS风格环顾四周(当光标到达窗口边缘时,观察运动停止)。

这可能是PointerLockControls演示要求您切换到全屏模式的主要原因。

通过FirstPersonControls ,当鼠标到达边缘时,外观运动会继续。 这种方法在窗口模式下运行良好。


您可能想改用PointerLockControls

在此处查看示例:https://github.com/mrdoob/three.js/blob/master/examples/misc_controls_pointerlock.html

链接地址: http://www.djcxy.com/p/14591.html

上一篇: Three.js First Person Controls moves the camera all the time

下一篇: Passport.js authenticate not working