Ideas for controlling render layers?

177 views
Skip to first unread message

Steve Davy

unread,
Jul 27, 2017, 7:21:06 PM7/27/17
to Maya Group

We are rendering with Deadline where I work.


Recently I started using a workflow that involves referencing lit and shaded assets with legacy render layers into an animation file, and rendering straight out of that file with referencing intact. Importing before rendering seems to break render layers and shading assignment, and often we are starting to render while still developing assets anyway.


With render layers natively in a file, the Deadline submission script will create a separate render job for each render layer. This is good.


However, when referenced render layers are present, this doesn't happen and instead Deadline will launch one monolithic job that outputs all render layers in a single pass, in the same way that batch rendering straight out of Maya would do. Renders come out fine, but this removes a lot of the control and transparency of having separate jobs for each layer, especially as a shot progresses and you want to only render certain passes.


For reasons that are unfathomable to me, Deadline does not have any feature to submit a particular render layer with a job, or even any field in which to use the -rl render flag like every other render manager I've used.


So, my question is does anyone have any clever suggestions about how to get around this problem. We like using our referencing system, but we'd like to find a way to output only specified render layers from our files. Obviously we could hack it by saving out multiple files, or rendering layers in sequence etc. etc. but it would be great to find a way to do this elegantly. 

Ryan O'Phelan

unread,
Jul 30, 2017, 1:11:44 PM7/30/17
to maya...@googlegroups.com

I'm pretty sure you can specify renderlayer in a deadline submission.

From the docs.



Maya Render Job

If rendering a normal Maya job, select the Maya Render Job type.

../_images/maya_options.png

General Options

The following options are available:

  • Threads: The maximum number of CPUs per machine to render with.

  • Frame Number Offset: Uses Maya’s frame renumbering option to offset the frames that are rendered.

  • Submit Render Layers As Separate Jobs: Enable to submit each layer in your scene as a seperate job.

  • Override Layer Job Settings: If submitting each layer as a separate job, enable this option override the job name, frame list, and task size for each layer. When enabled, the override dialog will appear after you press Submit.

    ../_images/maya_layers.png
  • Submit Cameras As Separate Jobs: Enable to submit each camera as a separate job.

  • Ignore Default Cameras: Enable to have Deadline skip over cameras like persp, top, etc, when submitting each camera as a separate job (even if those cameras are set to renderable).

  • Enable Local Rendering: If enabled, Deadline will render the frames locally before copying them over to the final network location. This has been known to improve the speed of Maya rendering in some cases.

  • Render Half Frames: If checked, frames will be split into two using a step of 0.5. Note that frame 0 will save out images 0 and 1, frame 1 will save out images 2 and 3, frame 2 will save out images 4 and 5, etc.


--
You received this message because you are subscribed to the Google Groups "maya_he3d" group.
To unsubscribe from this group and stop receiving emails from it, send an email to maya_he3d+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Steve Davy

unread,
Jul 31, 2017, 1:07:10 PM7/31/17
to maya...@googlegroups.com

The "Submit Render Layers as Separate Jobs" checkbox is grayed out with referenced render layers. This is the only mention of render layers anywhere in Deadline, with no feature to submit a user-specified render layer.


One of their support guys even confirmed to me that Deadline has never really supported render layers.


So, I'm looking for some sort of workaround to this.




From: maya...@googlegroups.com <maya...@googlegroups.com> on behalf of Ryan O'Phelan <desig...@gmail.com>
Sent: Sunday, July 30, 2017 10:11 AM
To: maya...@googlegroups.com
Subject: Re: [maya_he3d] Ideas for controlling render layers?
 
To unsubscribe from this group and stop receiving emails from it, send an email to maya_he3d+...@googlegroups.com.

Steve Davy

unread,
Jul 31, 2017, 1:40:11 PM7/31/17
to maya...@googlegroups.com

Sorry, AND Override Layer Job Settings is grayed out, although I wasn't aware of that drop down before so thanks.


Digging a bit deeper there are a couple of places buried where a pre-task script can be run, but they don't support MEL (which I understand) only Python (which I don't). I'm not sure if these could be used to turn specific render layers on pre-render, which would probably suffice (but is hardly convenient).




From: maya...@googlegroups.com <maya...@googlegroups.com> on behalf of Ryan O'Phelan <desig...@gmail.com>
Sent: Sunday, July 30, 2017 10:11 AM
To: maya...@googlegroups.com
Subject: Re: [maya_he3d] Ideas for controlling render layers?
 
To unsubscribe from this group and stop receiving emails from it, send an email to maya_he3d+...@googlegroups.com.

Ryan O'Phelan

unread,
Aug 2, 2017, 8:44:58 AM8/2/17
to maya...@googlegroups.com
I guess it's just a very uncommon workflow to render referenced render layers. Sounds dangerous to me.

Could you run a prerender script to import refs and then render that layer?


Steve Davy

unread,
Aug 2, 2017, 6:43:54 PM8/2/17
to maya...@googlegroups.com

I would have said it sounded dangerous as well (!) But it's actually working very well, with a few caveats, and in fact having worked both ways I'm now of the opinion that referencing in render layers is more stable than referencing geo/animation into a lighting/shading scene and creating render layers there, which invariably seems to end up with things breaking. I've only needed to use the fix render layers script once, and it worked completely. I would wager that making changes to render layers once they are referenced in would cause problems, but we don't work that way. 


One of the caveats is that importing references does seem to break render layers, so you would want to factor the need to do that into whether it's an appropriate pipeline.  But for what we do here, if we were to need to do it it would be relatively easy to simply export animation and create a non-referenced version of the scene.


So far as your scripting suggestion, setting the render layer with a pre-render script is what I want to be able to do within Deadline so I can launch a job for every render layer, specifying which layer to render. But as mentioned, there is no obvious way to do this. Smedge and other render managers make this easy.




Sent: Wednesday, August 2, 2017 5:44 AM
To unsubscribe from this group and stop receiving emails from it, send an email to maya_he3d+...@googlegroups.com.

Meng-Yang Lu

unread,
Aug 2, 2017, 7:16:09 PM8/2/17
to maya...@googlegroups.com
I think summiting Mt. Everest is safer than what you just described...

Steve Davy

unread,
Aug 2, 2017, 8:11:12 PM8/2/17
to maya...@googlegroups.com

Would you like to explain why?




From: maya...@googlegroups.com <maya...@googlegroups.com> on behalf of Meng-Yang Lu <ntmo...@gmail.com>
Sent: Wednesday, August 2, 2017 4:16 PM

To: maya...@googlegroups.com
Subject: Re: [maya_he3d] Ideas for controlling render layers?
I think summiting Mt. Everest is safer than what you just described...

--

Hafiizh

unread,
Aug 2, 2017, 8:31:02 PM8/2/17
to maya...@googlegroups.com
How do you guys deal with folder naming with the colon sign ":" for the namespaces. Do you dump everything into one folder?

Steve Davy

unread,
Aug 2, 2017, 8:48:44 PM8/2/17
to maya...@googlegroups.com

I'm not sure what you mean. For render output? We get a folder per render layer simply using the built-in flags in the naming field with Maya, like <Scene>/<Layer>/<Scene>_<Layer>.


We don't get any colons in the names, although the namespaces from referencing do cause some pretty long and arcane frame names. Working on that...




From: 'Hafiizh' via maya_he3d <maya...@googlegroups.com>
Sent: Wednesday, August 2, 2017 5:30 PM

To: maya...@googlegroups.com
Subject: Re: [maya_he3d] Ideas for controlling render layers?

Hafiizh

unread,
Aug 2, 2017, 9:04:42 PM8/2/17
to maya...@googlegroups.com
That's weird. I'm pretty sure I got render errors because of the colons in the namespace. Because Maya tried to create a folder name with colons and windows does not like it. So I just avoid it like a plague. That was Maya 2010 with backburner though. Back then I might still use %s/%c/%l/%l_%c_%s in the naming field. lol

Meng-Yang Lu

unread,
Aug 2, 2017, 9:17:53 PM8/2/17
to maya...@googlegroups.com
Render layers in Maya is the gateway of all of your artistic efforts to producing pixels.  Historically speaking, it's always been either a bottleneck or a measured risk to rely solely on the render layers.  Most places try to ensure they can reconstruct the scene or bypass it as much as possible via proprietary tools or leveraging something like Katana supplement the scene management aspect Maya.  You just doubled-down on it and introduced a convention that not many artists and vendors would consider, further isolating yourself should something go wrong.  And now moving into Maya 2017, the render layer workflow is changing, which is why a lot of places started move away from render layers in anticipation.  Let's be honest, we just don't know what Autodesk is gonna do version to version.  

You really want to make data agnostic as possible, and have methods of rebuilding your scenes so that as the software landscape shifts and moves, you can preserve the collective efforts of you and your artists.  The render layer literally unhooks and rehooks the connections seemingly one-by-one.  And if anything interrupts that, like a frustrated artists impatiently clicking around and stalling something, it breaks.  

So no, you won't get hypoxia, but it's risky nonetheless.  For simple scenes, you can probably get away with it.  For large scenes, there's obviously more at stake.  I'm pretty sure a lot of smart people took a look at render layers and tried to genuinely make it better over the years.  And in the end, they're gonna redo the whole thing.  Says something doesn't it?  

-Lu

Steve Davy

unread,
Aug 2, 2017, 9:29:15 PM8/2/17
to maya...@googlegroups.com

The connections issues that you mention are precisely why render layers and referencing have never worked very well together, but usually that means referenced geo is applied to render layers. The "risky" workflow I'm using circumvents that problem by not having any reference-dependent connections in render layers because they are all native. Since Vray came along I have generally found render layers to be far less necessary, however where I'm working now I inherited an established pipeline that leans on them pretty heavily. We are sometimes outputting 25-30 render layers with 90-100 Vray passes between them. Introducing the referencing system allows us to maintain lighting and shading consistency across a number of shots without having to make changes to multiple scenes (and yes, these are relatively simple scenes -- I'm not working on crowd scenes or large scale movie shots). So far, so good. Unorthodox, but I learned long ago that there often isn't a "correct" way to approach a problem in CG. I've certainly never worked this way before, but for our particular needs here it seems to be working fine.


So far as Maya's future, I'm waiting for them to fix all the problems with 2017 before we're going to upgrade here. I also don't hear great things about the new render setup system...




Sent: Wednesday, August 2, 2017 6:17 PM

To: maya...@googlegroups.com
Subject: Re: [maya_he3d] Ideas for controlling render layers?

bobrobertuma

unread,
Aug 3, 2017, 7:51:28 PM8/3/17
to maya...@googlegroups.com

I liked render layers.  I’m not a hater of MR either but know it comes up short in areas.  Never had much trouble with render layers.   If they get corrupted,  Just delete them and setup again or import fresh into scene and everything seemed to work. Saving a master scene file and then incrementing render layer setup seems to be a good practice to not having everything go south and starting over.  Render Setup seems good at first glance but doesn’t give you the control sometimes need by switching renders and flagging certain properties.  Render Setup and Render Layers in 2016.5 is a bit of a nightmare.  However I’m not going to switch to Arnold and loose my render farm.

Reply all
Reply to author
Forward
0 new messages