妹でもわかるUnrealEngine4

毎日更新? 妹に説明するために書いてるけど、たまにわかってない場合もあるUnrealEngine4を中心としたゲーム制作の話。略すとイモリアル

毎日更新? 妹に説明するために書いてるけど、たまにわかってない場合もあるUnrealEngine4を中心としたゲーム制作の話。略すとイモリアル

ボリューメトリック フォグで、必要なライトだけ光らせようとした

f:id:una_unagi:20171103235333p:plain

「ボリューメトリックフォグを使うと光は出せるんだけど、霧自体は必要ないから、光だけ反射してくれないかなあ、と色々試したんだけど。いまいち……」

妹「そりゃあフォグだからね」

「透明のフォグとかにならないものかと。見た感じではならなかった。ただ普通にやるとスタティックライト(ステーショナリーライト)も霧に反映されちゃうから、それをカットすることは出来る。あとは霧の色を調整して目立たなくするぐらい」

妹「フォグじゃないやり方の方が早いのでは」

「そうかもしれない。単純に加算合成のビルボードとかでも出来るし。テレビでやってたハリーポッターのランタンも光ってたけど、光り方がなんかヘンで、フォグっぽくもなかったから、何かしらの特殊効果かけてたんだと思う」

ボリューメトリック フォグを使って、光が差し込む感じの絵を作る

「通常光があたったところは明るくなるんだけど、光の通り道になにもないと、そこは暗いままになる。これは実際にそうなるから仕方ないんだけど、演出的に光が見えて欲しいことがある」

妹「どういう感じの?」

docs.unrealengine.com

妹「なんかカッコイイかんじのやつだ」

「ボリューメトリック フォグを使うと出来るらしいので、やってみるとこうなった」

f:id:una_unagi:20171101212356p:plain
Volumetric Fogあり

f:id:una_unagi:20171101212415p:plain
なし

妹「あんまりかっこよくないような」

「設定とかが足りてなかったかも。でもとりあえず光るようにはなった」

妹「ボリューメトリックって、こないだ言ってたやつとは違うの?」

「あれはボリューメトリックライトマップだから違うやつ。ただ技術的には似てるかもしれない。あと4.18から間接光がボリューメトリックフォグを光らせるようになったというから、だいぶ関係はありそう」

妹「フォグだから霧なんだよね?」

「基本的には指数関数的高さフォグってのが普通の霧で、その設定の中にボリューメトリックフォグをオンにする設定項目がある」

docs.unrealengine.com

妹「指数関数的……」

「そこらへんはまあ霧の内部計算式の問題だから、とりあえず低い位置ほど霧が濃くなるやつというのがわかれば使うのに支障はないはず」

妹「しかしなんで光らせるのに霧が?」

「霧はやってみたことないからよくわかんないけど、例えば雨粒は光るんだよ。だから夜の街灯とか、普通は柱とかアスファルトで反射してるんだけど、雨の日にはその光の道筋が見える。もしくはホコリが舞ってる時とかね。そういう感じの霧を発生されてるんだと思う」

妹「ボリューメトリックにしないフォグだったらどうなるの?」

「その場合は、ただ霧が濃いところが見にくいってだけで、光の影響は受けてないみたいだった」

f:id:una_unagi:20171101215455p:plain
Atomospheric Fog 太陽を向く

f:id:una_unagi:20171101215506p:plain
Atomospheric Fog 横から

「前回やった、空気を再現するAtomospheric Fogでも、正面向きの時はいい感じの光が見える。でも横からだと見えない。だからこれは空気が反射してるんじゃなくて、太陽の眩しさを再現してるだけかなあと」

妹「どう違うの?」

「なんというか、まぶしいって感じで光が広がるのは、目の錯覚で、普通の写真には映らない。エミッシブカラーに明るい色を設定した場合に出来る効果も同じ。錯覚をシミュレーションしてる。でも雨とかが反射してるやつはたぶん写真にも映るというか、原理的にちょっと違う」

f:id:una_unagi:20171101215850p:plain

「このへんの設定で色々霧の光やすさとかが変わる。あとライトの方にも設定があるから、デフォルトでもある程度は光るんだけど、増やした方が光が見やすい」

f:id:una_unagi:20171101220040p:plain
ポイントライト・Volumetric Fogあり

f:id:una_unagi:20171101220051p:plain
ポイントライト・Volumetric Fogなし

「ポイントライトをポンと置いてみた時の違い」

妹「下のだともう全然わかんないね。というかライトないのでは?」

「壁と床にうっすらとあるんだけどね。ライトの場所にエミッシブカラーの球体でも置いておくともう少し違うんだけど」

テンプレートプロジェクトの青空

「4.18でフォグにも間接光が当たるようになったみたいなんだけど、フォグ自体がよくわかってないので、まずフォグのことから調べるといういつものパターン」

妹「フォグは、霧で遠くのがあんまり見えなくなるやつだっけ? なんか使ったことあったような気もする」

「サンプルとかにも組み込まれてるからね。遠くが見えない以外にも、なんか光の効果でやろうとして上手くできなかったやつが、フォグを使うといいらしい」

f:id:una_unagi:20171030232750p:plain

「とりあえず一番身近にあったフォグ。Atomospheric Fogについて調べる。どうもこれの効果で青空になってるらしい」

妹「空はなんかそういうブループリントのせいで青くなってたのでは?」

「BP_Sky_Sphereというやつね。それもなんだけど、フォグも関係してる」

f:id:una_unagi:20171030233351p:plain
Atomospheric Fog + BP_Sky_Sphere(普通の状態)

f:id:una_unagi:20171030233407p:plain
BP_Sky_Sphere のみ

f:id:una_unagi:20171030233416p:plain
Atomospheric Fog のみ

「とりあえず太陽を直視してみたんだけど、こういう風にどちらか片方がなくなると見え方変わる」

妹「どっちもなかったら?」

f:id:una_unagi:20171030233721p:plain

「空が真っ暗になる。Directional Light自体は効いてるから、ちゃんと照らされてるんだけど。それぞれの詳しい使い方はこれらのページに書いてあった」

docs.unrealengine.com

blog.livedoor.jp

「BP_Sky_Sphereは中身ブループリントだからだいぶ融通が聞くんだけど、Atomospheric Fogは頑固。太陽を増やしてやろうと思って、Directional Lightを追加したんだけど、複数あるとどれか1つを勝手に太陽にする。たぶん先に作ったライトが優先」

f:id:una_unagi:20171030234208p:plain

「どっちも太陽は1つしか作れないんだけど、BP_Sky_SphereとAtomospheric Fogで、別の角度に太陽を作ることが出来る。まあヘンな表示になるだけなんだけど」

妹「Directional Lightってたくさん作ったら駄目なの?」

UE4的にあんまり想定してないような気はする。昔の3Dだと平行光源が一番負荷が軽くて、他のは重いからなるべく使わないって話も聞いたことあったんだけどね。光の計算方法とか色々変わってるから」

妹「それでこのフォグでどういう演出をするの?」

f:id:una_unagi:20171030234802p:plain

「パラメータをいじって太陽大きくしたり、大気圏脱出とかはできるんだけど……これは思ってたフォグと違ったみたい」