在Three.js中,我想让摄像机看向场景中的一个物体,并在单击另一个物体时,使摄像机平稳地旋转以查看新物体。(即动画旋转摄像机)。我已经在SO上检查过了,这是最相似的问题: Three.js如何使用四元数旋转相机。我还尝试修改了这个网站中的代码,并成功获得了类似于http://jsfiddle.net/F7Bh3/的东西。
但是当我尝试旋转相机而不是对象时,我得到的只有:http://jsfiddle.net/5Peq9/1/。我错过了什么吗?提前感谢。
var quat0 = mesh2.quaternion;
var eye = mesh2.position;
var center = mesh.position;
var mat = new THREE.Matrix4();
mat.lookAt(center, eye, new THREE.Vector3(0,1,0));
var quat1 = new THREE.Quaternion();
quat1.setFromRotationMatrix( mat );
var qm = new THREE.Quaternion();
deltaTheta = angleBetweenQuats(quat0,quat1);
var frac = 0.2/deltaTheta;
if (frac>1) frac=1;
mesh2.quaternion.slerp(quat1,frac);
mesh2.quaternion.normalize();
但是当我尝试旋转相机而不是对象时,我得到的只有:http://jsfiddle.net/5Peq9/1/。我错过了什么吗?提前感谢。