three.js 更新灯光 OrbitControls

three.js update light OrbitControls

我正在使用 threejs 来显示对象,并使用 OrbitControls 来使用鼠标控制场景的移动。我的场景还包括 DirectionalLight.

场景首次渲染时,DirectionalLight 以我期望的方式照亮我的对象。但是,当我通过使用鼠标旋转来修改场景时,DirectionalLight 源不会更新,并且 'shine' 从新角度发出的光如我所料。

有人可以解释我如何更新我的场景,以便根据我使用 OrbitControls 的旋转更新灯光吗?

如果你希望光线方向和相机视角的关系保持不变,我建议你将光线添加到CAMERA,而不是SCENE。

因此,您可以使用 camera.add(dirLight)

而不是 scene.add(dirLight)