Rendering with Houdini (workflows)

   16061   22   2
User Avatar
Member
67 posts
Joined: May 2014
Offline
I know the answer will be: there a few way you can go do this!.

I would just like to hear what the main workflows are. It seems that “Takes” would be the equivalent to passes, but then I hear some people are not so fond of this method for rendering.

In softimage we can just add objects into parititions (buckets) that we can then apply shaders to. How do put objects into buckets with houdini? Do you just make groups and use them in the mantra nodes?

Thanks!
User Avatar
Member
1769 posts
Joined: Dec. 2006
Offline
hi!
You can make “bundles” in bundle list editor, and reference on those bundles with @bundle, you can do this on lights and on mantra nodes, and other places. These are practically sets.
daniel bukovec | senior fx td | weta digital
qLib -- http://qlab.github.io/qLib/ [qlab.github.io]
User Avatar
Member
918 posts
Joined: March 2014
Offline
I'm curious, how would one apply a shader to a bundle akin to assigning a shader to a partition in Softimage? Or does that workflow not apply?
User Avatar
Member
67 posts
Joined: May 2014
Offline
I'm curious, how would one apply a shader to a bundle akin to assigning a shader to a partition in Softimage? Or does that workflow not apply?

exactly my next question, and do you use bundles in conjunction with takes?
User Avatar
Member
1769 posts
Joined: Dec. 2006
Offline
of course, but we are rendering with arnold, someone from Axis for example should say about the workflow, since they use mantra extensively.
daniel bukovec | senior fx td | weta digital
qLib -- http://qlab.github.io/qLib/ [qlab.github.io]
User Avatar
Member
67 posts
Joined: May 2014
Offline
but we are rendering with arnold

what exactly would be the difference? it would be interesting to know…

when rendering in softimage it doesn't really matter what renderer you use, the workflow is pretty much the same.. (with different shaders and lights of course.)
User Avatar
Member
67 posts
Joined: May 2014
Offline
Here is a good explanation of how to use bundles if anyone is interested

https://www.youtube.com/watch?v=e2eRTGhO9oE [youtube.com]
User Avatar
Member
655 posts
Joined: Feb. 2006
Offline
There are a few issues;

Bundles are a way to reference list of objects so in XSI world these are closer to Groups than partitions.

Second, Houdini does not have the same approach to overriding so you won't be able to do it the same way. You can't add a shader to a bundle and these shaders propagate onto its objects.

And third, takes are certainly different from passes. Takes can override values and for that they are very useful but they are explicit so you have to override every object one by one by hand instead.

All in all Houdini is not the same than XSI extremely efficient render approach but you have other things.

I am still trying to find a better way and yes, i have settled with bundles and takes and they more or less take me 80% there but I must confess I miss XSI passes/partitions/overrides approach. Simply unbeatable.

There are other ways of doing stuff like that but none, IMHO, as satisfactory so I will suggest you have a look at the XSI to Houdini guides where there are quite a few notes on the subject.

Sorry I can't help more but I can promise there are a lot of good stuff in Houdini too that will probably (like in my case) counterbalance these issues (like packed primitives or attribute passing, etc…)
User Avatar
Member
1799 posts
Joined: Oct. 2010
Offline
Fwiw since I made the switch I have enjoyed using parameter vops with exr depth raster s (and cops as an fx tree replacement) this does work nicely with the render and composite views works pretty well! (You can see how the mantra surface material is setup to pass variables that can be rendered to passes)

I have not tried to mimic passes yet like Xsi does (I guess takes are a lot like this ) but I have setup sop networks to switch materials based on different parameter on the scene. Perhaps that can help?

That said, I would certainly recommend sesi taking a closer look at the pass system and perhaps take a few hints for the take system?
-G
User Avatar
Member
67 posts
Joined: May 2014
Offline
Starting to actually render something, ann wondering a few things.

1) How does one replicate the typical (and very useful) workflow of calling the final frame /. Essentially if my mantra node is called “water”, I would like it to create the following structure: water/water.$F.exr

Thanks in advance!
User Avatar
Member
238 posts
Joined: Nov. 2013
Offline
cgcris
Starting to actually render something, ann wondering a few things.

1) How does one replicate the typical (and very useful) workflow of calling the final frame /. Essentially if my mantra node is called “water”, I would like it to create the following structure: water/water.$F.exr

Thanks in advance!

should be: $OS/$OS.$F4.exr
http://www.sekowfx.com [www.sekowfx.com]
User Avatar
Member
67 posts
Joined: May 2014
Offline
great thanks, it's true that $OS is the name of thecurrent node.
User Avatar
Member
1769 posts
Joined: Dec. 2006
Offline
yes, and if that does not work, try `opname(“.”)`
daniel bukovec | senior fx td | weta digital
qLib -- http://qlab.github.io/qLib/ [qlab.github.io]
User Avatar
Member
67 posts
Joined: May 2014
Offline
Hi all,

thanks for the previous answer, $OS/$OS.$F4.exr worked a charm.

In regards to changing several mantra nodes render settings at the same time, is this posible. I have 18 mantra nodes and would like to quyickly change values across board, (change frame ranges, render settings etc.)

How do you guys do this?
User Avatar
Member
67 posts
Joined: May 2014
Offline
ANSWER: Select all the nodes and change the value, somehow assumed this didn't work! Glad when I can answer my own questions
User Avatar
Member
67 posts
Joined: May 2014
Offline
Ok, finally able to post again

If I have for example a set of 10 rocks each one with it's separate material applied as a node. They all live under the same object to make it easier to manage.

The Beauty is looking good, each one with their zbrush displacement map.
I now want to create an ambient occlusion pass of this rocks keeping the displacement setting.

I've tried doing a new take, and applying a material to the object where all rocks live, but it doesn't take it into consideration and just gives me the material applied as a node. Is this not possible with takes? would I have to do an override for each rock?

This is extremely easy in xsi, just override the surface port of the material with the occlusion.
User Avatar
Member
918 posts
Joined: March 2014
Offline
I haven't tried this and I'm not too advanced into takes, but in your material network try adding a switch between your surface shading model and an occlusion shader and use this switch value in the takes. This should work.

Andy

I'll have a scene up later.
User Avatar
Member
918 posts
Joined: March 2014
Offline
Here you go ;-) Be mindful of the occlusion shader only working in ray trace mode not PBR.

Enjoy!

I edited the scene to reflect your ‘one object and via material node assignment’.

Attachments:
occlusion_overide_v02.hipnc (360.9 KB)

User Avatar
Member
67 posts
Joined: May 2014
Offline
That's an awesome example Andy, thanks a lot. I guess when using displacement this would be a good route to take.

The only issue is that it forces this workflow deep inside the assets, which could be a problem when working with multiple assets. Not a deal breaker but a consideration.

Softimage would just allow you to be messy (different shaders from different users), and then fix it all with an override at the end.
User Avatar
Member
2624 posts
Joined: Aug. 2006
Offline
cgcris
Ok, finally able to post again

If I have for example a set of 10 rocks each one with it's separate material applied as a node. They all live under the same object to make it easier to manage.

The Beauty is looking good, each one with their zbrush displacement map.
I now want to create an ambient occlusion pass of this rocks keeping the displacement setting.

I've tried doing a new take, and applying a material to the object where all rocks live, but it doesn't take it into consideration and just gives me the material applied as a node. Is this not possible with takes? would I have to do an override for each rock?

This is extremely easy in xsi, just override the surface port of the material with the occlusion.

You seem to be forgetting if you just dropped down and rendered your rocks with a env light you would be getting the occlusion for FREE without the need to even bother with an occlusion shader. How easy is that ! . Next why would you even bother with 10 separate materials for your rocks. Instead the Houdini approach is to have 1 material and 10 different diffuse maps either randomly applied via an override at the object level or better still just have the shader look up a map randomly.

Ive worked on pipelines both big and small and done an absolute ton of lighting / rendering in Houdini & mantra for vfx .Hands down it kicks ass for out of the box. Feel free to visit my site www.circusmonkey.com.au There you will find a ton of examples to get stuck into !.


Now down to Takes / Bundles. They are great but they have a major fault and that's unlike a ROP they are not portable ! ie not like an otl. Haven't you noticed they are embedded per scene. For a few shots on a commercial that's fine but for a 600 shot show you will need to build a python based set of tools to handle this. To take “Takes” and bundles into the realm of an asset. I did start something a while ago on a show, with a bundle maker tool that could be deployed on a multi shot show.

Here is link on how to make a simple version
http://www.circusmonkey.com.au/circusmonkey/Python.html [circusmonkey.com.au]
Maybe someone would like to take it further or make one for takes to be deployed.

On a side note I will be free in September for contracts / consult remote or otherwise . I do wish I had more time to hang out here but I am in Katana hell

Rob
Gone fishing
  • Quick Links