LoginSignup
35
23

More than 1 year has passed since last update.

Luma AIで撮影したNeRFデータをUnreal Engineで表示する!

Last updated at Posted at 2023-04-04

はじめに

Luma Unreal Engine Pluginが公開されました!

ということで、さっそくLumaAIのNeRFデータをUnreal Engineで表示してみましょう!

最終的にこのLumaデータが

Unreal Engineでこうなります。

前提

  • LumaAIでの撮影は終わっている
    • まだの方はこちらの記事を参考にしてください!
  • Unreal Engine5.1をインストールしている
  • Unreal Engineの最低限の使い方を把握している

手順

1.サンプルプロジェクトをダウンロード&解凍

公式ページにアクセスし


Zipファイルをダウンロードして、解凍します。

2. uprojectをダブルクリック

最初時間がかかります。

3.Luma Fieldファイルをダウンロード

4. Unreal EngineのContent Browserにlumaファイルをドラッグ&ドロップ

NeRFキャプチャ用のブループリントが生成されます!これをドラッグするとUnreal Engineで使うことができます!

5.ブループリントの説明

  • Baked: これらのブループリントには、キャプチャしたときの照明が含まれているため、キャプチャにできるだけ近い状態で表示されます。影や照明の影響を受けませんが、他のルマフィールドやアンリアルオブジェクトと合成することができます。
  • Dynamic: これらのブループリントは、Unreal のライティングとシャドウの影響を受けています。
  • Cropped: これらのブループリントには、キャプチャーの中心オブジェクトが存在する場合、自動的にトリミングされたバージョンが含まれています。
  • With Environment: さらに、キャプチャ時に見えなかった領域についても、キャプチャごとに適切な空模様をレンダリングします。

6. ワールドにドラッグ&ドロップ!

7. Third Personを追加する方法

  • Contentブラウザを右クリック
  • Add/Import Content > Add Feature or Content Pack

  • BluePrint
  • Third Person
  • Add to Project

  • World Settings
  • GameMode OverrideをBP_ThirdPersonGameModeに変更

8. Groundをいい感じに設定する

サンプルプロジェクトだとGroundCubeがあります。いい感じの高さ角度に調整しましょう

9. PlayerStartをいい感じに設定する

Unreal EngineではPlayerStartからPlayerがスタートする設定があります。
位置を調整しましょう。

10.完成!

このように歩き回れるようになります!
楽しい!

11.その他

  • BPのScaleを (15,15,15)に設定
  • GroundをCollisionは別途設定

公式ホームページ補足情報

Use cases

Luma Fieldsの使い道想定

  • バーチャルプロダクションやゲームに含める
  • 従来のグラフィックコンテンツと合成する
  • VRに使用する

制限事項 (公式ページより)

  • Unrealの一部のプロジェクトやレンダリングオプションは動作しないかもしれません。私たちのチームによってテストされた設定のスタータープロジェクトをお勧めします。
  • Auto-Exposureは現在サポートされていませんので、手動exposureをスタータープロジェクトのデフォルトである〜10程度の値に設定することをお勧めします。
  • 現在、キャプチャーのクロップはサポートされていませんが、近日中に対応する予定です。

FAQ (公式ページより)

Q. スタータープロジェクトを使用せず、別のプロジェクトでプラグインを使用することはできますか?

A. はい、スタータープロジェクトからPlugins/LumaAIPluginフォルダをお好みのプロジェクトにコピーし、Unreal Editorを再起動することで完了します。

  • Temporal Anti-Aliasing / Temporal Superresolution / DLSSを動作させるためには、プロジェクトの設定 Project Settings -> Rendering -> Optimizations -> "Velocity Pass""Write after base pass" に変更する必要があり、そうしないと画像が汚れたりぼやけたりします。
  • 現在では、手動でexposureを設定する必要があります。これは、Project SettingsかPostProcessVolumeで、Auto Exposure modeかMetering modeをManualに設定し、Exposure Compenstation10程度に設定することで可能です。

Q. Web上のRenderに対してUnreal上の見た目が奇妙に見えます...!

日々改善しているのでDiscordでフィードバックお願いします!

Q. Collisionを設定できますか?

A. 現在、私たちのプラグインブループリントには、デフォルトのコライダーが付属していません。コリジョンが必要な場合(シミュレーション、VRテレポート、物理的なインタラクションの場合)、簡単な近似方法として、見えない球体や立方体のコライダーを追加することができます。

冒険すれば、Luma Webからキャプチャのメッシュをダウンロードして、手動で位置合わせすることも可能です。

Q. このプラグインはUnreal Engine専用になるのでしょうか?Unity/Blenderについてはどうでしょうか?

A. 現在は、Unreal との統合を可能な限り良くすることに力を注いでいます。それが完了したら、他の一般的なゲーム エンジンやレンダリング フレームワークと統合するためのオプションを調査する予定です。

Q. Luma FieldsはNaniteメッシュと相互作用するのでしょうか?

A.はい!スタータープロジェクトでは、Naniteは無効になっていますが(Naniteは新しいGPUとD312 / Vulkan APIでのみサポートされているため)、Project Settingsから以下を変更することで有効にすることができます。

  • Engine → Rendering → Naniteにチェック
  • Platforms → Windows → D3D12 Target Shader Formats -> SM6 Windows with D3D12上でチェック
  • Platforms → Windows → Targeted RHIs → Default RHIDirectX 12 にする
35
23
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
35
23