カメラが写すものは、その Transform と Camera コンポーネントによって定義されます。Transform の位置で視点が、前方向 (Z) 軸でビューの向きが、上方向 (Y) 軸で画面の上端が決まります。Camera コンポーネントの設定は、ビュー内に入る領域のサイズと形状を定義します。これらのパラメーターを設定することで、カメラが現在 “見ている” ものを画面に表示できます。ゲームオブジェクトが移動や回転をすると、表示されるビューも合わせて移動、回転します。
透視投影カメラと平行投影カメラのどちらにも、現在位置から “見える” 範囲に制限があります。制限は、カメラの前方向 (Z) の向きに垂直な平面によって定義されます。これは、カメラから距離の遠いオブジェクトが “クリップ” される (レンダリングから除外される) ため、_ファークリップ面_と呼ばれます。カメラの近くには、対応する_ニアクリップ面_もあります。表示可能な距離の範囲は、この 2 つの平面の間となります。
透視投影でない場合、オブジェクトはカメラからの距離に関係なく、同じサイズのように見えます。これはつまり、平行投影カメラの視界の範囲が、2 つのクリップ面を延長した直方体によって定義されているということです。
透視投影を使用する場合、オブジェクトは、カメラから距離が離れるにつれてサイズが小さくなるように見えます。これは、シーンの表示可能な部分の幅と高ささが、距離が離れるにつれて大きくなることを意味します。そのため、透視投影カメラの視界の範囲は箱型ではなく、カメラの位置が頂点でファークリップ面が底のピラミッド形状になります。ただし、ニアクリップ面によって上部が切り離されているため、正確にはピラミッド形状ではありません。このように切り取られたピラミッド形状は、錐台_と呼ばれます。高さは定数ではないため、錐台は高さに対する幅の割合 (アスペクト比_のことです) と、頂点での上下の角度 (有効視野_つまり Field of View (FOV)_ のことです) によって定義されます。詳細な解説は、視錐台についてのページを参照してください。
__錐台__という言葉は、ピラミッドのような形の上部を、底面と平行な面で切り取った外観の形状を指します。この形状は、透視投影カメラで表示および描画できる領域です。以下の思考実験により、その理由を説明します。
まっすぐな棒 (ほうきの柄や鉛筆など) を手に持ち、その横にカメラがあって写真を撮っているところを想像してください。棒をカメラ レンズに垂直にして、画像の中心に固定すると、その端だけが画像上に円として表示され、その他の部分は見えなくなります。上方に移動すると、棒の下側が見え始めますが、棒を上に傾けることで再び見えないようにすることができます。棒を上に動かし続け、さらに上に傾けると、最終的には、棒の端である円が画像の上端に到達します。この時点では、ワールド空間でこの棒でトレースされた線より上のオブジェクトは、画像に表示されません。
棒は、左、右、下、または水平、垂直を組み合わせても、同様に簡単に移動、回転させることができます。“隠れた” 棒の角度は、両方の軸における画像の中心からの距離のみに依存します。
この思考実験の意味することは、カメラ画像のあらゆる点はワールド空間での直線に相当し、直線上の 1 つの点のみが画像に表示できる、ということです。直線上のその点より後ろにあるものは、すべて見えなくなります。
画像の外端は、画像の四角に向かって放散される直線により定義されます。仮にこれらの直線をカメラに向かって逆向きにたどると、最終的にひとつの点に収束します。Unity では、この点はカメラの Transform 位置と正確に一致し、透視投影の中心と呼ばれています。画面の上端と下端の中心からの直線が、透視投影の中心で収束したときの内側の角度は、有効視野 (Field of View、FOV と略されます) と呼ばれます。
前述のように、画像の端で放散される直線の外にあるものはカメラで表示されませんが、その他にも、描画する対象についての制限が 2 つあります。ニアクリップ面とファークリップ面はカメラの XY 平面と平行で、その中心線に沿った特定の距離に、それぞれ設定されます。ニアクリップ面よりカメラに近いもの、およびファークリップ面より遠いものは、描画されません。
二つのクリッピングプレーンと境界線により切り取られたピラメッドの形状ができて、これを視錐台と呼びます。