useresolveの中の実装を調べる
ipynbFile useresolve__useresolveの中の実装を調べる.ipynb
In [1]:
In [20]:
| # AssetResolverを取得
resolver = Ar.GetResolver()
print(resolver)
|
Success
| <pxr.Ar.Resolver object at 0x000002135C6F1D50>
|
In [25]:
| # ResolvedPathが、すでに解決済のPath
# このPathから、新しいAssetPathを作成するのが CreateIdentifierForNewAsset
resolved = Ar.ResolvedPath("D:/usdsample/hoge.usda")
assetPath = "./change.usda"
inputPath = resolver.CreateIdentifierForNewAsset(assetPath,resolved)
resolver.Resolve(inputPath)
|
Success
| Ar.ResolvedPath('d:\usdsample\change.usda')
|
In [10]:
| # AssetPathからContextを作成する
resolver.CreateDefaultContextForAsset('D:/usdsample/sample.usda')
|
Success
| Ar.ResolverContext(Ar.DefaultResolverContext(['D:\\usdsample\\']))
|
In [17]:
| # DefaultResolverContextにDefaultSearchPathをセットする。
# そのContextは、Binderにセットして使用する。
# C++の場合は、そのスコープ内で有効になるが、Pythonの場合は with の範囲内で有効になる。
context = Ar.DefaultResolverContext(['D:/usdsample'])
with Ar.ResolverContextBinder(context):
print(resolver.Resolve('sample.usda'))
|