How to make .ifds, with external geometry, for rendering on different system with different file path?

   1602   2   0
User Avatar
Member
11 posts
Joined: 8月 2016
Offline
I want to make .ifds one one cluster, then copy the .ifds to a different system and render them there. I am having trouble doing this, since the path to the geometry files is different (/one/two/three/file.bgeo.sc versus /a/b/c/file.bgeo.sc). How can I make this work?

Putting “/a/b/c/” under “Shared temp storage” and “Local temp storage” in the Driver tab of the mantra out node doesn't do the trick. Using relative paths with “$HIP” or “..” doesn't either, because the path gets expanded when writing the ifd. To get around this, I have been saving inline geometry, but I do not want to do that as this is very memory inefficient in this case.

Any advice?
Edited by kalina - 2018年2月2日 17:31:35
User Avatar
Member
7836 posts
Joined: 9月 2011
Offline
Use pyfilter to modify your ifd on the fly using python:

http://www.sidefx.com/docs/houdini/render/python.html [www.sidefx.com]
http://www.sidefx.com/docs/houdini/render/batch.html [www.sidefx.com]
User Avatar
Member
11 posts
Joined: 8月 2016
Offline
Thank you, but I'm still struggling to figure this out. I've gotten this far:

Instead of just calling “mantra-bin -f /path/to/my/file.ifd” like I've been doing, I can add “-P script.py”, where script.py replaces where the geometry file points to “/one/two/three/file.bgeo.sc” with “/a/b/c/file.bgeo.sc”. Is that right? But how do I actually do that? I've combed through the links you have sent and can't find what property I need to set in order to do this.

import mantra
def filterGeometry():
    mantra.setproperty("???")
  • Quick Links