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