Unreal Engine 5でパノラマ画像をレンダリングする方法を解説します。UE5にMovie Render Queue Additional Render Passesというプラグインを追加することにより、難しい設定をせずにパノラマ画像のレンダリングが可能になりました。更に.EXR(16ビット)にも対応しているので、HDRI画像として環境ライティングに利用することも可能です。
プラグインの有効化
プロジェクト作成後、まず、Movie Render Queue Additional Render Passesプラグインを有効にすることが必要です。このプラグインを使うことで、パノラマレンダリングや追加のレンダーパスが利用できるようになります。

編集(Edit) > プラグイン(Plugins) を選択します。

①検索バーに「Movie Render Queue 」を入力します。
②Movie Render Queue プラグインを有効化します。
Movie Render Queue Additional Render Passes、プラグインを有効化しBeta版アナウンス画面を確認します。
③「今すぐ再起動」をクリックします。
新規レベル作成

ファイル(File) > 新規レベル(New Level) を選択します。

①「新規レベル」ウィンドウから、今回はサンプルレベルとして「Open World」を選択します。
皆さんはご自身でお好きなマップをお選びください。
②作成をクリックします。
カメラの追加
次に、レンダリング用のカメラを追加します。

画面上の+アイコンをクリックして
「シネマティック(Cinematic)」>「Cineカメラアクタ(CineCameraActor)」
を選択します。
カメラの設定
カメラの位置を原点移動します。
パノラマレンダリングでよくある問題として、カメラの自動露出が適切に制御されないケースが発生します。これを防ぐために、カメラの自動露出をオフに設定します。

詳細エディタに移動します。
位置 X0.0 Y0.0 Z160.0
※立ち位置は原点、目線は160㎝に設定しました。
回転 X0.0 Y0.0 Z0.0
全て0に設定します。
☑測光モード Manual
☑露出補正 10.0(ご自身の環境で設定してください。屋外であればやや暗めがおすすめです。)
レベルシーケンスを追加
レンダリング用のレベルシーケンスを追加します。

画面上の

任意の名前を設定し、「保存」します。

シーケンサーのトラック内に作成したCineカメラアクタをドラッグ&ドロップします。

今回レンダリングする画像は1枚のみとします。
①カメラカットのサムネイル付近を右クリックします。
②プロパティから
「セクション範囲の終了」に1を指定します。
ムービーレンダーキュー( Movie Render Queue) の設定

シーケンサーの
ムービーレンダーキュー(Movie Render Queue) を開きます。
シーケンサーで作成したシーンがムービーレンダーキューに読み込まれた状態でウィンドウが開きます。
「設定」項目のUnsaved Config*をクリックします。
パノラマレンダリングの設定
パノラマレンダリングの詳細設定は次のように進めます。

設定ウィンドウが表示されます。
.jpgシーケンス(8ビット)とディファ―ドレンダリングは今回使用しません。
OffにするかDeleteキーで消去します。
追加レンダーパス(Additional Render Passes)の設定
+設定ボタンでAdditional Render Passes のオプションを追加します。

今回は4つのオプションを追加します。
.exrシーケンス(16ビット)

レンダリングするフォーマットです。デフォルトのままでOk
パノラマレンダリング

プラグインで追加されたパノラマレンダリング用の設定です。
ペインごとに履歴を割り当て(Allocate History Per Pane)☑
にチェックを入れることで間接照明が有効化されます。
アンチエイリアス

レンダリング制度をあげます。
Temporal Sample Count 16
にします。
GPUに負荷がかかるのでレンダリング時にエラーが出た場合はOFFにします。
ゲームオーバーライド

テクスチャのミップマップ化などを防ぎ高品質なレンダリングを行います。
今回はデフォルトのままです。こちらもGPUのメモリと相談しながら設定します。
出力

最後に「出力」タブに戻ります。
解像度の設定では、360度パノラマをレンダリングする場合、縦横比が2:1になるように設定します。
一般的な例として、4096×2048や8192×4096を使用します。
Outtput Directory(出力先フォルダ)
File Name Format(ファイル名)
を確認後
承諾をクリックします。
レンダリングの実行

「レンダリング(ローカル)(Render Local)」をクリックします。

レンダリング前に未保存のアセットの保存を行います。
「選択内容を保存」をクリック

ムービーレンダーキューがレンダリングを実行します。
パノラマレンダリングの際はRenderPreviewは部分的です。気にせずしばらく待ちましょう。
レンダリングの最適化とエラー回避
パノラマレンダリングは、非常に高い解像度でのレンダリングが求められるため、以下のポイントを確認し、エラーやパフォーマンスの問題を回避します。
レンダリング時間の最適化
- アンチエイリアス設定を高品質に設定するとレンダリング時間が大幅に延びるため、必要に応じて調整します。
- ライトの設定は適切な範囲に制限することで、処理負荷を軽減できます。ライトの影響範囲を狭めたり、必要ないオブジェクトへの影響を排除します。
VRAMの不足を防ぐ
- 高解像度のパノラマをレンダリングする際、VRAM(GPUメモリ)が不足しやすいため、メモリを節約するためにテクスチャの解像度を調整します。
- また、GPUを使用するレンダリング設定を確認し、必要に応じてメモリ消費量を監視しながら進めます。
出力されたパノラマ画像の確認
設定したフォルダに保存された出力ファイルをAdobePhotoshopなどで開いて、パノラマ画像として出力されていることを確認します。

出力されたファイルは360度ビュー対応のプレイヤーやVR環境でも確認できます。必要に応じて、映像編集ソフトでポストプロダクション作業を行えばVR動画の作成も可能です。
Blenderの環境テクスチャに読み込んだ例
BlenderでのHDRI画像の設定方法は以下のサイトをご覧ください。

レンダリング結果から、作成したHDRI画像がライティング情報として読み込まれたことを確認できました。
まとめ
Unreal Engine 5でパノラマ画像をレンダリングする方法を解説しました。3DCG上で天球を作成することに違和感を覚える人もいるかもしれません。しかしこの手法はゲーム業界では描画負荷軽減や、天球と実オブジェクトのテイストを合わせるために古くから使われてきました(スマートフォンゲームなどでは今も現役の技術です)。また、UnrealEngineを動画制作に使う場合でも、UnrealEngine上で組んだアセットやライティング環境を他の3DCGツールやレンダラーにもっていく局面があります。力業ではありますが、このような手法を知っておくことで、作業の効率化と時短につながる可能性が高くなります。
何かの縁でこのページに行きついた皆様におかれましては、このページが問題解決の一助になればと考えております。最後までお読みいただき誠に有難うございます。
