我需要设置初始' lookAt'场景的一个点,它将是屏幕的中心和控制旋转的中心。 如果可能的话,我宁愿设置一个点(或一个物体的位置),而不是旋转角度。
控件是OrbitControl。如果我只是在控制初始化之前设置lookAt,则在第一次用户交互时中心将恢复为(0,0,0),这会导致“间隙”。 ...
// camera
camera = new THREE.PerspectiveCamera( 35, window.innerWidth / window.innerHeight, 0.1, 20000);
camera.position.set(0,20,20);
camera.lookAt(new THREE.Vector3(0,10,0));
// controls
controls = new THREE.OrbitControls( camera );
controls.addEventListener( 'change', render );
如何以正确的方式设置初始点?
答案 0 :(得分:13)
尝试设置控件的目标并删除camera.lookAt调用,即controls.target = new THREE.Vector3(0,10,0);
答案 1 :(得分:6)
或更直接:controls.target.set(0,10,0);