Three.js 自动旋转相机以聚焦在物体上

use*_*481 5 javascript three.js

在three.js 3D空间中,我有一些位置已知的MESH对象和一个相机对象。

我想要实现的是:当我点击一个按钮时,相机将自动旋转和缩放(改变它的位置),以便用户的视图将聚焦在所选对象上。选定对象的位置是已知的。

请给我一些关于如何做到这一点的建议?

小智 1

四元数 slerp 是您平滑旋转到目标位置的朋友。您需要使用四元数(camera.useQuaternion = true)。

var newQuaternion = new THREE.Quaternion();
THREE.Quaternion.slerp(camera.quaternion, destinationQuaternion, newQuaternion, 0.07);
camera.quaternion = newQuaternion;
Run Code Online (Sandbox Code Playgroud)

这应该平稳地旋转到目标旋转。也许您需要尝试一下最后一个参数。我不确定变焦。