OpenUSD最新アップデートを紹介、3D Gaussian Splatting対応と実稼働環境の強化など

CGソフト

OpenUSD の開発は急速に進んでおり、新しいテクノロジーの取り込みと、実際のパイプラインで求められる信頼性の向上が並行して進められています。この記事では、2026 年 4月末にリリースされたプロダクション向けの最新版 OpenUSD v26.05 と、その前に公開された v26.03 の主要なアップデートをまとめてご紹介します。

最新の v26.05 では、前バージョンで導入された新機能がさらに拡張され、実運用での利用を見据えた明確な改善 が加えられています。

パーティクルフィールドと3D Gaussian Splattingへの対応

近年の3DCGにおける大きなトピックである「3D Gaussian Splatting」への対応が、OpenUSDのエコシステム内で公式に進められています。

3D Gaussian Splattingスキーマの導入 (v26.03)

v26.03において、3D Gaussian SplatデータをUSDのファーストクラスのPrimとして表現するためのスキーマ(UsdVolParticleField3DGaussianSplat)を含む、パーティクルフィールドスキーマ群が導入されました。

これはAOUSDの「Emerging Geometry Interest Group」によって提案されたもので、急速に成長している3DキャプチャフォーマットをUSDエコシステムに取り込むものです。

イメージングのサンプルフォルダにはリファレンスレンダラー(hdParticleField)や、PLY形式からUSDへの変換スクリプトも用意されており、usdviewですぐにテストすることが可能です。また、開発の背景についてはASWF Open Source Forumでのプレゼンテーション「Gaussian Splatting in OpenUSD」でも詳しく解説されているとのことです。

データ変換とレンダリングサポートの拡充 (v26.05)

今回のv26.05では、この基盤が実用に向けてさらに拡張されています。具体的には、パーティクルフィールドデータ用のSPZからUSDへのコンバーターのサンプルが追加されました。

さらに、パーティクルフィールドをネイティブにレンダリングできないレンダラー環境をサポートするため、データをポイントに変換する新しいフィルタリング機能(HdsiParticleFieldConversionSceneIndex)が導入され、より幅広い環境で扱いやすくなっています。

展開プラットフォームの拡大

OpenUSDを活用できる環境も継続的に拡大しています。

WebAssemblyサポートによるWebブラウザ対応 (v26.03)

v26.03では、待望のWebAssemblyコンパイル(wasm32およびwasm64)がサポートされました。

これにより、HTTPプロトコルを介してWebブラウザ内で直接USDシーンを読み込み、操作するための基盤が整い、Webベースの3Dツール開発のハードルが大きく下がりました。

Apple環境へのビルド拡充とCIカバレッジの拡張 (v26.05)

続くv26.05では、build_usd.pyにおけるiOSおよびvisionOSシミュレータに対するビルドサポートが拡充されています。

また、WasmビルドのCI(継続的インテグレーション)カバレッジも拡張されており、多様なデバイスやWeb環境へ向けたUSDワークフローの検証とデプロイが、より確実に行えるようになっています。

さらに、新しいXcodeにおける問題を回避するため、macOSビルドにおける主要な依存関係(MaterialX v1.39.4およびOCIO 2.4.2)が更新されています。

大規模データにおけるパフォーマンスとコンポジションの改善

複雑なシーンや大規模アセットを扱う際のパフォーマンス改善も、継続的なテーマです。

スパース配列編集による軽量なデータ更新 (v26.03)

v26.03では、配列全体を置き換えることなく一部の要素のみを上書きできる「スパース配列編集」が実装されました。

これにより、数百万パーツにおよぶアセンブリの微細な位置調整なども、変更差分のみを軽量なレイヤーとして保持できるようになりました。

コンポジション処理の最適化とメモリ削減 (v26.05)

v26.05では、コンポジション処理のさらなる最適化が進んでいます。暗黙の継承(implied inherits)に対するマップ関数計算のメモリ使用量が、テスト環境で約8%〜最大17%削減されました。

また、複雑なリグ環境などで問題となっていた、深くネストされたrelocatesアークによる計算コストの増大についても顕著な改善がみられています。

オーサリングと検証機能の強化

日々のパイプライン業務を支える基盤機能も着実にアップデートされています。

トラバーサルを容易にする新しいPrimフラグ (v26.05)

v26.05では、class指定子を持つPrimを検出するための新しいフラグ(HasClassSpecifier)が追加されました。これにより、抽象的な階層下の具体的なサブグラフを的確にターゲット指定できるようになります。

また、内部的な変更により、HasDefiningSpecifier && !HasClassSpecifierのような述語(predicates)パターンが利用可能になりました。これはPointInstancerのプロトタイプ構成において特に重要とされています。

コミュニティの議論でも指摘されていた通り、API駆動のオーサリングにおいてoverベースのパターンを使用するよりも、classコンテナを使用する方が摩擦が少ないことが確認されており、これに伴いプロトタイプ構成のガイダンスも更新されています。

UsdValidationフレームワークへの移行 (v26.05)

また、エコシステム全体での「UsdValidation」フレームワークへの移行も進んでいます。v26.05ではバリデータを登録するためのPythonラッパーが追加され、自社のパイプラインツールへの統合がより容易になりました。なお、従来のUsdUtilsComplianceCheckerは非推奨となり、使用時には警告が表示されるようになっています。

その他の改善と互換性に関する注意事項

上記以外にも、両リリースにはパイプライン管理や開発に関わる多数の重要な改善が含まれています。

パフォーマンスとレンダリングの最適化

  • コンポジション依存関係の計算 (v26.03): ステージのロード時間がプロダクションのショットで約11%(3.5秒から3.1秒へ)短縮されました。
  • リレーションシップの処理改善 (v26.03): ターゲットが密集したリレーションシップを含む.usdcサブレイヤーの処理において、特定のケースで20秒から0.1秒へ(200倍)の劇的な改善が報告されています。
  • Stormにおける遅延スキニング (v26.03): UsdSkelにおける真の「バインド状態」インスタンシングを可能にする、頂点シェーダーベースのスキニングプロトタイプ(HD_ENABLE_DEFERRED_SKINNING=1)が導入され、インスタンス化されたスケルタルメッシュの描画オーバーヘッドを大幅に削減します。
  • Stormのメッシュ無効化とバッファ最適化 (v26.03): トランスフォーム、エクステント、ポイント、法線に対するターゲットを絞ったメッシュの無効化(フルアップデートの回避)をサポートし、処理が不要なバッファのリソースレジストリ解決も最適化されました。

リギング、ツール、ドキュメント

  • OpenExecとFKコントローラー (v26.03): インバーティブル(可逆)リギング機能の初期実装としてIrFkControllerスキーマが追加されました。また、複数回のコンパイルで発生するデータサイクルの検出が改善され、プロセスを中止するのではなくTF_ERRORを返すようになりました。
  • usdcheckerのアップデート (v26.03): UsdValidationフレームワークへの移行が完了し、非推奨だった旧チェッカーが完全に削除されました。特定のキーワードに一致するバリデータのみを実行できる--includeKeywordsオプションが追加され、--arkitフラグは非推奨となりました。
  • ドキュメントの充実 (v26.05): 時間とアニメーション値(TimeCodesやレイヤーオフセットなど)の扱いを解説する新しいユーザーガイドが追加されました。

移行と互換性に関する変更

  • Python環境の移行: usd-coreにおいてPython 3.8のサポートが完全に終了し、新たにPython 3.14のサポートが追加されました。開発チームはCI環境等の更新が推奨されます。
  • 古いファイルフォーマットの非推奨化 (v26.05): バージョン0.8.0より古いバイナリ形式の.usdおよび.usdcファイルが非推奨プロセスに入りました。環境変数PXR_USDC_EMIT_DEPRECATION_WARNINGS=1で警告を出力でき、次期リリースからはデフォルトで有効になる予定です。
  • Sdr APIの更新 (v26.05): sourceTypeからshadingSystemへ、familyからfunctionへの用語の移行が継続しています。
  • Scene Delegateの非推奨化 (v26.03): UsdImagingのレガシーなScene Delegateモードが非推奨となり、Scene Indexモード(USDIMAGINGGL_ENGINE_ENABLE_SCENE_INDEX=1)がデフォルトとして完全に移行しました。

すべての変更点やより詳細な技術情報については、GitHubの公式リリースノートをご確認ください。

OpenUSDの利用について

OpenUSDのソースコードはGitHubで公開されています。

イメージング機能を含まないコアライブラリは、引き続きコマンドラインからPyPI経由でインストール可能です。

pip install usd-core

学習リソースとコミュニティ

NVIDIAからは、OpenUSDを学ぶための無料のLearn OpenUSDリソース学習ビデオシリーズが提供されており、認定試験を受験することも可能です。

Alliance for OpenUSD (AOUSD) への参加に関心のある企業はメンバーシップ登録が可能です。最新情報は各種SNS(XLinkedInFacebookInstagramYouTube)で発信されており、アーティストや開発者のコミュニティサポートは公式フォーラムで受けられます。


Announcing OpenUSD v26.03: Key Features and Improvements

Announcing OpenUSD v26.05: Key Features and Improvements

コメント

Translate »
タイトルとURLをコピーしました