如何设置OrbitalControls初始位置?

Fel*_*aro 2 three.js reactjs react-three-fiber

我一直在摆弄 React-Three-Fiber,并且非常喜欢 OrbitControls 元素,它可以让您通过拖动鼠标来控制相机。

我的疑问是是否有办法控制元素的初始位置/视角。

我正在创建一个演示,并使用飞机来模拟地面。从上面看时它看起来很好,但在默认位置它变得不可见,就像水平看一张纸一样。

我试图弄乱一些属性,如位置和 minPolarAngle,但无法观察到任何差异。那里有人可以帮忙解决这个问题吗?

      <Canvas>
        <OrbitControls position={[10, -40, 0]} /> // 'position' doesn't seem to work
        <ambientLight intensity={0.4} />

        <Suspense fallback={"...Loading"}>
          <Stars />
          <Box/>
          <Ground />
        </Suspense>

      </Canvas>

Run Code Online (Sandbox Code Playgroud)

Hyp*_*dsy 7

OrbitControls将使用现有相机并尊重其初始位置*,因此您不需要做任何专门的事情;只需指定camera上的 prop即可Canvas

*但不是其初始旋转OrbitControls将立即覆盖对 的任何调用camera.lookAt。在这种情况下,请指定 a target(默认为 [0,0,0])。

<Canvas camera={{ fov: 45, position: [10, -40, 0] }}>
  <OrbitControls target={[10, 0, 0]} />
</Canvas>
Run Code Online (Sandbox Code Playgroud)