render all takes?

   10453   14   2
User Avatar
Member
102 posts
Joined: May 2006
Offline
Hi guys, is there a way to render all takes one after another?
I have several takes and only one mantra render node and there's an option to render with current take or choose any but I can't find a way to make it render all takes.

Thanks,
Adrian
User Avatar
Member
664 posts
Joined: March 2009
Offline
One option would be to create as many mantra nodes as you have takes, set each one node for each take, link the nodes together (if they all render the same frame range than it's easier), select the parent node and hit render.
The nodes should render one after the other. Although I did have issues with it in the past (which could pretty much be a mistake of mine), that's how it should work.

Cheers
Toronto - ON
My Houdini playground [renderfarm.tumblr.com]
“As technology advances, the rendering time remains constant.”
User Avatar
Member
102 posts
Joined: May 2006
Offline
Thanks Rafaels. I'll make a render output for every take but it's going to be harder to manage, plus some have different frame ranges so that makes the workflow even more complicated.
I'm wondering how they do it in big productions
User Avatar
Member
299 posts
Joined: Jan. 2010
Offline
You could write a python script that updates settings and renders using one mantra node.
Drive, monkey, drive!
User Avatar
Member
102 posts
Joined: May 2006
Offline
Well not me I couldn't
User Avatar
Member
664 posts
Joined: March 2009
Offline
adrianlazar
Well not me I couldn't

Yeah, me neither, not yet!
Anyway, here's what I would do, if you want to check it out…

Cheers

Attachments:
render_setup.hipnc (190.2 KB)

Toronto - ON
My Houdini playground [renderfarm.tumblr.com]
“As technology advances, the rendering time remains constant.”
User Avatar
Member
535 posts
Joined: Nov. 2005
Offline
i think one mantra node per take is better and clearer to manage on a renderfarm

Martin
User Avatar
Member
102 posts
Joined: May 2006
Offline
Thanks Rafaels, I'll take a look at that scene.

sanostol, why?
User Avatar
Member
535 posts
Joined: Nov. 2005
Offline
one mantra node for all takes means that You have to override all rendersettings in the take, including pathes and so on, and I just think it is easier to have a node for every take. it more visual.
and in the renderview You can select which pass to render by selecting the node without switching to that take.

takes can be confusing, and for me that works best.
when I want to render all passes I just use a merge on all rops and it's fine

Martin
User Avatar
Member
102 posts
Joined: May 2006
Offline
Thanks for the explanations.

How is the merge node handling different render ranges? If I daisy chain together rops with different render ranges than all of them will use the range of the last one.
User Avatar
Member
664 posts
Joined: March 2009
Offline
adrianlazar
If I daisy chain together rops with different render ranges than all of them will use the range of the last one.

Not necessarily, you just have to put “Render Frame Range Only (strict)” in the Valid Frame Range option. It seems to work better if the last node in the chain is the one with the largest frame range.

I also just checked Sanostol's tip and there is indeed a merge node in the render context. I never used it since I didn't even know of it's existence before…

Cheers
Toronto - ON
My Houdini playground [renderfarm.tumblr.com]
“As technology advances, the rendering time remains constant.”
User Avatar
Member
11 posts
Joined: Dec. 2011
Offline
I nest takes into a parent take, and then use a Wedge ROP on the parent take, which renders the children.
User Avatar
Member
1 posts
Joined: March 2017
Offline
faulknermano
I nest takes into a parent take, and then use a Wedge ROP on the parent take, which renders the children.

Could you please explain how to setup wedge, because for me it does not work. It renders only one take which is selected in “wedges number” even in “all wedges” rendering mode.
User Avatar
Member
1 posts
Joined: Jan. 2016
Offline
Here's a script to render all takes. I put it on my ropnet node. Select the ropnet node, click the gear icon -> Edit parameter interface. Then create a button. Put this in the callback script:

for take in hou.takes.takes(): hou.takes.setCurrentTake(take); hou.parm('execute').pressButton()

Make sure the language is set to python for the callback script
User Avatar
Member
56 posts
Joined: Feb. 2017
Offline
mfiorilli
Here's a script to render all takes. I put it on my ropnet node. Select the ropnet node, click the gear icon -> Edit parameter interface. Then create a button. Put this in the callback script:

for take in hou.takes.takes(): hou.takes.setCurrentTake(take); hou.parm('execute').pressButton()

Make sure the language is set to python for the callback script

Just wanted to say thank you for this little tip! Saved me a whole lot of trouble.
  • Quick Links