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

ArU*_*rUn 6 javascript camera position three.js

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
Run Code Online (Sandbox Code Playgroud)

轨道控制:

controlz = new THREE.OrbitControls(Camera, Renderer.domElement);
Run Code Online (Sandbox Code Playgroud)

小提琴

Wil*_*ilt 17

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

更新位置:

camera.position.set(-0.041, 1.9, -1.21);
controls.update();
Run Code Online (Sandbox Code Playgroud)

演示

更新目标:

controls.target.set(30, 167, 81);
controls.update();
Run Code Online (Sandbox Code Playgroud)

演示

重置相机

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

controls.reset();
Run Code Online (Sandbox Code Playgroud)

  • 它不适用于相机旋转;相机.位置.设置(-0.041, 1.9, -1.21); 相机.旋转.z = 0.785398; 控件.update(); (2认同)