Path mapping in Solaris, not working as expected

   693   5   1
User Avatar
Member
1 posts
Joined: 12月 2024
Offline
Hi,

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 :

os.environ['HOUDINI_PATHMAP'] = "{'/mnt/vol1', '//sledge/vol1'}"

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.

Tested on Houdini 20.5.410, on Windows 10
User Avatar
スタッフ
561 posts
Joined: 6月 2020
Offline
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.
User Avatar
Member
249 posts
Joined: 1月 2015
Offline
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.

Good to know!
User Avatar
Member
320 posts
Joined:
Offline
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.
User Avatar
Member
3 posts
Joined: 4月 2024
Offline
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
User Avatar
スタッフ
561 posts
Joined: 6月 2020
Offline
lbs_vfx
How to access the POC of custom asset resolver? Please share resources links

Here you go!

hcustom HPathMapArResolver.C
cp -r usd_plugins $HOME/houdini20.5/dso/

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.

Attachments:
arHPathMap.tgz (1.3 KB)

  • Quick Links