[UEFN]UE5の「HDRIバックドロップ」マテリアルをUEFNに移行してみよう!
久しぶりの投稿です。今何かと話題のUEFN。
Fortniteのクリエイティブマップ制作の自由度がUEFNのおかげで爆上がりしました!
今回はUE5ではおなじみの360°パノラマ画像を背景に使用できるHDRIバックドロップのマテリアルをUEFNに移行してFortniteでゲームプレイ(セッション開始まで)してみようと思います!
合わせて読んでほしい!!!!
移行後のライティングテストやHDRIバックドロップアセットを使用しないやり方は、 RingoGamesさん@RingoGames2022 が検証されていますので、合わせて読んでもらえたらと思います!
RingoGamesさんのブログには他にも、多くのUEFN関連のTIPSがあります。
しかもすべて神記事です!!!!
すべての記事、要チェックです!!!!!!!!!!!!!
RingoGamesさん、いつもありがとうございます🙇🙇🙇
(では、、ここから本題。。。)
1,UE5からUEFNに「HDRIバックドロップ」を移行する。
①早速、UE5を開きます。まずはHDRIバックドロップをビューポートに出してみましょう!
画面左上のアクタ配置ボタンから「ライト」→「HDRIバックドロップ」と選択してビューポートにドラックドロップします。
②こんな感じになるはずです。Fogがかかっていたりうまく表示されていない場合は、画面右側のアウトライナーを確認していらないものを消してみてください!
③「HDRIバックドロップ」で使用されているアセットは、エンジンコンテンツ内に格納されています。
※エンジンコンテンツはデフォルトでは非表示になっていますので、コンテンツブラウザに表示されていない人は、「設定」からエンジンのコンテンツを表示にチェックを入れてください!
④コンテンツブラウザに「エンジン」というフォルダーが表示されたら、「HDRIバックドロップ」アセットを探します。
「エンジン」→「Plugins」→「HDRIBackdrop コンテンツ」
この中に、
・Blueprints
・Materials
・Meshes
・Textures
という4つのフォルダーがあると思います。
こちらをUEFNに移行していきます。
⑤コンテンツブラウザより「HDRIBackdrop コンテンツ」フォルダを右クリックしてUEFNのプロジェクトファイルに移行します。
移行の詳しい手順は、公式ドキュメントを参考にしてください。
⑥こんな感じの画面が出てきます。チェック入れたものが移行されるかたちになりますので、今回は一番上の「Engine」と「HDRIバックドロップ」→「Blueprints」のみチェックを外して移行します。
※UEFNはBlueprintが使用できません。BlueprintClassはありますが。。。イベントグラフはないので、移行したBlueprintClassは、エラーの原因となることが多いかと思います。ご注意ください。
⑦実はここで1つ落とし穴があります。。。。。
今移行してきたものの中に「HDRI_Attributes」というMF(マテリアル関数)があります。
その中に使用されている「DefaultTextureCube」という名前のテクスチャーキューブがこの操作では移行できていません。。。
気づかないとUEFNでずっと見つかりません!!!っていうエラーが出続けてしまいます。。
正直、移行後、UEFNで任意のテクスチャーキューブを割り当ててしまえば、問題は解決なのですが、よくわからない人は、「DefaultTextureCube」も移行しておきましょう!
「DefaultTextureCube」の場所は、コンテンツブラウザより、
「エンジン」→「コンテンツ」→「EngineResources」の中にあります!
⑧移行の手順は、「DefaultTextureCube」を選択して右クリック。
「アセットアクション」→「移行」と選択してください。
2,UEFNでドーム状のスタティックメッシュを配置する。
①UEFNを開きます。無事移行に成功していれば、下図のように13アイテムが移行されているはずです。(いくつか必要ないものもありますが。。)
②コンテンツブラウザより、Meshesフォルダーから「EnviroDome」をビューポートにドラッグドロップしてみます。
はじめは、とても小さいので、拡大縮小ツールなどで任意の大きさまで拡大するようにしてください。
今回は詳細パネルからトランスフォーム項目、拡大・縮小の数値を50に設定しました。
3,マテリアルを設定する。
①Materialsフォルダーから「HDRI_Attributes」を開きます。
開くと、こんな感じのマテリアルノードが出てきますので、HDRI_Mapというノードを探してクリック。
※すでに「DefaultTextureCube」が割り当てられているように見えますが、まだ、割り当てられていません!!
詳細パネルのHDRI_Map項目へ、先程移行してきた「DefaultTextureCube」をドラッグドロップします。
②EnviroDomeを選択して、詳細パネルを開き、Materialsフォルダーから「MI_HDRI_CenterProjection」マテリアルを割り当てます。
③割り当てた「MI_HDRI_CenterProjection」を開きHDRI_MAPのチェックマークをONにして、Texturesフォルダーから移行してきた任意のテクスチャーキューブをドラッグドロップします。
今回は、一番左の「approaching_storm_4k」を使用しています。
※もし万が一、「MI_HDRI_CenterProjection」を開いて何も表示されない場合は、こちらマテリアルインスタンスになりますので、ベースマテリアルが割り当てられていない可能性があります。
その場合は、「HDRI_Projection」をParentという部分にドラックドロップしてください。
4,セッションを開始してみる
①無事成功していればこんな感じになってるはずです。
②ここで一度セッションを開始してみましょう!!
③セッションを開始が上手くいけば、こんな感じになるはずです!!
5,割り当てたマテリアルの各種設定を調整してみる
割り当てたマテリアル「MI_HDRI_CenterProjection」を開いてみます。
一番上から
・HDRI_Angle
・Intensity
・LightingDistance
:
:
と並んでいますが、HDRI_Angleが背景画像の回転、Intensityが画像の明るさを調整する項目となっています。
今回は移行が目標でしたので、詳しくは、HDRI Backdropのドキュメントを見ていただければと思います。(すみません。。。。。)
6,実際にMAPに使用したときの参考映像
7,最後に
どうでしたでしょうか!?UnrealEngineになれていないと、移行するときにどれを移行すべきなのか・・また、移行してきた後にエラーが出てしまい、何を調整したらいいのかわからないことが多くあるかと思います。
移行時にエラーが出やすい注意点として、
①UEFN未対応アセットの削除
ビックリマークが出てしまったアセットについてはUEFNにてサポートされていないので削除するしかない。
レベルで未使用だとしてもエラーが出てセッションを開始できません。
移行してきたブループリントクラスなどは基本的に使えないと思ったほうがよい。(もちろん例外あり)
②UE5から移行したレベルをそのまま使用してセッションを開始しようとすると、下記のエラーが起こる可能性あり。
LogValkyrieValidation: Error: [16] Found disallowed object type
/Script/Engine.NavigationSystemConfig
LogValkyrieValidation: Error: [16] Found disallowed object type
/Script/NavigationSystem.NavigationSystemV1
こちらはもしかすると最新版では直っている可能性ありますが、移行してきたレベルをそのまま使用するのは、今のところおすすめしません。
こちらについては、Epic Games Japanの塩谷さんが、
UE5からUEFNへ移行したレベルでセッション開始時に出るエラーの回避方法(NavigationSystemV1について)にて詳しく対応策を公開していただいています!!!
ありがとうございます!!!!!
③Custom Nodeマテリアルエクスプレッションカスタムついて
よくエラーが出るものとして、Custom Nodeマテリアルエクスプレッションカスタムがあります。
こちらはややこしいのですが、マテリアルエディター上ではエラーは出なく、使用できると勘違いしてしまいますが、セッション開始するとエラーが出て使用できません。ご注意ください。
ということで簡単ではありますが、これで終わります!
よいUEFNライフを!!!!!!!!
おまけ①
仕事の合間で書いているのと、なれないブログ書き、人より数倍時間がかかってしまい、なかなか情報発信できずすみません。。。
これからも出来る限り、情報共有できたらと思いますが、もしこういう記事でも役立ったよ~~~!って人がいればうれしいです!!!
Fortniteクリサポも「WANIM」でやってます(小声)
おまけ②TwitterでUEFNに関して発信しています!
もしご質問や別記事のご要望などあれば、その都度ツイートにリプなど頂ければと思います!!
要望が多いものなどはどんどんやり方とか公開できたらと思ってます!
よろしくお願いします!
Twitter @wanimation2910