UnrealEngineでOmniverse
以前テストしたときはUnrealEngine4でOmniverseをインストールするとエラーで
UE4が起動できなくなってしまったので放置していましたが、
改めて試したら起動することができたので、色々と基本的な挙動を調べてみます。
まず、私自身はUE4初心者です(ナニモワカラナイ)
なので、同時にUE4の操作方法も忘れないようにメモしていきます。
設定する
まずUE4でOmniverseを使用できるようにインストールします。
OmniverseのConnectorsを選択して
ADD+から、
自分の使用するUEのバージョンのConnectorをインストールします。
インストールしたらUEを起動して、プロジェクトを作成します。
そしてプロジェクト設定から
プラグインのOmniverseをクリック。
設定のServer Listを選び、Omniverseのサーバーのアドレスを入れて
LiveEditをONにします。
設定すると、こんな感じでOmniverseのアイコンが表示され、
プロジェクトに「Omniverse」フォルダが追加されました。
Omniverseフォルダの中に入ると、指定したサーバーへのログイン画面が出てくるので
作っておいたアカウントでログインします。
ログインできると、OmniverseのDriveがUEのコンテンツブラウザに表示されました。
そして親の顔より見たキッチンセットを開いてみます。
結果のアウトライナ。
同じUSDをCreate側で開いて操作してみると、Syncできているのがわかります。
ただし、最初はLiveSyncONにしているのに同期されず
このアイコンのLiveEditをON/OFFしたりレベルを保存を押したりしたら
動くようになりました。
この辺ちょっとよくわからないです。
USDのレイヤーを確認
ロードはできましたが、アウトライナに表示されるのはUSDのシーングラフでUSDでのPrimが
表示されているわけではありません。
UE4でUSDの構造を確認するには
ウィンドウから Omniverse Layers を表示します。
結果がこちら。
「Layers」なので、シーングラフが表示されているわけではなく、
現在ロードしているアセットのレイヤー、すなわちUSDファイルの一覧が
表示されるもののようです。
Arch_Grpとかはレイヤーじゃない気がするも、、、、?
UE4からUSDを出力
UE4のデータをUSDに書き出すこともできるようで、
アウトライナーからExportしたいオブジェクトを選択→右クリック でExport to Omniverse
すると、
オプションが選べて、Exportすることができます。
FBXで読み込んだMixamoのモデルをそのまま出力したら普通にアニメーションも来ました。
Exportすると、選択したオブジェクトがUSDとして出力されるわけですが
構造的には単一のUSDとして出力されるわけではなく
選択したオブジェクトがリファレンスとして出力されます。
キャラモデルがProps、アニメーションシーケンスが Animations 以下に別のUSDとして出力され
Materialに関してはMDLが出来上がります。
MaterialがMDLで扱えるのは結構良さそうです。
まとめ
とりあえずざっくりと設定方法と、ロードしたりエクスポートしたりする部分を試してみましたが
UE側の知識が足りていないのでなんともいえませんが
LiveSyncしながらUSDベースでレイアウトをしつつ、マテリアル周りを調整したりする...みたいなことが
できるようなので
(Create上でUSDをReferenceすると、UE4側にもそれが反映される)
レイアウトしつつUE4でLookDevをするといった使い方もできそうで未来を感じます。
今回試していないですが、Create-UE4だけではなく
Mayaや他の対応しているConnectorのプラットフォーム間でも同期ができるので
そうなってくると色々とワークフローが変わるんじゃないかな?と夢が膨らみます。
とはいえ、まだ現状だとベータ版という感じがするのと
MayaのPluginと同様同時編集を重ねると何が起こるか謎(Mayaの場合はぶっ壊れる)
なことと、OmniverseのNucleusサーバー前提になってしまう危うさみたいなものがあるので
もうちょっと検証が必要かなーと思います。
今後に期待。
追記
前に試したときにエラーUE4公式のUSDロードプラグインを読んでいるせいでした。
こちら。
USDのライブラリのバージョンが違うせいっぽいですね、考えてみればそりゃそうだ。
Discussion