Omniverseを体験する: (1) 環境構築編
こんにちは、技術統括部 技術第3部(グラフィックス)の成(Seong)です。この記事では、Omniverse の環境構築について説明しようと思います。
Omniverseとは
Omniverseとはどういったものなのでしょうか? また、Omniverseを導入することで、何ができるようになるのでしょうか? 公式のドキュメントには、次のように書かれています。
NVIDIA Omniverse™ is an extensible platform for virtual collaboration and real-time, physically accurate simulation. Creators, designers, researchers, and engineers can connect tools, assets, and projects to collaborate in a shared virtual space. Developers and software providers can also build and sell Omniverse Extensions, Applications, Connectors, and Microservices on the Omniverse platform to expand its functionality.
https://docs.omniverse.nvidia.com/plat_omniverse/plat_omniverse/overview.html
ドキュメントによれば、Omniverseはプラットフォームであり、次のようなことができます。
① 仮想コラボレーション
② 物理的に正確なシミュレーション
文字だけだとざっくりしていますね。今回の記事では、Omniverse の環境を構築し、実際に体験することで、(大雑把ではありますが)Omniverse上でできることのイメージをつかむことを目指します。
Omniverseには、二つの目的を達成するための様々なアプリケーションや、開発キットが用意されています。それらの具体的な内容については、次回以降に説明するとして、今回は最小限の環境の構築と、Omniverseのデモシーンや拡張機能を用いて、仮想コラボレーションとシミュレーションを体験してみましょう。
少し長くなりますが、どうぞお付き合いください!
環境構築
Omniverseはプラットフォームです。アプリケーションのインストール(例えば、ゲームエンジンのインストール)に比べて少し複雑です。加えて、Omniverseのユースケースや使用するライセンスに応じて、最適なアーキテクチャの構成が変わります。
例: 小規模向けの構築、大規模向けの構築
今回は無料ライセンスでも構築可能かつ、可能な限りシンプルなOmniverseの環境を構築します。シンプルですが、Omniverseを体験するには十分です。
この記事では、以下のPCを用いて環境構築を行いました。
OS: Windows 10 Pro
CPU: Intel(R) Xeon(R) CPU E5-1630 v3 @3.70Ghz
GPU: GeForce RTX 3060
RAM:16GB
ここから、環境構築のスタートです。具体的な手順は以下の通りです。
1.ランチャーのダウンロード
以下のリンク先の、【個人】の下の【ダウンロード】ボタンから、Omniverseのランチャーをダウンロードします。
🔗: https://www.nvidia.com/ja-jp/omniverse/download/
ダウンロードにはNVIDIAの開発者向けの登録(無料)が必要です。
ダウンロードしたランチャーを起動し、ダイアログに従って設定していきます。
基本的には、続けるをクリックするだけで作業を完了することができます。
キャッシュもインストールしておきます。
2. Omniverse Nucleusの設定
Nucleusのインストールを行います。Nucleusとは、Omniverse上で用いるデータベースです。
Omniverseは仮想コラボレーションを行うプラットフォームという側面を持ち合わせています。
チームの共同作業でOmniverseを用いる場合は、ネットワーク上にNucleusを配置し、各々がこれに接続することで、全員が同じファイルを参照・編集することができます。
今回は、ローカルのPC上にNucleusをインストールしていきます。
ステップ1が成功していれば、以下のような状態になっているはずです。Nucleus のタブを選択してください。
【ローカルNucleusサービスを追加する】をクリックします。
Nucleusのサーバーのデータのインストール先と、管理者のアカウントを作成します。
注意事項の部分にも書かれていますが、NVIDIAの開発者向けのアカウントとは関係ありません。入力する内容は、Omniverseをインストールする際に用いたアカウントの情報と一致しなくても構いません。Nucleus (DB)に接続する際に必要となるアカウントととらえると良いでしょう。
インストールとアカウントの作成が完了すると、上記の画像のようになります。/Omniverse/Users/{Nucleusのアカウント作成時に指定した名前}
のパスができていれば、成功です。
アプリケーションのインストール
Omniverseのインストールが成功しました。ここからOmniverseのアプリケーションをインストールしていきます。基本的には、ランチャーの【更新】タブからインストールを行います。
今回の記事では、Createのみを用いますが、Omniverse Drive は汎用的に用いることができるので、インストールしておくと便利です。
Omniverse Driveを用いることで、Omniverseのサーバー(Nulceus)を仮想ハードドライブとしてマウントすることができます。例えば、Omnivrse Drive をOドライブとしてマウントすることで、手元のPower ShellからOドライブにアクセスし、Nucleus上のファイルを操作することができます。
コラボレーション機能の体験
Omniverse上で仮想コラボレーションを実現する方法はいくつか存在します。複数のDCCツールを用いたコラボレーションなどもありますが、今回はリンクをシェアする形でコラボレーションを体験してみます。
必要なものはOmniverse Create,ブラウザです。
まずはCreateを開き、 WindowタブからExtensionsをクリックしてください。
次に、Extensions内のLive Stream WebSocket Client をONにしてください。
再びCreateの最上段に戻り、StreamingタブからLocal Stream URLs のリンクをコピーして、ブラウザに貼り付けます。
うまくいけば、ブラウザでCreateの画面をミラーリングできます。まるでブラウザでCreateを開いているかのように扱えますね。必要な手順も、すべてマウス操作だけで完結します。
今回は同じPC内でブラウザ、Createのコラボレーションを再現してみましが、同じLANに接続されているPC同士でもコラボレーションを共有することができます。特別な設定を必要とせずとも、リンクだけで作業環境を共有することができます!
Omniverseが持つ、コラボレーション・プラットフォームとしてのポテンシャルを体験していただけたなら幸いです。
デモシーンの体験
次は、デモ環境を体験してみます。Omniverse ランチャーから、以下のコンテンツパックをダウンロードします。
Create から、先ほどダウンロードしたコンテンツパックを開きます。
開いたシーン上の木箱のアーチを崩してみましょう。
まるで現実世界のように、バランスが崩れ木箱が自由落下する様子を確認できます。
Tips
簡単ではありますが、Omniverseのトラブルシューティングで便利だと思った機能を紹介します。
Nucleusのモニタリング
Omniverseはバックエンドで様々な機能が動作しています。これらを把握・監視するには、ブラウザを開き, http://localhost:3080/ へとアクセスすればよいです。Omniverse のキャッシュの設定なども、上記のリンクで行えます。
参考: https://docs.omniverse.nvidia.com/prod_nucleus/prod_nucleus/workstation/usage.html
アプリケーションのログ
トラブルシューティングの一つの方法として、Omniverse の Forum と Discordを用いるのは有効な手段の一つです。 この際に、ログを添付することで、より詳細な内容を報告することができます。
ログの位置は、以下のリンク先に記述されています。https://nvidiaomniverse.helpdocs.com/general-informaiton/how-to-report-an-issue-with-omniverse
Omniverse のアプリケーションのデータのパスは、ランチャーから取得することもできます
【設定】をクリックすることで、各バージョンのインストールパスを取得できます。
FPSやGPUのメモリ使用量を確認する
目のアイコンから、Heads Up Displayのタブを開くことで、現在のFPSやGPUのメモリ使用量を常時監視できます。
最後に
今回はOmniverseの環境構築を中心に、デモシーンや拡張機能の紹介を行いました。
Omniverseにはたくさんのアプリケーションや機能が存在し、様々な可能性を秘めたプラットフォームです。次回は、Unreal EngineなどのDCCツールを用いたコラボレーションについてブログで紹介予定です。ご期待ください!