摄像机位置在three.js中的“THREE.OrbitControls”中发生变化

时间:2016-05-27 11:23:49

标签: javascript camera three.js position

THREE.OrbitControls在加载初始摄像机位置时工作正常,但是当使用按钮单击更改摄像机位置和摄像机旋转时。相机的位置发生变化,但在单击画布以在新视图上旋转相机时,相机的位置会突然改变

相机:

 Camera = new THREE.PerspectiveCamera(45, Width / Height, 0.1, 1000);
 Camera.position.set(170, 120, 400); //intial cam position
 Scene.add(Camera); 


Camera.position.set(30, 167, 81);
Camera.rotation.set(-0.149, 0.3, 0.045); //final cam position

轨道控制:

controlz = new THREE.OrbitControls(Camera, Renderer.domElement);

fiddle

1 个答案:

答案 0 :(得分:15)

如果您使用THREE.OrbitControls并且想要更改相机目标或位置,则应执行以下操作:

更新位置:

camera.position.set(-0.041, 1.9, -1.21);
controls.update();

<强> setCellValue(String)

更新目标:

controls.target.set(30, 167, 81);
controls.update();

<强> Demo

重置相机

要将相机重置到初始位置,您可以执行以下操作:

controls.reset();