2022-05-26

【Unreal Engine】Use Inverse Squared Falloffとは【ライト】

ライトの設定にUse Inverse Squared Falloffというものがある。これで光の減衰をコントロールする。

Article Image
使用ソフトウェアバージョン備考
Unreal Engine5.0.1英語版

Use Inverse Squared Falloff

Unreal EngineのライトにUse Inverse Squared Falloffという設定がある。

これはAdvancedの中にあるため初心者は触る必要はなさそうに見えるが....

UEの動画を見て回っているとコレをなにげに触っているのをいくつか見かける。

詳細タブの位置

デフォルトではオンになっている。

これはどういうものなのだろうか。

公式Doc

英語だが公式ドキュメントに効果が書いてある。

4.2 - Inverse Square Falloff | Unreal Engine Documentation

ただ、コレを読んでも具体的にどういう効果なのかはやはり分かりにくいと思う。

先に結論

先に結論を言えばUse Inverse Squared Falloffとは距離による光の減衰を現実世界とほぼ同じにする設定。

初心者はデフォルト(オン)のままで良い。ライティングアーティスト向けの設定。

次の項より実際に試しながらその効果と調整方法を書いていく。

サンプル

サンプル

かんざしが床に刺さっているようなサンプルで解説していく。

わかりやすいように球と床で色を分けた。

ライト

球のすこし上あたりにスポットライトを設置。

Attenuation Radius

先にAttenuation Radiusという設定を知っておく必要がある。

Attenuation Radius

あまり難しいものではなくライトの効果範囲を設定するもの。

今回はライトから地面ぴったりの範囲を設定した。

効果範囲

後述するが、これを無用に大きな値に設定しておくと減衰の調整が難しくなる。

この値は大きくすると効果範囲が伸びるだけでなく処理負荷も増える。

可能な限り低く(効果範囲を狭く)する事を推奨。

Use Inverse Squared Falloffをオン

まずUse Inverse Squared Falloffがオン(デフォルト)

光量MAX

何の変哲もないスポットライトだ。

これのIntensity(光の強さ)を少しずつ下げてみると

光量を下げた

床が消えて緑の球体だけが映し出された状態になっていく。

これはつまりゲーム内でも光が距離により減衰している証拠だ。

Use Inverse Squared Falloffをオフ

次にUse Inverse Squared Falloffをオフにする。

これをオフにすると突然光量が強くなる。

この記事ではIntensityをかなり下げて上記ライティングと同じレベルにしている。

するとその下のLight Falloff Exponentのスライダが調整できるようになるので2.0にする。

オフ

このスライダは光の減衰量を減らすスライダで2.0がマウスドラッグでの最低値。もっと下げる場合は実数で入力する。

光が減衰しにくくなった

床が見えている

距離によって減衰しにくくなったので床にも明かりが当たっている状態がわかると思う。

Light Falloff Exponentを16にしてみる

今度はLight Falloff Exponent16にする。

これは現実世界よりも強く光が減衰する設定。

かなり減衰している

Use Inverse Squared Falloffがオンの状態よりも減衰しているのがわかる。

Attenuation Radiusを最大値にしてテスト

次に上の設定のままAttenuation Radiusを最大値にした状態でテストする。

こうすると減衰する/しないにかかわらず光が届く範囲が極限まで遠くなる。

Attenuation Radiusが長すぎ

Light Falloff Exponent16(最大値)のためイメージ的には一つ前の例のようにすぐに光が減衰してしまうはず、が....

暗くなるだけ

「全体的に暗くなるだけ = 光が距離によって殆ど減衰していない」という状態になってしまった。

このようにAttenuation Radius値を大きくしすぎると殆ど減衰しなくなるケースがあるので注意だ。

picAttenuation Radiusは適切

処理コストも増えるため、光を届けたい長さまで適切に設定するのがベスト。

この場合は地面に触るぐらいが良い。

現実の減衰に近づけるには

Use Inverse Squared Falloffをオンにした状態(デフォルト)が最も現実の光に近いらしい。

よって特別必要とならない限りUse Inverse Squared Falloffはオンのままで良い。

巨大なオブジェクトでテスト

ここまではおおよそ人物とそれほどかわらない高さで試した。

もっと長い距離のライティングの場合に影響が強くなるのではないかと考えたため、かなり大きなオブジェクトでテストを行った。

かなり大きなオブジェクトでUse Inverse Squared Falloffをオンの状態で次を作成した

巨大なヒール

高さが約13,000

この表現ではIntensityがとてつもない数字になってしまった。

picture 3

この数値のIntensityはマウスでは操作できずキーボードで入力しなければならない。

Use Inverse Squared FalloffをオフにするとIntensity100程度で済むためマウスでもコントロールが可能。

picture 4

上がUse Inverse Squared Falloffをオフで作成した例。

外観も大きく変わらない上に、こちらの方が数値の調整がやりやすい。

更にこちらの表現の場合はLight Falloff Exponentをマウスで微調整するだけで光が届く範囲を簡単に操作できる。

picture 5

Use Inverse Squared FalloffをオフにしないとLight Falloff Exponentは操作できない。

まとめ

Use Inverse Squared Falloffをオフにするなら、次のようなケースが考えられる

  • 光の減衰を手動コントロールしたい
  • 大きなオブジェクトへのライト等で思ったように光が伸びない時
  • 長くて均一な(強い)光を配置したい (IntensityをMAXまで上げても十分な光量が得られない時など)

なぞの作例

上記の検証結果を踏まえIntensityではなくLight Falloff Exponentを動かしてライトの強弱をいじっているような演出もできると思いついたのでサンプルを作ってみた。

イベントグラフ

これのメリットは減衰アニメーションとIntensityの数値を別々に調整できること。

正直これが実用的かどうかは不明

最後に

この設定に関しては情報が少なく個人的に実践した結果で記事を書いている。

よって誤っている解釈があるかもしれないので注意。

こういうパラメータは本格的なゲームやシネマ的な映像製作向けのガチな設定項目。

こだわったライティングをしてみたい人は実際に触って効果を確かめてみてほしい。


この記事のタグ


謎の技術研究部 (謎技研)