ここでは、Light コンポーネント の Type プロパティの効果について説明します。
Type プロパティを使用して、Light の動作を選択できます。使用可能な値は以下のとおりです。
ポイントライトは空間のある一点 (ポイント) に位置し、すべての方向に同等に光を放ちます。サーフェスに当たるライトの方向は、その接点とライトオブジェクトの中心を結んだ直線です。ライトの強度は距離とともに減衰し、指定した距離で 0 になります。ライトの強度は、光源からの距離の 2 乗に反比例します。これは “逆 2 乗の法則” として知られ、実世界での光の性質に似ています。
ポイントライトは、シーン内のランプや他の局所的な光源をシミュレーションするのに役立ちます。リアリスティックに周囲を照らす火花や爆発を作ったりするのにも役立ちます。
ポイントライト同様、スポットライトもその位置とライトの当たる範囲が指定されています。ただし、スポットライトは限られた角度内の光になるため、照明領域が円錐形になります。円錐の中心は、ライトオブジェクトの前方 (Z) 方向を指しています。また、ライトはスポットライトの円錐のエッジで減衰します。角度を広げると円錐の幅が広くなり、それにより、半影 (penumbra) と呼ばれるフェードのサイズが増加します。
一般的にスポットライトは、懐中電灯、車のヘッドライト、サーチライトなどといった人工的な光源として使用されます。スクリプトやアニメーションで方向を制御すれば、動きのあるスポットライトでシーン内のごく狭いエリアを照らし、印象的なライティング効果をつくり出すことができます。
ディレクショナルライトはシーンで太陽光などの効果を作り出すのにとても役立ちます。太陽のようにさまざまな様子に変化するディレクショナルライトは、限りなく遠くに存在する光源から発する光と考えることができます。ディレクショナルライトは明確な光源の位置を持たないので、ライトオブジェクトはシーン内のどこにでも置くことができます。シーン内のすべてのオブジェクトが、あたかも光が常に同じ方向から差しているかのように照らされます。ターゲットオブジェクトからライトまでの距離が設定されていないので、光が減衰することもありません。
ディレクショナルライトは、ゲーム世界の範囲外にある位置から差す、大きな遠い光源です。写実的なシーンでは、太陽や月のシミュレーションに使うこともできます。また、アブストラクトなゲーム世界では、光がどこから差しているか特に明確にすることなく、本物らしい影をオブジェクトに付けることができます。
デフォルトでは、新しい Unity のシーンにはすべてディレクショナルライトが含まれています。Unity 5 では、ディレクショナルライトは プロシージャルなスカイシステムに関連付けられています。Lighting ウィンドウ (Lighting > Scene > Skybox) の Environment Lighting セクションで決定されるスカイのシステムへ関連付けられます。デフォルトのディレクショナルライトを削除し新しいライトを作成したり、または、単に ‘Sun’ パラメーター (Lighting > Scene > Sun) から異なるゲームオブジェクトを指定することにより、この動作を変更することができます。
デフォルトのディレクショナルライト (つまり ‘Sun’) を回転させると ‘Skybox’ が更新されます。ライトは横の角度、つまり地面に平行になると、日没のような効果になります。さらに、ライトを上に向けると、空が暗くなり、夜のようになります。上方からライトをあてると、空は日中の様子になります。
環境的な条件として Skybox を選択すると、アンビエントライトもその色に対応して変化します。
エリアライトは空間内の矩形によって決定されます。光はサーフェスエリアから全方向に均一に放射されますが、矩形の片側のみからになります。エリアライトの範囲に関しては、手動の制御はできません。ただし、光源から遠くなるにつれ、光の強度は距離の逆 2 乗で減少します。ライティングの計算がプロセッサーにかなりの負担をかけるため、エリアライトはランタイムでは使用できず、ライトマップにベイクされる方法によってのみ使うことができます。
エリアライトは複数の異なる方向から同時にオブジェクトを照らすので、他の種類のライトと比べてシェーディングが柔らかく繊細になります。写実的な街頭や、プレイヤーに近いところに複数並んだライトの表現などに使用できます。小さなエリアライトは小さな光源(家のインテリアのライトなど)をシミュレートでき、ポイントライトよりも写実的な効果を得られます。
=======