modelAPIとKind
ipynbFile modelAPI__modelAPIとKind.ipynb
In [36]:
In [2]:
| stage = Usd.Stage.CreateInMemory()
|
In [9]:
| prim = stage.DefinePrim("/testPrim")
stage.SetDefaultPrim(prim)
|
In [47]:
| # APIを取得する
Usd.ModelAPI.Get(stage,Sdf.Path('/testPrim'))
|
Success
| Usd.ModelAPI(Usd.Prim(</testPrim>))
|
In [5]:
| # ModelAPI にPrimを渡してAPIを取得する
api = Usd.ModelAPI(prim)
|
In [39]:
| # Primに対していろんなシーンに関連するMetadataを入れる
api.SetAssetName('testAsset')
api.SetAssetVersion('1.0')
api.SetAssetInfo({'test':'hello world',
'num':10,
'hoge':[10,11,12]})
|
In [40]:
| # Kindを設定
api.SetKind('component')
|
In [41]:
| print(api.IsKind('component'))
print(api.IsModel())
print(api.IsGroup())
|
In [42]:
| print(stage.GetRootLayer().ExportToString())
|
Success
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 | #usda 1.0
(
defaultPrim = "testPrim"
)
def "testPrim" (
assetInfo = {
hoge = [10, 11, 12]
int num = 10
string test = "hello world"
}
kind = "component"
)
{
}
|
Kindを取得する方法
In [48]:
In [51]:
| # 登録されているKindを取得する
Kind.Registry().GetAllKinds()
|
Success
| ['charprop',
'chargroup',
'subcomponent',
'model',
'component',
'group',
'assembly',
'newRootKind']
|
In [52]:
| # Kindの階層構造を取得できる
Kind.Registry().GetBaseKind('component')
|
In [54]:
| print(Kind.Registry().HasKind('hoge'))
print(Kind.Registry().HasKind('charprop'))
|