CG News

NVIDIA Omniverseのオープンベータ開始

NVIDIA Omniverseのオープンベータが開始したようです。Omniverseはコラボレーションプラットフォームで、リモートのチームがGoogleドキュメントのように共同作業できるようにすることです。
グラフィックス、シミュレーション、AIテクノロジー、RTXベースの3Dシミュレーションが統合されてるようです。

https://developer.nvidia.com/nvidia-omniverse-platform

NVIDIA Omniverseは、PixarのUSDとNVIDIA RTXをベースにした、3D制作パイプラインのための強力なマルチGPU、リアルタイムシミュレーションとコラボレーションプラットフォームです。

Omniverseは、異なるアプリケーションや3Dエコシステムのベンダーをまたいだ普遍的な相互運用性を目指しています。効率的なリアルタイムのシーン更新を提供し、オープンスタンダードとプロトコルに基づいています。
Omniverseプラットフォームは、ハブとして機能するように設計されており、接続されたクライアントやアプリケーションに対して、マイクロサービスとして新しい機能を公開することができます。

 

3Dアプリケーションとユーザー間のライブコラボレーション

USDとMDLを使用して、お気に入りのアプリケーション間でライブでコラボレーション。

 

リアルタイムのマルチGPUレイトレースビューポート

リアルタイムで高品質のマルチGPUレイトレーシングとUSDコンテンツのパストレーシングを可能にします。

 

シミュレーション

最新のNVIDIAテクノロジーを活用した複雑な3D物理世界の高性能シミュレーション。

 

Omniverseは、5つの主要コンポーネントで構成されています。Omniverse Connect、Nucleus、Kit、Simulation、RTXです。これらのコンポーネントに加えて、接続されたサードパーティのDCCツールや、接続されたOmniverseマイクロサービスが、Omniverseのエコシステムを構成しています。

 

 

すべては普遍的なフォーマットから始まる

Omniverse におけるアセットの基本的な表現は、Pixar のUSD です。USDは複雑なプロパティの継承、インスタンス化、レイヤリング、遅延ロード、その他様々な主要機能を可能にするAPIを備えたリッチなシーン表現であり、ファイル形式以上のものです。
Omniverseは、Nucleus DBサービスを介した交換にUSDを使用しています。

 

Omniverseのマテリアルは、NVIDIAのオープンソースMDLで表現されています。NVIDIAは異なるアプリケーション固有のマテリアル定義間で簡単に交換できるように、マテリアルの割り当てとパラメータを表現するためにUSDでカスタムスキーマを開発しました。
この標準的な定義により、複数のアプリケーション間でマテリアルを同一ではないにしても、似たような外観にすることができます。

 

その中心にあるのが「Omniverse Nucleus」です。

Omniverse Nucleusは、様々なクライアントアプリケーション、レンダラー、マイクロサービスが仮想世界の表現を共有し、変更することを可能にする基本的なサービスを提供しています。

Nucleusはパブリッシュ/サブスクライブモデルで動作します。アクセス制御に従って、Omniverseクライアントはデジタルアセットや仮想世界の変更をNucleusデータベース(DB)に公開したり、その変更を購読したりすることができます。
変更は、接続されたアプリケーション間でリアルタイムに送信されます。デジタルアセットには、ジオメトリ、ライト、マテリアル、テクスチャ、その他のデータが含まれており、仮想世界とその進化を時系列で表現します。

 

コネクタはアプリ間のポータルを開く

Omniverse Connectライブラリは、クライアントアプリケーションがNucleusに接続し、個々のアセットやフルワールドを公開したり、購読したりすることを可能にするプラグインとして配布されています。

必要な同期化が行われると、DCCプラグインは、Omniverse Connectライブラリを使用して、外部から受信した更新を適用し、必要に応じて内部で生成された変更を公開します。

アプリケーションがシーンの USDに変更を加えると、Omniverse Connect は最後の公開イベント以降のすべてのローカル変更を追跡します。アプリケーションからの要求に応じて、Omniverse Connectライブラリはファイル単位の差分セットを構築し、Nucleusに公開し、すべてのサブスクライバに転送します。

 

Omniverseのパイプライン

左側には多くの一般的なDCCアプリケーションと、Kitを使用してOmniverseのために作成された新しいアプリケーションを見ることができます。これらのアプリケーションは、すべてUSDファイルフォーマットへのエクスポートが可能で、MDLマテリアルをサポートしています。
Omniverse Connector プラグインを使用して、これらのアプリケーションと Nucleus データベースの間に Omniverse ポータルを作成しています。

Nucleusサーバーは、Omniverseの機能をヘッドレス・マイクロサービスとして提供することができるだけでなく、VRやARデバイスを含む多数のビジュアライゼーション・クライアントに美しくレンダリングされた結果を提供することもできます。

 

Omniverse Kitで自作アプリを作成

キットは一枚岩のアプリケーションではなく、Extensionsで構成されています。これらのExtensionsは異なるタイプのアプリケーションを作成するために様々な方法で組み立てることができるビルディングブロックです。高度なレベルでは、すべてのUI要素、ワークフロー、一般的な機能はPythonで書かれており、非常にカスタマイズ可能です。

Omniverse KitはOmniverseのネイティブアプリケーションやマイクロサービスを構築するためのツールキットです。基本フレームワークをベースに構築されており、軽量化された拡張機能のセットを通じて様々な機能を提供しています。これらのスタンドアロン拡張機能は、Python または C++ でオーサリングされたプラグインです。

Kitはアプリとマイクロサービスの両方に対応した柔軟で拡張性の高い開発プラットフォームとして設計されています。マイクロサービスを作成するためにヘッドレスで実行することも、UIで実行することもできます。UI アプリケーションは UI エンジンを使用して完全に書くことができ、完全にカスタマイズすることができます。

パフォーマンスを向上させたり、いくつかの c++ API にアクセスするために低レベルの c++ プラグインを拡張機能に追加したり、バインディングを介して UI に接続することができます。これらの拡張機能には、個別に実行するために必要なアイコン、イメージ、設定が含まれています。

 

Omniverse Kit 拡張

RTXビューポート拡張機能

NVIDIA RTXとMDLマテリアルを活用して、信じられないほどの忠実さでデータを表現しましょう。非常にスケーラブルで、GPUの大規模なアレイをサポートし、大規模なシーンでもリアルタイムのインタラクティブ性を提供し、レイトレーシングとパストレーシングのオプションによって正確さを提供します。

 

コンテンツブラウザの拡張機能

ローカルまたはリモートのOmniverse Nucleusサーバー上のファイルを閲覧し、データを整理し、作業やコラボレーションしたいファイルを見つけます。また、DeepTagを使用してAIを使用してメタデータの分類を割り当てるなど、タスクやプロセスの自動化を可能にする豊富なAPIセットが含まれており、資産を検索するための全く新しい方法を提供します。

 

USD ウィジェットとウィンドウ拡張

ステージ・ウィンドウ・エクステンションは、ステージ・データの堅牢なブラウジング・エクスペリエンスを構築するために使用することができます。

プロパティ・ウィンドウでは、USDファイルに含まれる全てのオブジェクト・アトリビュートやその他の様々な情報にアクセスすることができます。また、完全に拡張可能で、シーン内のプリミティブのタイプごとに専用の拡張子が生成され、その中の各セクションを見ることができます。

最後に、レイヤーウィンドウでは、USDが提供する強力なレイヤリングシステムにアクセスすることができ、リッチな合成を可能にします。

 

Omniverse UI

軽量でオープンなハードウェアアクセラレートUIを提供するために、OmniverseフレームワークはDear ImGuiライブラリの上に構築されています。

主な特徴
  • モダンで高速かつ軽量なUIフレームワーク
  • Omniverse Kitの基礎となるユーザーインターフェース
  • 宣言的構文と動的レイアウト
  • スタイルシートのようなワークフローを使用して、HTMLと同様の完全なスタイル設定が可能
  • ロスレスなUI品質を実現するオムニUIストリーミングをサポート
  • XR(VR&AR)レンダリング(ウィジェットの3D投影)に対応
  • XR入力デバイス(コントローラ、ハンズ、アイズ)を含む

結局のところ、Create (Omniverseに含まれるサンプルアプリケーション)、View (AECエクスペリエンスのために構築されたメインアプリケーション)やその他のomniverse Appsで表示されるすべての機能は、Omniverse Appsの原子的なビルディングブロックであるExtensionsから来ています。拡張機能のカタログは主にPythonで書かれており、開発者が生産性を高めるために必要なツールやワークフローを簡単に作成、追加、変更できるように完全なソースコードと共に提供されているため、すぐに増えていくでしょう。

 

現実をシミュレートする

Omniverseでのシミュレーションは、Omniverse Kitへのプラグインやマイクロサービスとして、NVIDIAの技術の集合体によって提供されています。

Omniverseの一部として配布された最初のシミュレーションツールの1つは、ゲームで広く使われているNVIDIAのオープンソース物理シミュレータPhysXです。
シミュレーションに参加するオブジェクト、そのプロパティ、コンストレイント、ソルバーのパラメータは、カスタムのUSDスキーマで指定されます。
キットにはシミュレーションのセットアップの編集、シミュレーションの開始と停止、すべてのパラメータの調整などの機能があります。

Omniverseの物理シミュレーションには現在、剛体ダイナミクス、破壊、ビークル力学、流体ダイナミクス(Flow)があります。Flowは、煙/火災のためのオイラー流体シミュレーションであり、スパースボクセルグリッドを利用してシミュレーション領域に縛られないようにしています。

 

息をのむような世界を視覚化してレンダリング

Omniverseは、PixarのHydraアーキテクチャに準拠したレンダラーをサポートしており、そのうちの1つが、NVIDIA TuringとAmpereアーキテクチャのハードウェアRTコアをフルに活用して、リアルタイムでハードウェアアクセラレーションされたレイトレーシングとパストレーシングを行う新しいOmniverse RTX Rendererです。

このレンダラーはレイトレーシングの前にラスタライズを行わないため、非常に大きなシーンをリアルタイムで処理することができます。高速なパフォーマンスを実現する従来のレイトレーシングと、最高品質の結果を得るためのパストレーシングの2つのモードがあります。

Omniverse RTX Rendererは、1つのシステムで複数のGPUをネイティブにサポートしており、近日中に複数のシステムをまたいだインタラクティブなレンダリングをサポートする予定です。

 

Omniverseのアプリと体験談

Omniverseは多数のコンテンツ作成アプリケーションに接続できるようになり、NVIDIAはさまざまなワークフローでその機能を紹介するためにAppsとExperienceを作成しました。

アプリはOmniverse Kitを使用して構築されておりそれ自体は非常に便利ですが、開発者が独自のアプリを構築し、拡張したり、作成したりするための出発点となることができます。これらのアプリは、技術的なアーティストや開発者のためのサンプルとして提供されており、今後も継続的に新機能や機能を追加していく予定です。

エクスペリエンスは、特定のユースケースに対応するために構築されたパッケージで、必要なコンポーネントや拡張機能がすべて含まれており、ユニークなワークフローに取り組むために特化したアプリも含まれています。


コメントを残す