リニアレンダリング
複数のカメラを使用する

カメラ

Unity のシーンは、三次元空間内にオブジェクトを配置し、移動することで作成されます。視る人の画面は2次元ですので、ビューをキャプチャし、それを “平ら” にした上で表示する必要があります。これは、Cameras を使って行います。

カメラはシーンスペースでビューを定義するオブジェクトです。前方(Z軸)とオブジェクトの上方向(Y軸)が視線の方向とスクリーンの上部を定義しながら、オブジェクトの位置はそれぞれ、ビューポイントを定義します。カメラ は、ビュー内にある領域の大きさと形も定義します。これらのパラメータを準備して、カメラは、現在のスクリーンに “見える” ものを表示させることができます。カメラオブジェクトが移動し、回転すると、表示されたビューも移動し、それに応じて回転します。

Perspective と orthographic カメラ

同じシーンの Perspective モード (左) と Orthographic モード (右)
同じシーンの Perspective モード (左) と Orthographic モード (右)

現実世界のカメラや人間の目では、視点から離れている物体ほどより小さく見えます。この効果は perspective としてよく知られており、芸術やコンピュータグラフィックスで広く使用され、リアルなシーンを作成するために重要です。当然、Unity は perspective カメラをサポートしています。しかし目的によっては、パースペクティブのないビューをレンダリングしたい場合があります。例えば、現実では実現できない表示方法の地図や情報画面を作成したい場合などです。距離によってオブジェクトの大きさを変更しないカメラは orthographic と呼ばれ、Unity のカメラには、これを設定するオプションがあります。シーンを見るための perspective と orthographic 各モードは、カメラ projections としても知られています。(上のシーンは BITGEM 様のアセットです。))

表示領域の形

perspective も orthographic カメラも、両方とも現在の位置からどこまで“見る”ことができるのかという制限があります。この制限はカメラの前方(Z)方向に対して垂直な面によって、定義されます。これは、カメラから、より離れた距離のオブジェクトを“クリップした”ので、far clipping plane として知られています(すなわち、レンダリングからは除外)。カメラには near clipping plane 対応もあります。- 表示可能な距離の範囲は、2つの平面の間です。

perspective がなければ、オブジェクトはそれらの距離に関係なく、同じサイズのように見えます。これは orthographic カメラの視界が、二つのクリッピング平面をつなぐ事で形成される直方体によって定義されることを意味します。

perspective が使用される場合、オブジェクトは、カメラから離れるにつれて、サイズが小さくなっていくように見えます。これは、距離が増えると、シーンの見える範囲全体の高さと幅が増大することを意味します。perspectiveカメラの視野容積は、ボックス型ではなく、カメラの位置を天頂とし、ファークリッピング平面を底面とする四角錐型になります。実際には、上部がニアクリッピング平面でカットされるので、正確には四角錐ではありません。この種の先端を切った四角錐の形状は、錐台 として知られています。その高さは一定ではないので、錐台は、高さと幅の比率( アスペクト比 として知られています)と、天頂部における上部と下部の間の角度( FOVfield of view として知られています)で定義されます。より詳細な説明については、視錐台を理解する のページを参照してください。

カメラビューに背景を設定する

屋内のシーンでは、建物や洞窟、その他構造物の内部を表すなんらかのオブジェクトによって、カメラは常時、完全に囲われていると思います。ですが、屋外に場所を移すと、オブジェクト間にまったく何もない開けた領域がいくつもできるでしょう。これらは背景領域となり、通常、空や宇宙空間、薄暗い水中シーンの深さなどを表現します。

カメラの背景は、完全な未定義にはできないので、空間を何かで満たさなければなりません。最も単純なオプションは、シーンをレンダリングする前に、背景を単一色でクリアすることです。インスペクターかスクリプトのどちらかから、カメラの Background プロパティーを使用して、その色を設定できます。屋外のシーンに適した、良い方法は、スカイボックス を使用することです。その名前が示すように、スカイボックスは空の画像が並ぶ “ボックス” のように動作します。カメラは、すべての方向から空が見えるように、このボックスの中央に配置されます。カメラを回転させると、空のそれぞれの領域が見えますが、カメラがボックスの中央から移動することはありません(そのため、カメラが空に“近づく”ことはできません)。スカイボックスは、シーン内のあらゆるオブジェクトよりも後ろに描画され、無限遠方までを表します。最も一般的な使い方は、標準的な屋外のシーンで空として使う事ですが、ボックスは、地平線下も含めて完全にカメラを囲んでいるので、風景の一部(例えば、地平線の向こうに広がる起伏のある平原)を表現したり、宇宙や水中などでの全方位が見えるシーンを表現するためにスカイボックスを使用することができます。

あなたは、ライティングウィンドウ (menu: Window > Lighting ) の Skybox プロパティーを設定することで、シンプルにシーンにスカイボックスを追加することができます。あなた自身のスカイボックスを作成する方法の詳細については、スカイボックスの作成方法 を参照してください。

リニアレンダリング
複数のカメラを使用する