EditTargetでLayerを操作する
Stage/Layer/Spec の説明にもあるとおり USD は1つの usd ファイルだけではなく、複数の usd ファイルが「コンポジションアーク」と呼ばれる 合成機能によって1つのファイルとして構築されている...と説明をしました。
つまりは、なにかの USD ファイルを Open してできあがった Stage は 複数の Usd ファイル(レイヤー)によって構成されていて その個別のファイル単位で Prim の元になっている「Spec(主張)」をもった 大量のファイルの塊でもあるわけです。
通常のファイルの場合は、ファイルを開いたら そのファイルを編集して保存すれば良いですが 上に書いたとおり USD は大量のファイルの塊なので 「どのファイル(レイヤー)」を「どのように編集するか」というのも 作成することができます。
なので、今回は USD の指定のレイヤーを Python から操作する方法を 説明しつつ、USD の Stage と Layer について改めて調べてみようと思います。
サンプル
サンプル USD ファイルとして、下の3つを作成します。
#usda 1.0
(
subLayers = [
@layerA.usda@
]
)
def "testPrim"
{
string hoge = "Root"
}
Root.usda
#usda 1.0
(
subLayers = [
@layerB.usda@
]
)
def "testPrim"
{
string hoge = "layerA"
int val = 20
}