如何在反应三纤维中创建第一人称控制?

How can I create first person controls in react three fiber?

我正在尝试创建一种情况,其中相机是固定的,您可以通过拖动鼠标围绕 y 轴或轴旋转视图。

类似于 threejs.org/examples/?q=panorama#webgl_panorama_cube 的东西。但我应该能够在一个对象内进行操作。

我尝试使用 drei,但只能使用 PointLockControls 和 OrbitControls 成功,这两者都没有帮助,因为您无法使用 PointLockControls 启用光标,也无法使用轨道控件固定相机位置。

codesandbox 中的一个小例子会非常有用。非常感谢!

该示例使用 OrbitControls and keeps the camera in place by disabling zoom and panning. You can also restrict rotation to the Y axis by setting its min and max polar angles.

Drei's OrbitControls 接受属性,您可以在其中直接设置这些选项。

<OrbitControls
  enableZoom={false}
  enablePan={false}
  minPolarAngle={Math.PI / 2}
  maxPolarAngle={Math.PI / 2}
/>

这是普通实现,但 API 是相同的。