Three.js Как использовать кватернион для поворота камеры

В 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;
    }

Но это не работает. Я что-то пропустил? Пожалуйста помоги. Заранее спасибо.

10
задан user1533481 26 July 2012 в 09:08
поделиться