2015年5月22日金曜日

透視投影におけるカメラのNearとFarと最終的なZの関係

通常,3Dグラフィックスでは奥行きのZが-1から1の範囲に変換されます.
ただし,0から1というような環境もあります.

この際に,透視投影カメラを使うと,Zの座標がNearからFarまで変化したとき(横軸),最終的なZの値(縦軸)との関係は,下の図のようになります.



見て分かるように,Nearに近いZ座標の変化は,最終的なZ座標の変化でも大きな差になっているのに対して,Farに近いZ座標の変化は,最終的なZ座標の変化では差が小さくなっています.

つまり,遠くのものほど,Zの違いが最終的なZの違いにならない,ということです.すると,モデルの前後関係が崩れてちらつきが発生するZファイティング,という現象が起こりやすくなります.

Zファイティングが起きる場合に,接しているモデルを少し離して起きないようにする,という対策も間違いではないですが,Nearを大きくして,表示したいもののZの差が最終的なZの差に反映されるようにするのも一つの手です.

0 件のコメント:

コメントを投稿