ABCABC Tech Catalog
研究開発

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

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

以前の記事で、テレビ番組の背景セットを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」を選択する

file1

ストレージのパスを指定する

file2

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

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

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

file3

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

file4

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

file5

2. ユーザーの設定

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

file6

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

file7

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

file8

「Add User」を選択し、コラボレーションしたいユーザーを作成する

file9

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

file10

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

file11

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

file12

file13

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

file14

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

file15

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

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

file16

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

file17

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

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

file18

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

file19

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

file20

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

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

file21

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

file22

Exporter が開くので設定を確認

file23

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

file24

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

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

file25

右上の LIVE の横の▽を押す

file26

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

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

file27

動作デモ

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

まとめ

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

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

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


おまけ

Blenderで検証

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

Omniverse から Blender を開く

file29

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

file30

Omniverse メニューが表示される

file31

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

file32

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

file33

設定を確認して OK を押す

file34

インポートされればOK

file35

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

AUTHOR

野﨑 光

株式会社アイネックス 総合デザイン部 CG課 兼 ビジネスプロモーション部

株式会社アイネックスにて番組のCG制作や動画制作・ロゴ制作などのデザイン業務や、放送以外のコンテンツ(動画・体験型コンテンツなど)を制作している。 2023年6月から2025年3月までDX・メディアデザイン局に出向していた。

WORK@ABC

技術力を培うための
環境と文化

ABCに昔から根付く「自分たちで開発する」文化を支える環境や取り組みをご紹介します
ABCについてもっと知る