具有固定相机位置的 R3F OrbitControls
R3F OrbitControls with fixed camera position
我将其用于 360 度图像,我需要相机固定在 (0,0,0)
如果我更新相机位置,控件将停止工作。
我看过这个 post https://codeworkshop.dev/blog/2020-04-03-adding-orbit-controls-to-react-three-fiber/ 有一个修复但似乎过时了,扩展功能没有使 orbitControls 可用。
我尝试了
的各种组合
const onChange = () => {
camera.position.set(0, 0, 0);
ref.current.update();
};
或者
useEffect(() => {
if (ref.current && scene.projection === SceneProjection['3603D']) {
camera.position.set(0, 0, 0);
ref.current.update();
}
}, [ref, scene]);
有没有一种简单的方法可以使用 OrbitControls 锁定相机位置并仅旋转相机?
我认为您可以将 controls.maxDistance
设置为非常小的值,例如 0.01。这样它只会绕原点旋转一个难以察觉的量。
您可以在文档中阅读有关 .maxDistance
属性的更多信息](https://threejs.org/docs/index.html?#examples/en/controls/OrbitControls.maxDistance)
我将其用于 360 度图像,我需要相机固定在 (0,0,0)
如果我更新相机位置,控件将停止工作。
我看过这个 post https://codeworkshop.dev/blog/2020-04-03-adding-orbit-controls-to-react-three-fiber/ 有一个修复但似乎过时了,扩展功能没有使 orbitControls 可用。
我尝试了
的各种组合 const onChange = () => {
camera.position.set(0, 0, 0);
ref.current.update();
};
或者
useEffect(() => {
if (ref.current && scene.projection === SceneProjection['3603D']) {
camera.position.set(0, 0, 0);
ref.current.update();
}
}, [ref, scene]);
有没有一种简单的方法可以使用 OrbitControls 锁定相机位置并仅旋转相机?
我认为您可以将 controls.maxDistance
设置为非常小的值,例如 0.01。这样它只会绕原点旋转一个难以察觉的量。
您可以在文档中阅读有关 .maxDistance
属性的更多信息](https://threejs.org/docs/index.html?#examples/en/controls/OrbitControls.maxDistance)