three.js - comment faire de la caméra regarde un objet au cours d'une interpolation

donc je suis en train d'expérimenter avec l'aide d'interpolations d'interpolation d'un champ de vision de la caméra en fonction d'un objet sur lequel vous cliquez, dans la scène, qui fonctionne très bien, mais maintenant ce que je veux faire c'est d'avoir le basculement de l'appareil photo de concentrer son attention sur l'objet qui a été cliqué, ce qui n'est pas de travail. Voici mon code pour le clic:

function onDocumentMouseDown( event ) {
    event.preventDefault();

    var vector = new THREE.Vector3( ( event.clientX / window.innerWidth ) * 2 - 1, - ( event.clientY / window.innerHeight ) * 2 + 1, 0.5 );
    var ray = new THREE.Ray( camera.position, vector.subSelf( camera.position ).normalize() );
    var intersects = ray.intersectObjects( objects );
    if ( intersects.length > 0 ) { //We've clicked a certain object

        camTarget = intersects[0].object.position; //HERE'S THE VECTOR3 I WANT TO LOOK AT
        camTween.start();
    }
}

et mon code pour l'interpolation /le mouvement de la caméra:

var camUpdate = function(){
    camera.fov = currentFov.fov;  //WORKING
    camera.lookAt(camTarget); //NOT WORKING
    camera.updateProjectionMatrix();
}

var currentFov = { fov: camera.fov };

TWEEN.removeAll();
camTween = new TWEEN.Tween(currentFov).to({fov: +zoomInFov},tweenTime).easing(camEase).onUpdate(camUpdate);

La caméra est une interpolation du champ de vision correctement, mais il semble rester pointé dans la même direction qu'elle a toujours été pointé, au lieu de passer à la "camTarget" vecteur spécifié dans le lookAt commande.

OriginalL'auteur mheavers | 2012-05-04