Path mapping in Solaris is not working as we expect.
We are trying to render on the farm and we are looking for a solution that would allow us to render Windows created Houdini scenes on linux render nodes.
I added a path mapping to the HOUDINI_PATHMAP environment variable such as :
As you will have guessed, those two point to the same network share, the /mnt/vol1 is for Linux, the second one if for Windows
I then start Houdini on Windows
In the /obj environment, I create a file node. I can use a filepath like //sledge/vol1/somegeo.usdand it loads fine. I can change the filepath to /mnt/vol1/somegeo.usdand it still works, which shows that the path mapping is working as expected.
If I head over to the /stage and create a reference node, I can use the filepath //sledge/vol1/somegeo.usdbut not the filepath /mnt/vol1/somegeo.usd. The same issue arises with 'sublayer' nodes
Is there any reason for this ? Could this be fixed ?
PS: I'm going to submit this to the official support, but I'm interested in any community answer too.
For the visibility of the community, this can be solved at the USD-level via a custom Asset Resolver (we have a proof-of-concept that can be shared), and there's an open RFE for a LOP-level workflow.
robp_sidefx For the visibility of the community, this can be solved at the USD-level via a custom Asset Resolver (we have a proof-of-concept that can be shared), and there's an open RFE for a LOP-level workflow.
Yeah, USD paths live outside of the standard Houdini file path management.
Also to put this out there, although I'm sure we're a tiny minority by now...
In addition to path mapping working differently, if you have any old school custom `$HH/GEOio.json` file types that you're used to loading any place .bgeos work, they won't load in the USD input nodes (reference / sublayer). You can get it to work by adding your file extensions to `$HH/dso/usd_plugins/usdHGeo/resources/plugInfo.json`, but it's not pipeline-friendly.
robp_sidefx For the visibility of the community, this can be solved at the USD-level via a custom Asset Resolver (we have a proof-of-concept that can be shared), and there's an open RFE for a LOP-level workflow.
How to access the POC of custom asset resolver? Please share resources links
If you need it to work on the Windows boxes, you'll probably need some tweaks to the way you invoke hcustom and will likely need to modify usd_plugins/arHPathMap/resources/plugInfo.json
If you find it's not working, try also adding TF_DEBUG="PLUG*" to your environment, which should print out (lots of) information about the USD plugins being loaded.