コンポジションアークとは
前回、 を解説 しましたが
その中でも度々でてきたのが「USD を合成する」という言葉。
初回 USD の概要でも
シーングラフ(描画要素を管理するためのデータ構造)を扱うことのできるライブラリ
であり
複数ソフトウェアをまたぐ、かつ大人数同時並行を行うために作成されたフォーマット
であると説明しました。
この「合成」処理こそ USD の強さの所以であり大きな特徴で
その合成方法のことを、 「コンポジションアーク」 と呼びます。
コンポジションの種類
とりあえずはどんな物があるのかを紹介。
名称 | 意味 |
---|---|
SubLayer | いわゆる import や include のようなもの。 あるレイヤーに対して、 指定のレイヤーを階層を含めて合成する |
Inherits | ある プリム のアトリビュートなどを受け継いだ Prim を作る。 クラスの継承と同じ感じ。 サブレイヤーやリファレンスとは違いプリムの構造を プリムが「受け継ぐ」 |
Variant | Switch 構造。 色パターンや形状パターンなど、 構造そのものをバリエーション定義して切り替えるスイッチをつけられる。 |
Reference | ある Prim に対して、 別レイヤーのツリー構造を埋め込む。 Prim に対して構造を子に埋めるというのがサブレイヤーとの違い。 (サブレイヤーは階層構造は維持したまま「マージ」する) |
ペイロード | 効果はリファレンスと同じ。 違いは、読み込み時にフラグを入れるとロードを Off した状態でステージを開く。 大量の usda を合成しているときに一部だけ修正したい時など OFF にしてからシーンを開くことで シーンロードを短縮できる。 |
Specialize | 基本的な挙動は継承と同様。しかし、リファレンスよりも弱い。 |
特殊化は基本あまり使わないので説明は割愛。(私もわかっていない)
計 6 個が USD の合成方法になります。
USD は、これらの「ルール」を組み合わせて1つのステージを構築していきます。
このコンポジションは、上の簡単な説明にあるとおり
それぞれ特徴があり、これらを組み合わせることで設計したパイプラインを実現していくことになります。
info
一応方法と簡単な説明だけだとわかりにくいので
詳細はこの記事の次から個別にサンプルも含めて紹介していく予定です