Jump to content

Houdini "proxy"

Recommended Posts

Dear all,
I am building a scene which involved a lot of high-res models. In order to optimize the scene which let me manipulate better, I am looking for a way to setup "proxy" system.
For renderer like vray, they offer vray proxy which would display a low res Geo at viewport, and render using the high res Geo. I am looking for a way to do the same thing in Houdini (I am using render man 22).
Pack Primitive is very good but its not low res enough for a very heavy scene/objects. I tried the instance node, but it display and render the same object which wasn't my idea of proxy.
Looking forward to hearing from you, thank you!!
Link to comment
Share on other sites

You can leverage the split output nature of the SOP network. Have two attribute wrangles at the end. One is for rendering and the other is for the viewport.

Assign the filename to the hi-res geometry inside the RENDER version of the attribute wrangle.

CTRL-CLICK on the Display flag of a node to move the RENDER flag to that node.



Edited by Atom
  • Like 1
Link to comment
Share on other sites

Thank you for your prompt reply Atom!

Forgive me that I am still new to Houdini, I tried to fill in the path with "D:/project_hou/houDev/scene/bb8.abc" or "op:/obj/geo2/testgeometry_rubbertoy1", but I am still not able to render the object. Would you mind explaining further?

I understand the use of render flag and display flag, but it would fail if I merge the object (with render and display flag setup) into another geo and scatter on a grid. Or am I doing that wrong?

Thank you!

Link to comment
Share on other sites

i think packed prims are super fast to display. you can specify what kind of representation you want to see (i.e. bounding boxes, full geo, point cloud), plus there are a few viewport optimization options to help with heavy scenes (Display options > Optimize tab).

otherwise you can load lowres and highres versions of the same asset into a single geo container. you will only display the lowres one (blue display flag), while highres one will be picked for rendering without ever needing to display it (purple render flag).

plus there are other more technical ways how to do that...

Link to comment
Share on other sites

Thank you davpe!

I optimized my setup and using Pack Prim again, the response is a lot better, thank you!

About using the flag for displaying and rendering, it works but it doesn't when I need to scatter that object around. Would you mind to let me know what other technical ways to do it?

Link to comment
Share on other sites

The @instancefile attribute is only for file based objects, you can't use op: pathing. In your case, write the rubbertoy to the disc, then reference that file.

To leverage local geometry that is installed in your scene, there is a companion attribute @instance. You can use the op: with that attribute. But referencing large pieces of geometry, from memory, instead of disc, may reduce some of the gains achieved by instancing.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...