9

そのため、トゥイーンを使用して、シーンでクリックされたオブジェクトに基づいてカメラの視野をトゥイーンすることを試しています。がクリックされましたが、機能していません。クリックのコードは次のとおりです。

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();
    }
}

とトゥイーン/カメラの動きのための私のコード:

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);

カメラは視野を適切にトゥイーンしていますが、lookAt コマンドで指定された「camTarget」ベクトルに切り替えるのではなく、常に向けられていたのと同じ方向に向けられたままであるように見えます。

4

2 に答える 2