question

Stephen Spencer avatar image
Stephen Spencer asked

Rendering Layers on a Farm vs. Rendering Layers in Batch Rendering

The setup: Windows 10 host running Maya 2019 and Arnold 6. Our renderfarm is CentOS8-based, running the same software versions, and Pixar's Tractor for renderfarm management.

A simple Maya file (https://www.dropbox.com/s/ovfladt9h9q9ejo/simple_file_with_layers-ML-ON.ma?dl=0) with the "masterLayer" and two defined layers - "cube" and "plane" - render successfully when batch-rendered in Maya. That is to say, in the project folder, there is an "images" folder with three additional folders, one for each layer, and rendered images for each layer.

When I send the same file to the renderfarm, only the masterLayer is rendered, and none of the defined layers ("cube" and "plane"). Worse yet, if I make the masterLayer "non-renderable for batch rendering" in the Render Setup window (the second icon to the right of "Scene" near the top of the window), Maya finds no renderable layers and errors out.

My biggest question: Why is the renderfarm NOT rendering each layer for each frame of the animation, only rendering the masterLayer.

(I'm not the creator of the file, I'm the IT guy supporting the animation class, and they're having problems using the renderfarm to generate the frames of their animations.)

arnoldmtoarender farmlayer
rendersetup.png (29.6 KiB)
10 |600 characters needed characters left characters exceeded

Up to 5 attachments (including images) can be used with a maximum of 2.0 MiB each and 9.8 MiB total.

Stephen Blair avatar image
Stephen Blair answered

What's the render command on the render farm? What command flags?

10 |600 characters needed characters left characters exceeded

Up to 5 attachments (including images) can be used with a maximum of 2.0 MiB each and 9.8 MiB total.

Stephen Spencer avatar image
Stephen Spencer answered

Each frame that is sent to a specific renderfarm host has a command line that looks like this. The parameters to -s and -e are different for each frame.

/usr/local/bin/Render -r arnold -s 3 -e 3 -b 1 -im shotname -ai:threads 4 -verb -proj path-to-project path-to-Mayafile

We are using the TractorSpoolForMaya script in Maya as the interface to the renderfarm.

Thank you for responding, Stephen. We moved from Maya 2017 to 2019 for the new school year, and this stopped working.

10 |600 characters needed characters left characters exceeded

Up to 5 attachments (including images) can be used with a maximum of 2.0 MiB each and 9.8 MiB total.

Stephen Blair avatar image
Stephen Blair answered

@Stephen Spencer I get all render layers with this command:

render -r arnold -s 3 -e 3 -ai:lve 2  C:\Users\blairs\Downloads\simple_file_with_layers-ML-ON.ma

and with this command

render -r arnold -s 3 -e 3 -ai:lve 2  -im testshot -verb -proj C:\Users\blairs\Documents\maya\projects\default  C:\Users\blairs\Downloads\simple_file_with_layers-ML-ON.ma


I'd get a more detailed log from a render farm job, if possible.

10 |600 characters needed characters left characters exceeded

Up to 5 attachments (including images) can be used with a maximum of 2.0 MiB each and 9.8 MiB total.

Stephen Spencer avatar image
Stephen Spencer answered

The "TractorSpoolforMaya" script creates a jobfile that has one task per frame that is used to dole out tasks to renderfarm nodes; that command from my previous message is replicated, in this case, ten times, one for each frame number, 1 through 10.

The output I see in the Tractor monitor from one of the rendered frames is attached - simple_file-renderoutput.txt.

Maya is creating a new ".ma" file from the Maya file I load into Maya 2019 (see links below) and a "diff" of the two files shows that the new ".ma" file doesn't have the renderLayer information in it that the original file does - that's very strange, and probably important to this matter.


simple_file-renderoutput.txt

the file I created.

the file Maya creates.



1 comment
10 |600 characters needed characters left characters exceeded

Up to 5 attachments (including images) can be used with a maximum of 2.0 MiB each and 9.8 MiB total.

I can load and save the scene file, and the render setup (the layers) is still there.

But if export, then you'll lose the render setup. That's by design. Exporting does not include render setup.

The Tractor log doesn't show what command was run.

When I tested the render command, I got the layers in the render.

0 Likes 0 ·
Stephen Spencer avatar image
Stephen Spencer answered

I see in the Maya documentation mention of the "-rl" flag, and it says "-rl <boolean:name>" and, for explanation, there's this: "Render each render layer separately." This seems like a flag I should be sending to Maya on the renderfarm, but I'm not sure how to parse "<boolean:name>."


4 comments
10 |600 characters needed characters left characters exceeded

Up to 5 attachments (including images) can be used with a maximum of 2.0 MiB each and 9.8 MiB total.

That flag is for legacy render layers only.
The scene file you sent originally does not use legacy render layers, it uses Render Setup.

0 Likes 0 ·

Correct, we are using the newer Render Setup, not the legacy render layers.

The documentation says "Applicable to both legacy render layers and render setup." after "Render each render layer separately."

0 Likes 0 ·

Is there a way to export the render layer information? Yes, I see that when Maya exports the file, it removes that information.

(Wondering out loud...) I wonder if I can change the TractorSpoolforMaya script so that it sends the original (not the exported-from-Maya) Maya file to the renderfarm?

0 Likes 0 ·
Show more comments
Stephen Spencer avatar image
Stephen Spencer answered

Progress, of a sort: rendering from the command line on the renderfarm client AND passing in the original Maya file (not the one exported from Maya that excises the renderLayer information) works correctly: it generates the layer-named folders (cube, plane, and masterLayer) and generates the correct image in each folder.

10 |600 characters needed characters left characters exceeded

Up to 5 attachments (including images) can be used with a maximum of 2.0 MiB each and 9.8 MiB total.

Stephen Spencer avatar image
Stephen Spencer answered

Update: I altered the "tractorSpoolForMaya" Python file, and it appears to work.

That file - installed on users' computers, and which builds the render job and sends it off to the renderfarm management system - initiated the export of the scene from Maya, in to a new, temporary file ( the _filename-digits.ma file generated from filename.ma ). I changed that file, so that it sends the original file ( filename.ma ) to the renderfarm.

Layer information gets to the renderfarm, renderLayer-specific folders are created, and renderLayer-specific files are generated - in that example, each frame had three layers (masterLayer, cube, and plane) and so for the ten frames of the test animation, we had thirty files created.

10 |600 characters needed characters left characters exceeded

Up to 5 attachments (including images) can be used with a maximum of 2.0 MiB each and 9.8 MiB total.

Stephen Spencer avatar image
Stephen Spencer answered

...and I have confirmation of this modified script working from one of the students in the class.


Stephen, thank you for your assistance with this matter. If I might, a question for you: how do other renderfarm management systems (we use Pixar's Tractor) handle this? I suppose, potentially, that every system does it differently, and I know that Backburner isn't a supported product any longer. I've seen multiple mentions of Deadline, and I have read a little about OpenCue - that looks interesting.

10 |600 characters needed characters left characters exceeded

Up to 5 attachments (including images) can be used with a maximum of 2.0 MiB each and 9.8 MiB total.

Write an Answer

Hint: Notify or tag a user in this post by typing @username.

Up to 5 attachments (including images) can be used with a maximum of 2.0 MiB each and 9.8 MiB total.

Welcome to the Arnold Answers community.

This is the place for Arnold renderer users everywhere to ask and answer rendering questions, and share knowledge about using Arnold, Arnold plugins, workflows and developing tools with Arnold.

If you are a new user to Arnold Answers, please first check out our FAQ and User Guide for more information.

When posting questions, please be sure to select the appropriate Space for your Arnold plugin and include the plugin version you are using.

Please include images, scene and log files whenever possible as this helps the community answer your questions.

Instructions for generating full verbosity log files are available for MtoA, MaxtoA, C4DtoA, HtoA, KtoA, and Kick.

If you are looking for Arnold Documentation and Support please visit the Arnold Support site.

To try Arnold please visit the Arnold Trial page.

Bottom No panel present for this section.