2025/05/10 11:50 Introduction to Universal Scene Description (2021)

やっほー、ロボ子!今日はUSD、Universal Scene Descriptionについて話すのじゃ!

USDですか、博士。3Dデータの交換と拡張を目的としたPixar開発のオープンソースソフトウェアとのことですが、具体的にどのようなものでしょうか?

そう!USDは、モデリング、アニメーション、ライティングとか、色々なアプリ間で3Dデータをやり取りできるようにするものなのじゃ。単一のAPIとシーングラフで、アセットの構成、編集、プレビューを高速にできるのがミソだぞ。

なるほど。複数のDCCツールを使用できたり、アーティストが共同作業しやすいという利点があるんですね。レイヤー化で変更の追跡が容易になるのも便利そうです。

そうそう!それに、USDはデータ表現にも工夫があるのじゃ。Prims(プリミティブ)っていう階層的な名前空間でデータを整理して、Attributes(属性)とかRelationships(リレーションシップ)とかMetadata(メタデータ)を含むのじゃ。

なるほど、データ構造がしっかりしているんですね。コンポジションとオーバーライドの機能も豊富で、SubLayersやReferences、Payloadsなどがあるんですね。

VariantSetsでアセットのバリエーションを切り替えたり、Inherits/Specializesでベースプリムと派生プリムの関係を確立したりもできるぞ。まるでPhotoshopのレイヤーみたいじゃな。

イメージングについても、Hydraというフレームワークがあるんですね。シーンデータを使用する「シーンデリゲート」と、レンダラーにシーンデータを送信する「レンダーデリゲート」を接続するとのことですが、具体的にどういうことでしょうか?

Hydraは、色々なレンダラーに対応するための仕組みなのじゃ。StormっていうOpenGLラスタライザーもあって、VulkanとかMetalとかのAPIも使えるぞ。

拡張性/カスタマイズ性も高いんですね。Asset Resolutionでアセットパスと実際のローケータを分離したり、SdfFileFormatプラグインで色々なファイル形式をサポートしたり、Schemasで新しいプリムスキーマタイプを追加したりできるんですね。

その通り!USDは、ほんとに色々なことができる万能ツールなのじゃ!

ただ、制限事項もあるんですね。GUIDがないため、参照アセットの内部名前空間が変更されると、上位レベルのオーバーライドが失われる可能性があるとのことですが。

そう、そこは注意が必要なのじゃ。それと、USDは実行またはリギングシステムではないから、高度な実行エンジンに必要な低遅延アクセスはないのじゃ。

なるほど。シーン記述の作成と効率的な抽出を容易にするためのものなんですね。

USDは、Pixarで開発された4世代目の「構成されたシーン記述」なのじゃ。Marionette、Presto、TidSceneを経て、USDが開発されたのじゃ。

歴史があるんですね。PrestoのコンポジションエンジンとTidSceneのデータモデルを組み合わせたものなんですね。

そう!HydraもUSDプロジェクトの一部として開発された、スケーラブルなレンダリングアーキテクチャなのじゃ。

USDについてよくわかりました。ありがとうございます、博士!

どういたしまして!最後に一つ、USDを使うと、3Dモデルのデータがごちゃまぜにならなくて済むから、まるで部屋を片付けるみたいで気持ちいいのじゃ!

博士、それ、ちょっと無理やりすぎませんか?
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。