見出し画像

UnrealEngineからNVIDIA/Omniverseにモデルをインポートする方法

はじめに


NVIDIA Omniverseは、リアルタイムで3Dデータを統合し、シミュレーションできる強力なプラットフォームです。本記事では、Unreal Engineで作成した3DモデルをOmniverseにインポートする手順を解説します。
UnrealEngineにある豊富なアセットをNvidiaのOmniverseで活用することができるようになります。

※この記事の対象は、UnrealEngineユーザーとOmniverseユーザー両方を対象としています。それぞれのプラットフォームの基礎的な内容も含まれていますので必要に応じて読み飛ばしてください。


Omniverseとは


NVIDIA Omniverseは、リアルタイムで3Dデータを統合・編集・シミュレーションできるコラボレーションプラットフォームです。PixarのUniversal Scene Description(USD)を基盤にしており、異なる3Dソフトウェア(Blender、Unreal Engine、Mayaなど)をシームレスに連携できるます。AIや物理シミュレーション(PhysX、Flowなど)も活用可能で、デジタルツイン、産業設計、ゲーム開発、VFXなど幅広い分野で利用されることを想定して開発されました。クラウドやローカル環境で動作し、複数ユーザーが同時に作業できるのも特徴です。

こちらの記事に概要をまとめています。

UnrealEngineとは

Unreal Engine(UE)は、Epic Gamesが開発する高性能なゲームエンジンです。リアルタイムレンダリングに優れ、ゲーム開発だけでなく、映画、建築、シミュレーション、メタバースなど幅広い分野で活用されています。ブループリントと呼ばれるビジュアルスクリプティングにより、プログラミング不要でゲームロジックを構築可能。さらに、Nanite(仮想ジオメトリ)やLumen(グローバルイルミネーション)などの最新技術により、圧倒的なグラフィック品質を実現します。オープンで柔軟な開発環境を提供しており、その高い汎用性と拡張性から、多くの開発者に支持されています。

https://www.unrealengine.com/ja

必要な準備

Omniverse Connector for Unreal Engine のインストール

Omniverseに対応するため、Unreal Engine用のOmniverse Connectorをインストールする必要があります。手順は以下の通りです。

1.Omniverse Launcher を開き、更新 タブに移動します。

2."Omniverse Connector for Unreal Engine" を検索し、インストールします。これがUnrealEngineとOmniverseをつなぐコネクターになります。

※最新のUEのバージョンには対応していないため注意が必要です。2025年2月時点では、UEの最新版は5.5ですが、コネクターのバージョンは5.3となります。

UnrealEngineのインストール

Omniverseのコネクターに対応したUnreal Engineをインストールします。起動すると左上にNVIDIAのロゴが表示されます。

表示されない場合は、プラグインのディレクトリ(先ほどインストールしたOmniverseのコネクター)をマニュアルで指定してみてください。

モデルの準備

Omniverseに入れ込みたい、UnrealEngineのモデルを用意します。

今回はFabで購入(無料キャンペーン中に獲得した)できる、Tokyo Stylized EnviromentをUEプロジェクト内に取り込みます。モデルというよりかは街並みそのものを移行してみます。


※Unreal EngineのFabは、3Dアセット、キャラクター、環境、VFX、サウンドなどを提供するマーケットプレイスです。Epic GamesのUnreal Engine MarketplaceQuixel MegascansSketchfabなどを統合し、ゲーム開発や3D制作に必要な素材を簡単に入手できます。Unreal EngineやOmniverseと連携し、クリエイターがシームレスにコンテンツを活用できるのが特徴です。Fabでは毎月、無料のアセットを手に入れることができます。


移行作業

Omniverse側のサーバーを指定

Add severをクリックして、Omniverse側のフォルダを指定します。

Local環境ならlocalhostになるかと思います。

モデルのExport

Export Level to Omniverseで今開いているLevelそのものを移行することができます。

移行するUnrealEngineのモデル(街並み)

設定画面が出てきます。
ここでマテリアルの設定、座標、レイヤーなどを設定することができます。
今回はデフォルトのまま、OKします。この際にファイル名などを指定します。

移行画面が表示され、移行が行われます。

Omniverseで開いてみる

OmniverseのUSD Comporserで開いてみます。

指定したフォルダに、先ほど名前を付けたUSDファイルが保存されているはずです。

クリックすることで開くことができます。

Omniverse(USD Comporser)に移行後のモデル

ライティングの調整

ライトまでは完全に移行できなかったようで、影の濃さがUnrealEngineとOmniverseで異なっています。
UnrealEngineでいうSkyLightをOmniverse上でつけ足してみます。
OmniverseにはDoomLight(おそらくSkyLightのようなもの)が用意されているので、これをViewに配置します。

Intensityを調整すると以下のように、自然な影になりました。

ライティング調整後のOmniverse(USD Comporser)のモデル


比較画像

参考に両者の比較画像を並べておきます。
枠を見ればどちらかは分かるかと思います。

まとめ

本記事では、Unreal EngineのモデルをNVIDIA Omniverseにエクスポートする手順を解説しました。便利なツールがあるので比較的簡単に移行することができました。

モデルによってはマテリアルが抜けてしまったり、アセットがうまく再現できなかったりする場合もあると思います。この辺りは、機会があれば別の記事で取り上げたいと思います。ただ現状は、手作業で直さなければいけない部分もあるという認識です。

UnrealEngineのFabから入手できる豊富なアセットをOmniverseでも活用できるのは、非常に便利ですので、皆さんもぜひやってみてください。

いいなと思ったら応援しよう!