Javascript 如何在场景中拖动鼠标仅以三个方向旋转摄影机?

Javascript 如何在场景中拖动鼠标仅以三个方向旋转摄影机?,javascript,html,three.js,camera,virtual-reality,Javascript,Html,Three.js,Camera,Virtual Reality,我在一个3JS项目中工作,我想用鼠标旋转相机。我已经看到,使用OrbitControls,我可以围绕一个点或一个对象旋转我的相机,但我不能像第一人称射击游戏那样旋转我的相机。轨迹球控件与动态观察控件存在相同的问题,我可以围绕3d空间中的特定点旋转和移动相机,但我无法旋转相机本身 PointerLockControls可能是一个解决方案,但它会在我为场景移动鼠标时旋转摄影机,并且我希望单击并拖动以旋转摄影机 我想复制这个项目的相机:在这个项目中,我认为他们与轨道控制一起工作,启用和禁用相机的这个属

我在一个3JS项目中工作,我想用鼠标旋转相机。我已经看到,使用OrbitControls,我可以围绕一个点或一个对象旋转我的相机,但我不能像第一人称射击游戏那样旋转我的相机。轨迹球控件与动态观察控件存在相同的问题,我可以围绕3d空间中的特定点旋转和移动相机,但我无法旋转相机本身

PointerLockControls可能是一个解决方案,但它会在我为场景移动鼠标时旋转摄影机,并且我希望单击并拖动以旋转摄影机

我想复制这个项目的相机:在这个项目中,我认为他们与轨道控制一起工作,启用和禁用相机的这个属性


请帮忙。提前感谢。

您可以使用
enabled
属性启用/禁用PointerLock控件:

controls = new PointerLockControls( camera );

controls.enabled = true; // Turns on camera rotating with mouse
controls.enabled = false; // Turns it off

你试过了吗?谢谢@TheJim01我正在使用PointerLockControls.js,这是FirstPersonControl的“下一个”高级版本。我在其他网站上读到过。@fjavier10查看“视频”和“立方体”示例是如何实现的。@WestLangley只有在我们有statis position for camera时,这才是好的!你最终找到解决办法了吗?因为我也有同样的问题。我正在尝试使用PointerLock控件,它工作得很好,但是当我在场景上移动鼠标时,我不想旋转相机。我想在场景中“单击”,然后向左或向右“拖动”鼠标,以另一种方式旋转相机。谢谢你的帮助,我会继续努力尝试其他事情。