Version: 2018.4
言語: 日本語
リニアテクスチャの使用
複数のカメラを使用する

カメラ

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

カメラはシーン空間でビューを定義するオブジェクトです。オブジェクトの位置は視点を定義します。また、オブジェクトの前方向 (Z軸) と上方向 (Y軸) は、視線の方向とスクリーンの上をそれぞれ定義します。Camera コンポーネント は、ビュー内の領域の大きさと形も定義します。これらのパラメーターを設定すると、カメラに現在「映る」ものをスクリーンに表示することができます。カメラオブジェクトが移動し回転すると、それに応じて、表示されるビューも移動し回転します。

透視投影カメラと平行投影カメラ

同じシーンの透視投影モード (左) と平行投影モード (右)
同じシーンの透視投影モード (左) と平行投影モード (右)

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

表示領域の形

透視投影カメラも平行投影カメラも、両方とも現在の位置からどこまで「映す」ことができるのかという制限があります。この制限はカメラの前方 (Z) 方向に対して垂直な面によって、定義されます。これは、カメラからより離れたオブジェクトを「クリップ」したので、ファークリップ面 と呼ばれます (すなわち、レンダリングからは除外)。これに対応するカメラに近い ニアクリップ面 もあります。カメラが表示可能な範囲は、2つの面の間です。

透視投影でない場合、オブジェクトはそれらの距離に関係なく、同じサイズのように見えます。これは、つまり平行投影カメラの視界の範囲が、2つのクリップ面を延長して作った直方体によって定義されているということです。

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

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

屋内のシーンでは、カメラは常に、建物や洞窟などの構造物の内部にあり、何かのオブジェクトで完全に遮蔽されているかもしれません。ただし、屋外で何かする場合、オブジェクト間にまったく何もない開けた領域がいくつもできます。これらは背景領域となり、通常、空や宇宙空間、水中シーンの薄暗い深淵などになります。

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

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

リニアテクスチャの使用
複数のカメラを使用する