3

ページに 2 つのカメラ (遠近法と正投影) のドロップダウン リストを用意しました。現在、私の Three Scene はパースペクティブ カメラを使用しています。しかし、ドロップダウン リストでの選択に基づいて、ドロップダウン リストで Perspective を選択すると、カメラを「Orthographic」に変更し、Perspective に変更する必要があります。どうすればこれを達成できますか?私を助けてください。

詳細なコードについては、Jsfiddle のリンクをご覧ください: http://jsfiddle.net/sagh0900/7Anag/9/

camera = new THREE.PerspectiveCamera( 45, width / height, 0.1, 1000 );
camera.position.y = 0;
camera.position.z = 40;
camera.lookAt(new THREE.Vector3(0, 0, 0));  
scene = new THREE.Scene();
scene.add(camera);
mesh = new THREE.Mesh(new THREE.Geometry());
scene.add(mesh);

前もって感謝します

4

2 に答える 2

5

私は、CombinedCamera の使用を提案しました。もう存在しません。@prisoner849 がこの投稿で提案したものを使用できます3 つの JS、カメラの組み合わせ ドキュメントとサポート

あるカメラまたは別のカメラを割り当てる変数を使用できます。– 囚人849

于 2012-12-27T21:43:42.683 に答える
4

カメラ インスタンスの Camera タイプをオンザフライで変更できるとは思いません。これらは別個のクラスであり、別個にインスタンス化する必要があるためです。

ただし、Ortographic カメラと Perspective カメラの 2 つのカメラ インスタンスを作成し、render() 呼び出しでアクティブなカメラを指定できます。UI イベント ハンドラーで両方のカメラの位置などを更新するか、またはレンダリング関数で位置などを複製する必要があります。

ただし、three.js のソースを見ると、orto/perspective モードの切り替えをサポートするカスタム カメラ クラスを一緒にハックするのはそれほど難しくないように見えます。

于 2012-12-27T21:42:28.577 に答える