関連ブログ
- [UE4][UE5]開発環境の容量を少しでも減らす 2024.08.14UE
- [UE5] PushModel型のReplicationを使い、ネットワーク最適化を図る 2024.05.29UE
- [UE5]マテリアルでメッシュをスケールする方法 2024.01.17UE
CATEGORY
2020.05.18UE4
執筆バージョン: Unreal Engine 4.24 |
Megascansで映像制作の関連記事はこちらです。
Megascansについて https://historia.co.jp/archives/13752/
最適化してみる https://historia.co.jp/archives/14276/
こちらの動画を元に、動画をより良く見せるのに便利な機能を紹介したいと思います。今回の記事はライティングはすべて動的で行われています。
また合わせて最後の方でBridgeについても紹介します。Bridgeは以前サインインがうまくできない問題が有りましたがアップデートで修正されていますので、この機会に是非!
目次
・Volumetric Fogを使ったゴッドレイ表現
・Light Shaftについて
・暗すぎる部分のディテールを出す
・Bloom Convolutionを使用する
・被写界深度(Depth of Field)を設定する
・パーティクルを追加する
・Bridgeについて
まずは映像を盛るためのTipsです。
画像のようなゴッドレイ表現の手法の一つとして、Volumetric Fogを使用する方法があります。
Volumetric FogはExponential Height Fogとライトの設定で行えます。UE4には2種類のフォグがあります。デフォルトのシーンに置かれているフォグはAtmospheric Fogという別のフォグですので注意してください。
まずExponential Height Fog側の設定項目を見ていきます。
Volumetric Fog | チェックボックスを入れることによってVolumetric fogを使用することが可能になります。 |
Scattering Distribution | 拡散の指向性です。値が1に行くとライト寄りの拡散となるため、光源に近い方にVolumetric fogの効果がより現れます。 |
Extinction Scale | フォグの粒子がライトの光を受け止める量をスケールします。1以上にするとゴッドレイの効果が出ているところ以外も光を受け止めるため、フォグ全体が濃くなってしまう可能性があります。 |
次はライト側のVolumetric fogの設定項目を見ていきます。
Volumetric Scattering Intensity |
Voluemetric Fogへのライトの効果を調整します。ただしこちらの項目もFogのExtinction Scaleと同様にDirectional Lightなど、広い範囲を照らしているライトのVolumetric Scattering Intensityを上げすぎると全体的にFogが濃くなってしまうので注意が必要です。 |
Cast Volumetric Shadow | チェックを入れるとVolumetric Fogが遮蔽物を考慮するようになります。こちらはDirectional Lightにはデフォルトでチェックが入っています。 |
Cast Volumetric Shadowの項目はPoint LightやSpot Lightで使用する場合にはチェックを入れる必要がありますが、処理負荷が上がる項目ですので注意が必要です。以下の画像の左がDirectional LightのCast Volumetric ShadowがONの状態で洞窟の穴の空いている部分から入ってくる光のみにVolumetric Fogの効果が出ていますが、OFFにすると光の遮蔽を考慮しないため、全体的にVolumetric fogがかかってしまいます。
ゴッドレイを表現する別の手法としてLight Shaftがあります。Light ShaftはFog無しで、ライトのオプションのみで機能します。
Light Shaft Occlusion | Directional Lightでのみ設定可能です。チェックを入れるとフォグなどの大気中へのライトシャフトの影響をスクリーンスペースでオクルージョンしてくれます。 |
BloomScale | Light Shaft効果の強度をスケールします。 |
Volumetric fogと異なる点は光源の方に向かないとゴッドレイが見えない点です。下の画像の左側はやや光源の方を見ているのでゴッドレイが出ていますが、右のように光源の方を全く見ていないとゴッドレイ効果は出なくなります。今回は光源の方を向かなくてもゴッドレイ効果が出てほしいため、Volumetric fogを選択しましたが、光源の方を見たときにだけ効果が欲しい場合はこちらのほうが効果的かもしれません。
今回の動画の様に、影になる部分が多く、またその部分が真っ黒になってしまう場合があります。狙ってそのような状態を作っている場合でなければ、真っ黒に塗りつぶされてしまい、その部分の絵の情報がなくなってしまいます。そのために黒く潰れてしまった部分を見やすくする方法を紹介したいと思います。(※動的ライトで照らしている場合です。ライトビルドを行えば間接光が計算されます。)
紹介するのはFog、Directional LightのShadow Amount、Sky Lightです。
まずシーンのメインのライトであるDirectional Lightだけにしてみます。ライトビルドなどを行ったりしないと、UnrealEngineでは間接光的な表現を生み出さないため、影の部分は真っ黒です。
上記のシーンにExponential Height Fogを追加すると以下のようになります。表面の詳細な情報はまだ不明瞭ですが、奥行きの差があるときのシルエットが見やすくなっています。
さらにDirectional LightのShadow Amountを1から0.97に変更してみます。この値は影(Shadow)の濃度のみをコントロールできます。形状によるオブジェクト自体の陰(Shade)には影響を及ぼしません。
これで陰の部分が真っ黒から少し見えるようになりました。
最後にSky Lightを追加してみます。シーン全体がCubemapを元にライティングされたため、暗いところが見えるようになっています。Cubemapに使用するHDR画像はできるだけ作成しているシーンと似たような画像を用意したほうが、より自然な効果になりやすいです。
このように黒く潰れてしまった部分をいくつかの方法で少し見えるようにしてあげることで画面の情報量を上げることができます。ただし、やりすぎるとどれも本来のライティングでできた影を打ち消してしまい、のっぺりとした画面になったり、光源がどこにあるのか不明瞭になったりするので注意して調整しましょう。(記事の画像もあくまで説明用のものになります)
また間接光代わりに、薄くライトを置くのも効果的です。(ライトの置きすぎは映像用といえども重たくなる+作業の混乱のもとになりやすいので注意しましょう)
では次にPostProcessについてはBloom Convolutionと被写界深度について触れていきます。
通常のBloomはGaussian Blurを使用しているため、光が均一に拡散するようにBloomがかかります。ConvolutionではBloomの形状をテクスチャで制御することができます。テクスチャを特に指定しない場合は8方向へとBloomするようになっています。画像の左が通常のBloom、右がConvolutionのBloomです。
Bloom Convolutionを使用するにはPostProcessのBloomのMethodをConvolutionに変更します。また、Convolution Kernelにテクスチャを適用することで、Bloom形状を変更できます。
星型のテクスチャを適用するとBloomの形状もテクスチャに合わせて星型になります。
テクスチャ全体は以下の様に、Bloomの形状自体は小さく描いたほうが良いです。また階調がなめらかに変化していると、Bloomがきれいに出ます。
UE4の被写界深度は4.23を境に設定項目が変わります。以前はボケの種類がBokeh、Gaussian、Circleから選べるようになっていますが、4.23以降のバージョンではMobile以外は1種類(Cinematic)のみとなっています。
今回4.24で作業しているため新しいCinematicの方を使用しています。
まず、カメラのFocus SettingsからManual Focus Distanceを調整してピントが合う位置を調整します。Draw Debug Focus Planeにチェックを入れると焦点位置を示すプレーンが表示されるので、どこに焦点位置があるのかわかりやすいです。
焦点位置を決めたら、次はボケ具合を調整します。カメラ自体のPostProcess、もしくはPostProcessボリュームを配置して、Lens>Depth of Fieldから調整することができます。
Depth Blur km for 50% | Depth Blur Radiusで設定した半径の半分でブラーされる距離を調整します。より近い距離からブラーを掛けたい場合は小さい値を入れましょう。 |
Depth Blur Radius | 画面解像度が1080pのときのピクセル単位で指定するブラー半径です。より強いブラーを掛けたい場合は大きな値を入れましょう。 |
は以下はDoF(Depth of Field)の効果の比較です。DoFを使用することにより距離感をわかりやすくしたり、注目させたい部分以外をぼかすことで見る人に対してわかりやすい絵にする効果があります。
次に空気感を出すためのパーティクルについてです。
この動画のシーンには2種類のパーティクルを使用しています。
まず1つ目は空気中の塵などを模しているパーティクルです。このパーティクルはごく小さいものですが、カメラに近い塵と遠くの塵で差ができ、また揺らいでいることで手軽に空気感や奥行きを表現できます。
2つ目に部分的なFog的な効果を出すパーティクルです。以下のシーンでは、オブジェクトをあまりはっきりと見せたくなかったため、パーティクルを置いています。このような範囲の狭いFog効果は通常のFog(Exponential HeightもしくはAtomosheric)ではやりづらいため、エフェクトで追加しています。
Tipsは以上になります。最後にBridgeについてです。
Bridgeを使用するとUE4へのMegascansの管理やインポートが簡単になります。
Bridgeはこちらからダウンロードすることができます。
https://quixel.com/bridge
Bridgeを使用するにはサインイン用のアカウント(Megascans同様Epicアカウントで可能)が必要です。
Bridgeをインストールしたらひとまず何かアセットをダウンロードしてみます。
アセットをダウンロードする前に保存先を設定しておきます。
保存先はEdit>Settings>LOCAL LIBRARY PATHから設定できます。
アセットをクリックすると右側にDOWNLOAD SETTTINGSが出てきます。
ダウンロード設定は以下の項目を設定変更できます。Material PresetはUnreal 4に設定しておくと良いでしょう。
LODなどメッシュに関する設定はメッシュが含まれているアセットでのみ設定項目が表示されます。マテリアルのみのアセットはテクスチャ設定のみが表示されます。
ストレージの容量がある場合は、高解像度のテクスチャ、必要になりそうなテクスチャやLODやデータをダウンロードしておいて、UE4へエクスポートするときにダウンロードしたものから要素を省いたり、低解像度を選択することができます。
アセットがダウンロードできたら、左のAcquiredからダウンロードしたアセットをクリックします。
すると右側にEXPORT SETTINGSが出てくるので設定します。
ここでBridgeとUE4の連携させためのエンジンバージョンの指定やプラグインのダウンロード、使用するプロジェクトのパス設定を行います。
EngineVersionにはPluginを使用するエンジンのバージョンを設定し、Instollation Folderには使用するUE4のプラグインフォルダを設定してください。
Instollation Folderを設定すると自動的にPluginのインストールが始まります。
ProjectLocationはMegascansをインポートしたいUE4プロジェクトフォルダを設定してください。
これでBridgeを利用する設定は完了です。設定が完了したら使用するUE4プロジェクトを開いてMegascansPluginが有効になっているか確認しましょう。
有効になっていればメニューアイコンにMegascansが並んでいるはずです。
このメニューをクリックするとインポート時の設定を変更することができますが、デフォルトの設定でも特に問題は無いようです。
UE4での設定が確認できたらBridgeに戻り、アセットをエクスポートしてみます。
BridgeからUE4へのエクスポート設定は以下になります。エクスポート時に変更できる項目は少ないため、ダウンロード時に必要な設定を確認しておきましょう。テクスチャ解像度やLODはダウンロード時のものから下げることができます。
設定ができたらExportを押します。エクスポートしたものが自動的にフォルダ分けやマテリアルやLODの作成、設定が行われます。この部分が自動で行ってくれるのはとても便利ですので、この機会にぜひ使って見てください。