我正在使用来自mrdoob的repo的OrbitControls.js的Three.js。在场景的初始渲染过程中,我将PerspectiveCamera
的位置设置为camera.position.set(500, 1500, 2000);
。然后,当我完成所有网格渲染后,我通过调用controls.autoRotate
开始旋转相机。 controls
定义为controls = new THREE.OrbitControls(camera, renderer.domElement);
。现在,我的相机沿着z轴和x轴以相当极端的省略号移动。它也在不断地关注中心点:camera.lookAt(new THREE.Vector3(0, 0, 1000));
。如何让我的相机在我的中点(0, 0, 1000)
周围转动整齐的圆圈?
答案 0 :(得分:0)
如果你想修复以某个位置为中心的轨道控制:
`controls.center.set(0,0,0);` // to fixed pos / vector
控制自动旋转将绕零轴Y轴上的controls.center/target进行轨道运行。旋转半径是相机到控制器的距离。中心。
如果Y轴(updown)上的半径不为零,请检查控件父对象的旋转(场景或其他)。
当您使用控件控制相机时,每帧中都会设置相机位置和旋转,您无法通过代码进行更改。将在下一帧立即被覆盖。
如果你想从轨道控制中心更改摄像机视图,请尝试创建第二个摄像机并切换渲染。