高解像VRコンテンツ制作(UE5.4編)


ここには、UnrealEngine5.4の3D空間制作に関しては記載しません。
3D空間を制作後、「パノラマレンダリングする手順のみ」を記載します。

この手順により、UnrealEngine5.4の3D空間作品(フォトグラメトリなど)を、
高解像VRコンテンツ(360VR動画など)として出力できます。
今後、最新作品を多くの人にVR体験してもらうため、この高解像VRコンテンツ
制作を活用する事例が増えていくと考えています。

<目次>
 1.UnrealEngine5.4の高解像コンテンツ制作(360VR)
 2.Real-ESRGAN超解像アップスケール(4K⇒8K)
 3.FFMPEGによるフレーム画像の動画変換(Jpeg⇒Mp4[h.265])
 4.設定や操作の画像サンプル



この手順は、UnrealEngine5.4を使用してください。
このバージョンより、VRAM8GBでも動作できるようになりました。
※UE5.3以前では、GPUがVRAM8GBだと正常動作しません
(ちなみに、正常動作にはVRAM20GB必要らしいです)


1.UnrealEngine5.4の高解像コンテンツ制作(360VR)

 この手順は、「Movie Render Queue」のプラグインによるパノラマ動画出力です。
 (ハード条件:RAM32GB以上、VRAM8G以上)

 ①プラグインの設定
  次のプラグインをチェックし、UEを再起動する
  「Movie Render Queue
  「Movie Render Queue Additional Render Passes

 ②Cineカメラアクタの追加
  ・[コンテンツのショートカット(選択モードの隣)]-[1Create(作成)]より、
   [シネマティック]-[Cineカメラアクタ]を選択する

 ③シーケンサの設定
  ・[コンテンツのショートカット(選択モードの隣)]-[3Cinematics (シネマティクス)]より、  
   [レベルシーケンスを追加]を選択する
  ・コンテンツのフォルダ配下に、「Sequenser」フォルダを作成する
  ・Sequenserのフォルダ配下に、「NewLevelSequenser」のファイルを保存する
  ※このフォルダとファイル名は、各自で自由に変更してください

 ④シーケンサの追加
  ・映像表示部の[CineCameraActor]のアイコン選択
  ・アウトライナーの[CineCameraActor]をドラック
  ・シーケンサのウィンドウへ[CineCameraActor]をドロップ

 ⑤シーケンサの操作
  ・[CineCameraActor]の「▼Transform」の部分で、各フレームのカメラの「位置:X,Y,Z」を設定する
  ※360VR動画の場合、画角変化は無視されるので「位置」のみで調整してください

 ⑥パノラマ動画の設定
  ・[シーケンサー]-[シネマティクス]を選択し、ムービーレンダーキューを開く
  ・設定のUnsaved Configを選択し、[+設定]を押す
  ・「パノラマレンダリングを追加」する
  ・「ディファードレンダリングをオフ」にする
  ・「出力」を押し、OutputResolutionを「3840×1920」にする
  ・「承諾」する

 ⑦パノラマ動画に出力
  ・レンダリング(ローカル)を押す
   ※処理が開始される※

 ⑧パノラマ動画の確認
  ・出力のSaved/MovieRendersを押すと、フォルダが表示される
  ・フレーム画像を確認する
  ※この後、コンテンツの最終解像度で分岐する
   4K:FFMPEG動画変換へ(3.FFMPEG~)
   8K:超解像アップスケールへ(2.Real-ESRGAN~)


2.Real-ESRGAN超解像アップスケール(4K⇒8K)

 次の環境構築が済んでいる前提の手順となります。
 ・Real-ESRGANの環境構築(Windows,Python)

 ①ファイル設定(インプット)
  ・4K360動画のフレーム画像を、次のフォルダに配置する
   E:\00_nvidia_work\realesrgan-python\Real-ESRGAN-master/inputs
   ※このフォルダは、各自環境に合わせてください
 
 ②仮想環境起動
  ・AnacondaPromptを起動し、次を入力する

activate realesrgan_gpu

 
 ③ディレクトリ移動
  ・AnacondaPromptに、次を入力する

e:
cd E:\00_nvidia_work\realesrgan-python\Real-ESRGAN-master

   ※このフォルダは、各自環境に合わせてください

 ④実行コマンド(4K⇒8K変換)
  ・AnacondaPromptに、次を入力する

python inference_realesrgan.py -n RealESRGAN_x2plus -i inputs -s 2 –face_enhance

 
 ⑤ファイル確認(アウトプット)
  ・8K360動画のフレーム画像が、次のフォルダを確認する
   E:\00_nvidia_work\realesrgan-python\Real-ESRGAN-master/results
   ※このフォルダは、各自環境に合わせてください
  ・8K360動画のフレーム画像を、FFMPEG変換のフォルダへ移動する

 ⑥仮想環境停止

deactivate

 
 
3.FFMPEGによるフレーム画像の動画変換(Jpeg⇒Mp4[H.265])

 UE5のフレーム画像を動画にするバッチ処理( sample_XXXX.jpg ⇒ output.mp4 )

chcp 65001
ffmpeg -r 30 -i sample_%%04d.jpg -vcodec libx265 -b:v 0 -crf 16 -pix_fmt yuv420p -r 30 output.mp4
pause

 ※ファイル名の「sample」の部分を、実際のファイル名に合わせて使用します。

 動画作成は、次の手順で行います。
 ・「バッチ処理ファイル、ffmpeg.exe、連番のjpegファイル」を同一フォルダ内にまとめる
 ・バッチ処理を実行する(バッチファイルをダブルクリック) 
 
 
4.設定や操作の画像サンプル

 以下を「クリック」すると、画像サンプルを表示します。

1)UnrealEngine5.4
  01_Cineカメラアクタ
  02_レベルシーケンスを追加
  03_レベルシーケンスの設定ファイルを保存
  04_シーケンサーの確認
  05_シーケンサーのカメラ位置操作
  06_シーケンサーのTransform設定
  07_シーケンサーの再生操作
  08_ムービーレンダーキューの起動
  09_ムービーレンダーキューのUnsavedConfig設定1
  10_ムービーレンダーキューのUnsavedConfig設定2
  11_ムービーレンダーキューのレンダリング開始
  12_ムービーレンダーキューのレンダリング処理中
  13_ムービーレンダーキューのワーニング表示
  14_ムービーレンダーキューの出力フォルダ確認