UE4で朝から夜にする!

2019年3月3日

前回はフィールドに焚き火を置きましたが、やはり焚き火が映えるのは夜だと思います。

今回はUE4のライティングによる朝から夜への変更と、焚き火のパーティクルを中心としたライティングへ変更していく処理を追加したいと思います。

 

スポンサーリンク

Sky Sphereで夜空にする!

 

UE4でプロジェクトを作成した際に、アウトライナ上に最初から置いてある物の中に「Sky Sphere」というのがあります。

「天球」という物らしいのですが、それはSky Sphereをダブルクリックしてみればどういう物かわかる気がします。

遥か遠方からの視点になりますが、おっさんの居るフィールドを球状に包み込んでいるSky Sphereの様子が見て取れます。

まさに天球といった感じで、このSky Sphereには青空の他に夕方、夜空の表現が既に備わっていました。

Sky Sphereの詳細に、デフォルトのDirectional Light Actorという項目があり、そこにLight Sourceというライトが最初からセットしてあります。

Light Sourceは、DirectionalLight (指向性ライト)で「遥か遠くにある光源から放出されるライト」なので太陽の役割を果たしています。

このLight Sourceを回転させて、同じくデフォルト項目中の「Refresh Material」チェックボックスをクリックする事で、朝~夜の空に変更する機能をSky Sphereは備えているようです。

早速試しに回転してみます!

こちらが朝の空。

夕方の空。

夜空。

ライトを回転するだけで空が変更されるのは有難いですね。

他にもSky Sphereには雲の流れる速度、雲の量、星の輝きの強さを調整できるパラメーターも備えられています。

 

ポストプロセスエフェクト設定、自動露光を解除する!

 

無事、夜空の星達を拝む事ができるようになりましたが夜なのに回りが発光しているかのように明るいです(汗

プロジェクト設定の「エンジン」→「Rendering」→「Default Settings」に「Auto Exposure」というチェックボックスがあります。

これは自動露光というポストプロセスエフェクトの一つで、別名を明暗順応というように人間の視覚が急に暗い所から明るい所へ出た時に眩しいと感じたり、逆に明るい所から暗い所へ急に入った時に暗くて何も見えなくなる現象を再現したエフェクトです。

これがONになっているため、暗いはずの場所が明るく、焚き火の側に近寄ると回りが真っ暗になる現象が起きてしまっています。

焚き火の回りを薄らと明るくして癒し空間を作りたいので、このAuto Exposureはオフにします。

無事暗くなりました!

後は焚き火が回りを明るくしてくれればOKです。

 

焚き火のパーティクルにライトを追加する!

 

焚き火回りを明るくするために、パーティクルのエミッタにライトを追加します。

ここで、炎のエミッタを複製し、スポーン数を少なく調整した複製先の方にlightを追加しています。

理由としては、スポーン数の多いパーティクルに対してライトを追加した場合、急速に負荷が高くなってしまうためです。

公式のドキュメントに、メインのパーティクルとは別にライト用のスポーン数の少ないパーティクルのエミッタに別でライト追加して制御する手法は一般的といった記述があったのでそうしました。

公式のチュートリアルではパーティクル用ライトの設定では「Light Exponent」を設定してあります。この設定を有効にするには、「Use Inverse Squared Falloff」という逆2乗フォールオフを使用するチェックボックスをOFFにする必要があります。

 

焚き火のパーティクルにライトを追加した結果・・・!

 

焚き火があたりを薄らと照らすようになりました!

これで暗闇の中の有難い存在として焚き火が生きてきますね!

スポンサーリンク