AWS Thinkbox Discussion Forums

Maya, V-Ray and Render Layers

Hello,

I just finished setting up Deadline on a very small farm for the first time. Everything works fine and I’m very satisfied.

But I have a problem with Maya, V-Ray and Render Layers. If I submit a job with “Submit Render Layers As Separate Jobs” checked everything works fine. But if I want to submit it as a single job only the master layer gets rendered. Even though it’s set as not renderable.

Can someone help me with that?

Hello,
Looking at the documentation for Maya submission and the submission code, if you are not specifying the render layer setting from the Maya submitter, it should pull it from Maya Render Settings itself.

Can you change the default Render layer under the Render Setup for Maya. I found this link from Autodesk Maya on Creating Render Settings overrides for your render layer: Help

Thank you for your reply, but I’m not sure if I get what you mean.
My render setup works completely fine if I render directly (without Deadline) via render.exe or batch.exe. He ignores the master layer (which is set to not renderable) and renders all my layers which I set up and set as renderable.
But if I submit this same scene to Deadline he only renders the master layer.
(And like I said, if I check “Submit Render Layers As Separate Jobs” it also works perfectly fine.)

Edit: Ah, I see, he’s only rendering the layer I’m on (no matter if it’s set to renderable or not). But is there a way to render all my layers and respect the renderable setting in a single job?

It must be that the only options (as you’ve found) are render all layers or only render the master layer. My suspicion is we’re pulling the master layer’s name at submission time and only passing that, instead of looping through all render layers and passing the ones that are renderable.

If you uncheck ‘Use Batch Plugin’ how does the render behave in Deadline? I’m curious if this is an issue in just the batch plugin, or how we ask Maya to run across the board.

And if it’s possible, could I get a simple Maya scene that I can try submitting to re-create the behaviour you’re seeing? I might be able to figure out what’s going wrong in the submitter with that, but I’m not certain I’ll be able to get render layer visibility sorted out. :slight_smile:

Hi @Justin_B ,

if I uncheck “Use Batch Plugin” it doesn’t change anything. He still only renders the layer I’m on.

BUT I discovered that this only happens if I submit my job from inside Maya (with the script from the shelf). If I submit it from Deadline Monitor everything works as expected! This is a fix, but I still would prefer to have this behavior out of Maya. Maybe this is helpful for troubleshooting.

And I of course can upload a very simple test scene for you to test.

Thank you so much!

deadline_rlyr_test.zip (15.6 KB)

1 Like

Excellent thanks!

Making sure I’m testing the right render layer settings here and sharing what I’m getting.

With these settings:


Using the Render → Batch Render button in Maya I get three exrs which is correct:

C:.
├───blue_rlyr
│       deadline_rlyr_test_blue_rlyr.exr
│
├───green_rlyr
│       deadline_rlyr_test_green_rlyr.exr
│
└───red_rlyr
        deadline_rlyr_test_red_rlyr.exr

Running the same render setup settings through the Deadline submitter with ‘Submit Multiple Jobs’ disabled gets just the master layer as you’ve described:

C:.
└───masterLayer
        deadline_rlyr_test_masterLayer.exr

Deadline should be producing the same results as the batch render test and create the 3 .exr files.

But what’s really interesting is I can also re-create your test using the Monitor’s submitter, resulting in the correct layers:

C:.
├───blue_rlyr
│       deadline_rlyr_test_blue_rlyr.exr
│
├───green_rlyr
│       deadline_rlyr_test_green_rlyr.exr
│
└───red_rlyr
        deadline_rlyr_test_red_rlyr.exr

I’d bet we’re being a little overly clever in the integrated submitter instead of letting Maya use the render setup as-is. I’ll go work on that and update this thread once we know more.

1 Like

Thank you so much @Justin_B !
And also I’m glad that this is not a stupid mistake on my side :wink:

1 Like

Alrighty, this is caused by us pulling the currently selected render layer and setting that as the layer to be rendered without checking.

When I went into the plugin data file created by the integrated submitter, removed RenderLayer=defaultRenderLayer, and re-submitted the job files I got the same behaviour the Monitor submitter shows.

So I’ve done some digging around, and the idealized workflow is that if you want to submit all renderable layers, you’d check off “Submit Render Layers As Separate Jobs”. If you want to submit only the selected layer you’d leave that unchecked and we don’t check if the layer is renderable or not.

I’m not happy just stamping ‘working as intended’ on this and moving on. However to make this work smoothly I think we’d have to add an option to only render the layers marked renderable, all as a single job to the submitter.

I can make a feature request, but I’d like to know why multiple jobs isn’t how you’d like to run the different layers. I assume it’s to save a launch of Maya for each layer, but let me know!

Hi @Justin_B , sorry for the late reply and thank you for your efforts!

Okay, now I understand Deadlines logic, I was just confused that it differs from the “normal” maya behavior. I think i can work with it but I still would very much prefer an option to change it.

The main reason for us is that we have huge scene files with very bad converted cad-data which takes ages to load and we also have many, many render layers with just minor changes (slightly rotated dome lights, different shader variations etc.). So we save a lot of time and network traffic if we can load the scene file only once and render all layers on one machine.

Hello @Justin_B ,

Thanks Bastien_Georg for the topic and raising the issue. We are encountering a similar issue with Maya 2023.3, Renderman 25.2 and Deadline 10.3.0.15.

Which means that as soon as we Disable “Submit Render Layers as Separate Jobs”, only the current active Render Layer is being rendered.

As stated by Bastien_Georg, the problem is that it’s a very heavy load on the server because only one Render Layer is rendered, while the worker still has to read the whole scene (and read heavy caches/abc). In case of heavy scenes, the server workload drastically increase and we are encountering server slowness.

The only solution we see is to launch all renders layers one by one with a different Frame per server each time, but this is very time consuming for users as we could have up to a dozen RL per scene.

In the end, has this issue been submitted as a Feature Request and is there any hope of seeing an update on this anytime soon ?

Basically, the behavior we were expecting was that disabling “Submit Render Layers as Separate Jobs” would launch one job for all “renderable” Render Layers, allowing one Worker to render all renderable RL for the given frames, allowing a much lower server pressure.

Thank you for you time,

Privacy | Site terms | Cookie preferences