ここでは、Light コンポーネント の Type プロパティの効果について説明します。
Type プロパティを使用して、Light の動作を選択できます。使用可能な値は以下のとおりです。
ポイントライトは空間のある一点 (ポイント) に位置し、すべての方向に均等に光を放ちます。サーフェスに当たるライトの方向は、その接点とライトオブジェクトの中心を結んだ直線です。ライトの強度は距離とともに減衰し、指定した距離で 0 になります。ライトの強度は、光源からの距離の 2 乗に反比例します。これは “逆 2 乗の法則” として知られ、実世界での光の性質に似ています。
ポイントライトは、シーン内のランプや他の局所的な光源をシミュレーションするのに役立ちます。リアリスティックに周囲を照らす火花や爆発を作ったりするのにも役立ちます。
ポイントライト同様、スポットライトもその位置とライトの当たる範囲が指定されています。ただし、スポットライトは限られた角度内の光になるため、照明領域が円錐形になります。円錐の中心は、ライトオブジェクトの前方 (Z) 方向を指しています。また、ライトはスポットライトの円錐のエッジで減衰します。角度を広げると円錐の幅が広くなり、それにより、半影 (penumbra) と呼ばれるフェードのサイズが増加します。
一般的にスポットライトは、懐中電灯、車のヘッドライト、サーチライトなどといった人工的な光源として使用されます。スクリプトやアニメーションで方向を制御すれば、動きのあるスポットライトでシーン内のごく狭いエリアを照らし、印象的なライティング効果をつくり出すことができます。
ディレクショナルライトはシーンで太陽光などの効果を作り出すのに役立ちます。太陽のようにさまざまな様子に変化するディレクショナルライトは、限りなく遠くに存在する光源から発する光と考えることができます。ディレクショナルライトは明確な光源の位置を持たないので、ライトオブジェクトはシーン内のどこにでも置くことができます。シーン内のすべてのオブジェクトが、あたかも光が常に同じ方向から差しているかのように照らされます。ターゲットオブジェクトからライトまでの距離が設定されていないので、光が減衰することもありません。
ディレクショナルライトは、ゲーム世界の範囲外にある位置から差す、大きな遠い光源です。写実的なシーンでは、太陽や月のシミュレーションに使うこともできます。また、アブストラクトなゲーム世界では、光がどこから差しているか特に明確にすることなく、本物らしい影をオブジェクトに付けることができます。
デフォルトでは、新しい Unity のシーンにはすべてディレクショナルライトが含まれています。これは、Lighting パネルの Environment ライトセクションで定義されたプロシージャルなスカイシステム (Lighting > Scene > Skybox) に関連付けられています。この動作を変更するには、デフォルトの Directional Light を削除して新しいライトを作成するか、単に ‘Sun’ パラメーター (Lighting>Scene>Sun) から別のゲームオブジェクトを指定します。
デフォルトのディレクショナルライト (つまり ‘Sun’) を回転させると ‘Skybox’ が更新されます。ライトは横の角度、つまり地面に平行になると、日没のような効果になります。さらに、ライトを上に向けると、空が暗くなり、夜のようになります。上方からライトをあてると、空は日中の様子になります。
環境的な条件として Skybox を選択すると、アンビエントライトもその色に対応して変化します。
エリアライトは、空間上の 2 つの形状 (矩形または円形) のいずれかによって定義することができます。エリアライトは、その形状の 1 つの側面からライトを放射します。放出されたライトは、その形状のサーフェスエリアを横切ってすべての方向に均一に広がります。Range プロパティは、その形状の大きさを決定します。エリアライトによって提供されるライトの強度は、光源からの距離の逆二乗の割合で減少します (二乗の逆法則 を参照)。このライティング計算はプロセッサー負荷がかなり高くなるため、エリアライトはランタイムでは利用できず、ライトマップにベイクすることでのみ利用可能です。
エリアライトは複数の異なる方向から同時にオブジェクトを照らすので、他の種類のライトと比べてシェーディングが柔らかく繊細になります。写実的な街頭や、プレイヤーに近いところに複数並んだライトの表現などに使用できます。小さなエリアライトは小さな光源(家のインテリアのライトなど)をシミュレートでき、ポイントライトよりも写実的な効果を得られます。
=======
Did you find this page useful? Please give it a rating:
Thanks for rating this page!
What kind of problem would you like to report?
Thanks for letting us know! This page has been marked for review based on your feedback.
If you have time, you can provide more information to help us fix the problem faster.
Provide more information
You've told us this page needs code samples. If you'd like to help us further, you could provide a code sample, or tell us about what kind of code sample you'd like to see:
You've told us there are code samples on this page which don't work. If you know how to fix it, or have something better we could use instead, please let us know:
You've told us there is information missing from this page. Please tell us more about what's missing:
You've told us there is incorrect information on this page. If you know what we should change to make it correct, please tell us:
You've told us this page has unclear or confusing information. Please tell us more about what you found unclear or confusing, or let us know how we could make it clearer:
You've told us there is a spelling or grammar error on this page. Please tell us what's wrong:
You've told us this page has a problem. Please tell us more about what's wrong:
Thank you for helping to make the Unity documentation better!
Your feedback has been submitted as a ticket for our documentation team to review.
We are not able to reply to every ticket submitted.