Javascript 相机位置在THREE.js中的“THREE.OrbitControls”中更改

Javascript 相机位置在THREE.js中的“THREE.OrbitControls”中更改,javascript,camera,three.js,position,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(C

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);
动态观察控制:

 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);

如果您使用三个轨道控制按钮,并且想要更改相机目标或位置,您应该这样做:

更新位置:

更新目标:

复位摄像机 要将相机重置为初始位置,可以执行以下操作:

controls.reset();

我有一个提琴更新,你能看一下吗?我想我需要更新控件的中心??在第一次加载相机时旋转相机,在点击不同之后,如何实现它?我的答案中的提琴不是正好说明了你的要求吗?它不适用于相机旋转;相机位置设置(-0.041,1.9,-1.21);摄像机旋转z=0.785398;控件更新();