|

2025-03-24

研究開発

NVIDIA Omniverseを使って同時編集やってみた

3DCGUnreal Engine

複数ソフトで同一ファイルを同時編集してみた

以前の記事で、テレビ番組の背景セットを3DCGで制作していることを少しだけご紹介しました。

実際の現場では Maya や 3ds Max でモデリング、FBX や OBJ で書き出したあと Unreal Engine に持ち込んで描画、というフローを取っています。

例えばシーンが完成した後にモデルの修正が必要になった場合、再度モデリングをして書き出し、 Unreal Engine にインポートして… と工数がかかってしまいます😮‍💨

そのほかにも、同じフォーマットで書き出したがバージョンが異なっているようなことや、形状データを書き出したら互換性がない機能を使っていて思い通りにならない、など様々な問題が発生します。

こんなとき、モデリングソフトと描画ソフトがリアルタイムに同期できたら… 🤔というのを私自身も感じていました。

 

そんなときに活躍するのが NVIDIA Omniverse のコラボレーション機能です!

今更ながらコラボレーション機能を使ったことがなかったので、複数ソフトで同時編集する方法をご紹介します。

(今回は仕様上ローカルでの検証になります。)

 

動作環境

  • OS : Windows11

  • CPU : Intel Core i9-13900KF

  • GPU : NVIDIA GeForce RTX 4070 Ti

  • Unreal Engine 5.3.2

  • NVIDIA Omniverse Launcher

    • Omniverse USD Composer

 

 

なぜ同時編集ができるのか?

一言で説明すると、「Omniverseというプラットフォームを経由してNucleusというデータベースの中にあるファイルを、OpenUSDという共通のフォーマットでやりとりしているから」です。なかなか難解ですね🧐

まずキーワードとなるのは「 OpenUSD 」です。OpenUSDとはピクサーが開発した、互換性のあるソフトウェアとプラットフォーム間で相互運用可能な共通のフォーマットです。(正確に言うとファイルフォーマットではありません)

また、レイヤーの構造を持っており、前段の作業履歴を持ったまま作業の結果を合成することで、元々のデータを上書きせずに編集できるので、非破壊編集が可能になっています。

このOpenUSDの機能によって、異なるソフトでも同じファイルを扱えるようになっています。

次にキーワードになるのは「 Nucleus 」です。NucleusとはOmniverseのデータベースおよびコラボレーションエンジンです。複数のユーザーを複数のアプリケーションで同時にライブ接続できる機能を持っており、OpenUSDのデータをリアルタイムで編集することができます。

以上の機能によってリアルタイムに、複数ユーザーが異なるソフトで編集できるようになっています!

 

では早速、同時編集の機能を試していきましょう!

 

 

NVIDIA Omniverseの設定

※下記サイトからOmniverse Launcher をダウンロードし、各種アカウント設定を完了させてください

 

1. Nucleusサーバーのダウンロードとインストール

Omniverse Launcherを開き、Nucleusタブを選択する

今回はローカルのサーバーを作成するので「Create Local Server」を選択する Monosnap_Image_2025-03-14_14-23-04

 

ストレージのパスを指定する Monosnap_Image_2025-03-14_14-24-46

 

管理者アカウントを作成する

このアカウントはNVIDIAアカウントとは関係ないので好きに設定して問題ありません

「ユーザー名」と「パスワード」はこのあとも使用するので控えておきましょう image

 

サーバーのセットアップが進む image

 

Localhost という名前のサーバーが出来上がりました! image

 

2. ユーザーの設定

画像右のアイコン「コンテンツをブラウズ」を押すとブラウザでサーバーにアクセスできます image

 

先ほど作成した管理者アカウントでログインする image

 

画面左下の人のアイコンを押す image

 

「Add User」を選択し、コラボレーションしたいユーザーを作成する Monosnap_Image_2025-03-14_14-31-39

 

名前とメールアドレスを記載してユーザーを作成 image

 

画面右側の「INVITE USER」を選択するとリンクがコピーされるので、コラボレーションしたいユーザーにリンクを送る image

 

グループの設定やアクセス制限などもできるので必要であれば設定をしておきます image image

 

(招待された側)パスワードを設定する image

 

無事ログインできるとサーバーにアクセスできます! image

 

3. コネクタとアプリケーションのインストール

使いたいソフトのコネクタをインストールしておく image

 

今回は Omniverse USD Composer も利用するので、合わせてインストールしておきます Monosnap_Image_2025-03-14_14-39-16

 

 

Unreal Engineでコラボレーションする場合の設定

プロジェクトファイルを開き、左上のomniverseのアイコンから「Add Server」を押す image

 

接続したいサーバーの名前を入れる image

 

omniverseのアイコンにマウスオーバーした際、connectedと表示されていれば接続完了 image

 

usdで保存されたオブジェクトを開く

 

Live Session にチェックを入れ、新しいセッションを作るか、既存のセッションを開くとコラボレーションが始まる image

 

(特定のオブジェクトでコラボレーションしたい場合)UEでオブジェクトを 右クリック > Export to Omniverse をクリック image

 

Exporter が開くので設定を確認 image

 

エクスポート先を設定する image

 

 

Omniverse USD Composerでコラボレーションする場合の設定

編集したいUSDファイルを開く image

 

右上の LIVE の横の▽を押す image

 

既存のセッションに参加する(Join Session)か、新しくセッションを作成(Create Session)できる

 

緑色になっていればLIVEセッションができています! image

 

 

動作デモ

左側が Omniverse USD Composer、右側が Unreal Engine の画面です。移動や回転共にリアルタイムに反映されていることがわかります!

 

 

まとめ

今回は Omniverse を利用して複数ソフトで同一ファイルをリアルタイムに編集する機能を今更ながら使ってみました!修正ファイルを書き出して、インポートし直して、のような手間が減ると思うと、すごく画期的な機能だな…と改めて感じました。

今回はローカルで実装しましたが、AWSを始めとしたクラウドで実装すれば、社内の複数人だけでなく複数社と協業する際も効率的な制作ができるのではないかと思います!

Omniverse にはそのほかにもリアルタイムレンダリングなど様々な機能が搭載されているので、これからどんどん使っていこうと思います!

 

 


おまけ

Blenderで検証

Blender には同時編集の機能はないものの、Nucleus から OpenUSD をインポートできたので実践してみました

 

Omniverse から Blender を開く image

 

右上のメニューを表示させる image

 

Omniverse メニューが表示される image

 

CONNECTIONS の + で接続先を記載する image

 

Import USD でインポートしたいファイルを選択する image

 

設定を確認して OK を押す image

 

インポートされればOK image

 

編集後は Export USD でエクスポートすれば他のソフトでも使えそうです!


この記事の著者

プロフィール画像

野﨑 光

朝日放送グループホールディングス株式会社 DX・メディアデザイン局 R&Dチーム

CG関連の研究開発、視聴データ・動画配信データ等のデータ利活用業務を担当。 ロゴ・動画・3DCGなどのデザイン関連から、TouchDesignerを使用した展示システム構築など幅広く取り組んでいる。