0

私は、CombinedCameraの実際の動作例を見て、インスピレーションを得て、combinedcamera を自分の作品に組み込みました。

 camera = new THREE.CombinedCamera( width /2, height/2, 45, 0.1, 1000, -1000, 1000, 1000 );

しかし、パースペクティブ カメラを使用している間、私のアプリケーションは正常に動作します。

ここに画像の説明を入力

しかし、正投影を使用している同じアプリケーションはまったく機能せず、非常に奇妙に見えます。

ここに画像の説明を入力

私のコードの問題は何ですか? オブジェクトのすべての x、y、z 方向に正投影が必要です。どうやってするか?

4

1 に答える 1

1

正投影の幅と高さはCombinedCamera、透視投影の近距離平面と遠距離平面の中間にある平面の交点から得られます。オブジェクトが小さいがカメラに近い場合、2 番目の画像のように非常に小さくレンダリングされます。

設定に0.1, 1000は近距離と遠距離の平面があるため、オブジェクトよりもはるかに大きいカメラから約 500 単位のオブジェクトをフレームに収めようとしています。

いくつかのオプションがあります:

  1. 正射投影モードの場合は setFov または setZoom を使用して、オブジェクトをより適切にフレーミングします。
  2. オブジェクトを拡大し、その中心がカメラの近距離平面と遠距離平面の中間になるようにカメラ/オブジェクトを配置します。
  3. カメラのニア プレーンとファー プレーンを変更して、シーンをより近くにフレームします。たとえば、カメラがオブジェクトの中心から 25 単位離れている場合、カメラのニア プレーンとファー プレーンの距離を に設定すると0.1, 50、中点は ~25 ユニットになり、モードを切り替えるときに、必要に応じてオブジェクトをフレーミングします。
于 2013-01-04T19:28:50.450 に答える