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