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