В Three.js я хотел бы использовать THREE.quaternion, чтобы объект камеры поворачивался к выбранному объекту.
Я искал в Интернете, но не нашел примера/демо или документа о том, как использовать этот класс кватерниона.
Я попытаю удачу со следующим кодом:
camera = new THREE.PerspectiveCamera( 40, window.innerWidth / window.innerHeight, 1, 10000 );
camera.position.y = 10;
camera.position.z = 0;
camera.position.x = radious;
camera.useQuaternion = true;
// I did use the TrackballTrackballControls. Maybe it causes the problem so I put it here
controls = new THREE.TrackballControls( camera, document.getElementById(_canvasElement) );
// function to make the camera rotate to the object
function focusOn3DObject(obj){
obj.useQuaternion = true;
obj.quaternion = new THREE.Quaternion(obj.position.x, obj.position.y, obj.position.z, 1);
var newQuaternion = new THREE.Quaternion();
THREE.Quaternion.slerp(camera.quaternion, obj.quaternion, newQuaternion, 0.07);
camera.quaternion = newQuaternion;
}
Но это не работает. Я что-то пропустил? Пожалуйста помоги. Заранее спасибо.