0

画面に 3 つのオブジェクトを表示していますが、これらのオブジェクトを選択 (クリック) できます (現在、クリック時にオブジェクトの色を変更しているだけです)。私がやりたいのは、ユーザーがオブジェクトの1つを左クリックして、そのオブジェクトがカメラの前に来るようにすることだけです(また、素敵なアニメーションで前に来るときに回転およびスケーリングしたい)。ユーザーが画面上で右クリックすると、オブジェクトは元の場所 (デフォルトのオブジェクト位置) に戻ります。ズーム オブジェクト、フォーカス オブジェクトなどの用語を Web で検索しましたが、上記で説明したシナリオに関するヘルプが見つかりませんでした。

THREE.jsを使用してこれを達成する方法の基本概念を教えてください。

よろしくZB

4

1 に答える 1

0

Your problem is that you can't zoom the object, you could zoom-in the camera or bring the object to be in front of the camera. First Approach "zoom-in camera":

if ( intersects.length > 0 ) {
    // set camera in with some gap;
    camera.position.z = intersects[0].object.position.z - 100;
    camera.position.x = intersects[0].object.position.x;
    camera.position.y = intersects[0].object.position.Y;
}

Second approach "bring object to the front of the camera":

if ( intersects.length > 0 ) {
    // bring object;
    intersects[0].object.position.z = camera.position.z - 100;
    intersects[0].object.position.x = camera.position.x;
    intersects[0].object.position.y = camera.position.y;
}
于 2012-11-15T17:53:51.003 に答える