Closed kreppene closed 8 months ago
I suspect you might need to "Layer Mute" using the unresolved identifier path. Unless you need to mute instead with resolved paths This might be a Houdini bug that instead of using the actual identifier here that it tries to mute based on the Resolved Path?
Could you put down a Configure Stage LOP node, enable "Mute layers" and try first one, then the other. One the non-resolved path, and one with the resolved path. At least one of the two should work.
Thanks Roy, i tested both variants of the path with the configure Stage node, but nothing seems to work. In Fact i think i test all combinations i can think off.
Is it working at your end?
Unresolved path
Resovled Path
Hey, I'll look into this over the weekend.
Hey, it works for me with the examples .usd files in the repo.
It should be the assetPath that you get in the ResolveAndCache method.
Is it possible for you to share the scene file and resolver (or a simplified version thereof)?
All the best, Luca
Notes from private chat: It happens on Windows only and only with "set AR_CACHEDRESOLVER_ENV_EXPOSE_RELATIVE_PATH_IDENTIFIERS=1" enabled. Strangely enough the Houdini Scene Graph layers panel is also affected. I'll debug this some more later this week.
Using the following identifiers works on Linux, but not on Windows.
for l in stage.GetUsedLayers():
print(l.identifier)
Issue is fixed in the v0.6.2 release :) Let me know if it works, and I'll close the issue.
The problem was (the usual ;) ) Windows path separator conversion. You can also just fix this line in your PythonExpose.py file.
This fixes the problems i have had with muting, Thanks Luca. Please go ahead and close this issue
Hi, thank you so much for this great resource Luca.
We are running into a problem when with the cacheResolver when it comes to layer muting.
I tried both with AR_CACHEDRESOLVER_ENV_EXPOSE_RELATIVE_PATH_IDENTIFIERS on and off, it seams like all paths that goes trough the resolver is affected by this.
This shows layer muting with the asset resolver
this shows layer muting without the assetresolver
Houdini uses the UsdStage::MuteAndUnmuteLayers API for the configure stage for muting (got this from sideFx support), From the USD docs it says it needs the layerIdentifier, but i am not able to mute the layer using the identifier i get from cached_resolver.GetCachedRelativePathIdentifierPairs(). Infact i tryed all sorts of combinations, but nothing seams to works, not sure if i get the wrong identifier or if theirs something missing in the asset resolver, or the pythonExpose?
https://openusd.org/dev/api/class_usd_stage.html#a8af4162fe11cc6a5f21a39e770d397c2
Any idea?