Community
Arnold for 3ds Max
Rendering with Arnold in 3ds Max using the MaxtoA plug-in.
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

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

13 REPLIES 13
Reply
Message 1 of 14
Anonymous
941 Views, 13 Replies

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.)

Labels (4)
13 REPLIES 13
Message 2 of 14
Stephen.Blair
in reply to: Anonymous

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



// Stephen Blair
// Arnold Renderer Support
Message 3 of 14
Anonymous
in reply to: Anonymous

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.

Message 4 of 14
Stephen.Blair
in reply to: Anonymous

@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.



// Stephen Blair
// Arnold Renderer Support
Message 5 of 14
Anonymous
in reply to: Anonymous

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.


Message 6 of 14
Anonymous
in reply to: Anonymous

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>."


Message 7 of 14
Stephen.Blair
in reply to: Anonymous

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



// Stephen Blair
// Arnold Renderer Support
Message 8 of 14
Stephen.Blair
in reply to: Anonymous

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.



// Stephen Blair
// Arnold Renderer Support
Message 9 of 14
Anonymous
in reply to: Stephen.Blair

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."

Message 10 of 14
Anonymous
in reply to: Anonymous

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?

Message 11 of 14
Stephen.Blair
in reply to: Anonymous

The Render Setup is saved with scene (eg File > Save. File > Export All is what doesn't include render setup and the layers)

It is possible to use Render Setup to export layers, but then you have to import it into some other scene.

https://knowledge.autodesk.com/support/maya/learn-explore/caas/CloudHelp/cloudhelp/2019/ENU/Maya-Ren...

Ok, the -rl flag does work with Render Setup, but you shouldn't need it unless you want to render specific layers, not all layers that are marked batch renderable in the scene.



// Stephen Blair
// Arnold Renderer Support
Message 12 of 14
Anonymous
in reply to: Anonymous

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.

Message 13 of 14
Anonymous
in reply to: Anonymous

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.

Message 14 of 14
Anonymous
in reply to: Anonymous

...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.

Can't find what you're looking for? Ask the community or share your knowledge.

Post to forums  

Autodesk Design & Make Report