映画においてカメラがストーリーを映すのと同様に、Unity において__カメラ__はゲーム世界を映します。
Unity のシーンは、3 次元空間にあるゲームオブジェクトを表現しています。視る人の画面は 2 次元なので、ビューをキャプチャし、それを “平ら” にして表示する必要があります。これにはカメラを使います。
カメラは、想像できるあらゆる種類の効果を達成するためのカスタマイズ、スクリプティング、または親子付けが可能です。パズルゲームの場合、パズル全体が見えるように、カメラを静止状態に維持できます。一人称シューティングゲームの場合、カメラとプレイヤーキャラクターに親子関係を設定して、カメラをキャラクター目線に配置できます。レースゲームでは、プレイヤー車両の後ろをカメラに追跡させるのが望ましいでしょう。
カメラをカスタマイズして調整することで、独自性の高い表現力を発揮することができます。シーンに少なくとも一つはカメラを配置しなければなりませんが、複数のカメラを配置することも可能です。シーン内では、カメラを好きな数だけ追加できます。レンダリングの順序や、画面上のあらゆる場所、または、スクリーンの一部だけを表示する、など設定することも可能です。
Unity では、Camera コンポーネント をゲームオブジェクトに加えてカメラを作成します。
現実世界のカメラや人間の目では、視点から離れている物体ほどより小さく見えます。この効果は_透視投影_としてよく知られており、芸術やコンピューターグラフィックスで広く使用され、リアルなシーンを作成するために重要です。当然、Unity は透視投影カメラをサポートしています。しかし目的によっては、透視投影でないビューをレンダリングしたい場合があります。例えば、あえて現実の見え方とは違う表現方法のマップや情報画面を作成したい場合などです。距離が増加してもオブジェクトを縮小しないカメラは_平行投影_と呼ばれます。Unity のカメラは、平行投影もサポートしています。シーンを見るための perspective と orthographic 各モードは、カメラの_投影_としても知られています。(上のシーンは BITGEM から出典)
カメラを Orthographic (平行投影) にすると、カメラのビューからすべての遠近感が削除されます。これはアイソメトリックまたは 2D ゲームの作成に便利です。
フォグは Orthographic カメラモードでは均一に描画され、それゆえに期待通りに表示されない場合があることに注意してください。これは、透視投影後のスペースの Z 座標がフォグの “深度” に使用されるためです。これは、平行投影カメラにとって厳密には正確ではありませんが、レンダリング中のパフォーマンスのために使用されます。
Unity は、様々なレンダリングパスをサポートしています。どれを選択すべきかは、ゲームの内容やターゲットプラットフォーム/ハードウェアに依存します。レンダリングパスごとに機能やパフォーマンス特性が異なるので、主にライトとシャドウに違いがでてきます。プロジェクトで使用されるレンダリングパスは Player 設定で選択します。さらに、各カメラに対して、レンダリングパスをオーバーライドできます。
レンダリングパスの詳細については、レンダリングパス を参照してください。