如何设置Control的第一个lookAt / target

时间:2014-01-05 11:41:24

标签: javascript three.js

我需要设置初始' 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 );

如何以正确的方式设置初始点?

2 个答案:

答案 0 :(得分:13)

尝试设置控件的目标并删除camera.lookAt调用,即controls.target = new THREE.Vector3(0,10,0);

答案 1 :(得分:6)

或更直接:controls.target.set(0,10,0);