UnrealEngineのライトを設定する時の単位として
Lumens(ルーメン)、Candelas(カンデラ)、Unitless(ユニットレス)が存在します。
ユニットレスは、ルーメンとカンデラが導入される前に実装されていたもので、
UnrealEngineで独自に定義されたものになります。
今回はこの単位によって、エディター上での扱いがどのように変わるのか紹介していきます。
単位を変えるとIntensityが調整される
まず、ライトの単位を変更すると見た目上同じような明るさになるように自動でIntensityが調整されます。
注意点として切り替え時に計算誤差により、
他の単位に一度変えた後もとの単位に戻すと完全に同じ値に戻らない場合があります。
扱う上での挙動、注意点
単位を変えた時に変わってくる挙動として、スポットライトの影響半径を変えた時の明るさがあります。
以下GIF動画で、それぞれ単位を設定したスポットライトの半径を変えている様子を示します。
ルーメンの場合は、範囲を狭めていくと明るくなっていく様子が見えるかと思いますが、
カンデラの場合は、そのままの明るさの見た目で範囲が狭まっていく様子が見えるかと思います。
(ユニットレスは値は違いますがカンデラと同様の挙動になります。)
ルーメンとカンデラの単位について
ここからは上記の挙動の違いがなぜ起きるのかについて紹介していきます。
まず単位についてですが、ルーメンは全ての方向に対して1カンデラの光度を持つ標準の点光源が、1ステラジアンの立体角内に放出する光束の単位で、カンデラは特定の方向へ放射される単位立体角あたりの光の明るさ、光度の単位として扱っています。
抑えておきたい点
抑えておきたい点として、単位の紹介で登場してきた光束は、
密度が高くなると結果としてライトが明るく見える、ということがあります。
スライドの図はかなり簡略化したイメージ図になりますが、
矢印を光束としてポイントライトとスポットライトを模したものです。
同じ本数の矢印をライトから飛ばそうとした場合、
拡散されているポイントライトよりもスポットライトの方が、
光束の密度が高くなっていることがイメージできるかと思います。
そしてこのように密度が上がった状態になるとライトがより明るく見える、ということになります。
ルーメンの挙動
ルーメン単位の設定は、設定する値(Intensity)がそのライトから放出するすべての光束の量となります。
ルーメンで指定している場合ライトの範囲を変更しても、その範囲に同じ量の光束が放射されるため、
結果光束の密度が上がり明るく見えるようになります。
UnrealEngine上でルーメン単位を設定したライトの影響範囲を変えた時の挙動は以下のようになります。
ライトの範囲を狭くしていくと中心が明るくなっていく様子がわかるかと思います。
カンデラの挙動
カンデラの場合は、設定する値(Intensity)が単位立体角あたりの光束となります。
カンデラで指定している場合、スポットライトなどでライトの範囲を制限しても
単位立体角あたりの放射される光束の量が変わらないので、明るさが同じとなります。
UnrealEngine上でカンデラ単位を設定したライトの影響範囲を変えた時の挙動は以下のようになります。
ルーメンの挙動と違い、ライトの範囲を変えても中心の明るさが変わらないことが見えるかと思います。
まとめ
最後にもう一度ライトの設定を変更する時の挙動の違いをまとめると、
ルーメンを使用した場合、ライトを照らすコーンアングルによって明るさが変わり、
カンデラを使用した場合、ライトを照らすコーンアングルによっても明るさが変わらないライトとなります。
さいごに
今回はパラメータを変更する際の挙動についてフォーカスしましたが、
もちろん照明の設計により単位が決められている場合もあるかと思います。
ライトの値を調整する際は、こちらの設定を確認頂ければと思います。