強火で進め

このブログではプログラム関連の記事を中心に書いてます。

【Unity】 Light 2D について

動作検証環境

  • Unity 2021.3.12f1
  • Universal RP 12.1.7

Light 2D について

Light 2D は URP の環境で 2D ライトを使いたい時に使うコンポーネントです。

Light 2D の Inspector の項目について解説します。

Light Type

Freemform/Sprite/Spot/Global のいずれかを設定可能。

Freeform

頂点を編集して、自由な形状設定できるライトです。

Sprite

指定したスプライトのアルファ値で形状を作るライト。

この様なスプライトを準備して、

この様なライトを作る事ができます。

Spot

懐中電灯やスポットライトの様な形状のライト。照らす範囲を角度で指定可能。

新規作成時にはこの様に全方向を照らす設定に成っていますが、

照らす範囲を調整する事で懐中電灯を持ったキャラクターを上から見ている様な表現も可能です。

Global

全体を照らすライトです。

Radius Inner

内側の半径を指定。この半径内の光は Intensity で設定した値の強さで光ります。

Radius Outer

外側の半径を指定。内側の半径( Radius Inner の値)からここで指定した値に近づくにつれて光の強さは徐々に減衰し、外側の半径の位置ではゼロとなります。

Inner / Outher Spot Angle

内側の角度と外側の角度を指定。内側の角度内の光は Intensity で設定した値の強さで光る。外側の角度内の光の強さ外側に向かうにつれて徐々に減衰し、外側の角度の部分でゼロとなります。

Color

ライトの色を指定。

Intensity

光の強さ。

Falloff

このライトの減衰領域を調整します。減衰値が大きいほど減衰範囲が広くなります。

Falloff Stength

フォールオフ カーブを調整して、このライトの境界の柔らかさを制御します。値が小さいほど境界がくっきりと出ます。大きいほど、境界は柔らかくなります。

Target Sorting Layers

Sorting Layers の中から光の影響を与えるレイヤーを指定。現在の Sorting Layers の状態はEdit Layers…から遷移できる画面で確認できます。

活用例はこちらの動画の5:20分辺りが参考になります。

なお、 Light TypeGlobal の場合にはこの設定は無視され、常にすべてのレイヤーに影響を与えます。

Blending

Blend Style

Blend Style は Renderer 2D Data というアセット内の Light Blend Styles という項目に定義されている値(※)を選択し、ライトがシーン内のスクリプトにどの様に影響を与えるかを指定します。詳しくはこちらを確認下さい。

※赤枠の部分で設定されています。

Light Order

ライトがレンダリングされる順番を設定。数値が小さいものが先にレンダリングされます。

次に紹介する Overlap Operation の設定が Alpha Blend の時に違いが出ます。

■青いライトの方が Light Order の数値が小さい時

■青いライトの方が Light Order の数値が大きい時

Overlap Operation

このライトが他のライトのレンダリングに重なる時のレンダリング方法を設定。

AdditiveAlpha Blendのいずれかを設定。

扇形のスポットライトを2色用意して、両方に同じ設定をした時の描画結果。

■ Additive

■ Alpha Blend

Shadow

Strength

影の強さを設定。

スプライトに Shadow Caster 2D コンポーネントを追加し、Castes Shadows を有効にすると影が描画されます。その時の影の強さに影響します。

設定可能な値は0(光が遮断されない)から1(すべての光を遮断)。

Volumetric

Intensity

このライトの上に追加でブレンドされるライトボリュームの強さを調整します。

Intensity にチェックをしていない時。

Intensity にチェックをした時。

Shadow Strength

ライトボリュームによる影の強さを設定。

Normal Map

Quality

Disable(無効)、Fast(高速)、Accurate(正確)のいずれかを設定。

扇形のスポットライトを当てた時のレンダリング結果。

■ Disable

■ Fast

■ Accurate

Distance

Tooltips には

Adjusts the z-axis distance of this light and the lit Sprite(s). このライトと点灯しているスプライトのZ軸方向の距離を調整します。

Do note that this distance does not Transform the position of this light in the Scene. この距離により、シーン内のこのライトの位置を変えないことに注意してください。

と有りますが、実際の挙動としては 0 を設定した時にライトの影響をスプライトが受けない距離となっている様です。そして、数値を大きくするほど、ライトの影を受ける様です。