Batch render multiple scenes with Maya

Managing renders is a big part of my job as a 3D generalist. Sometimes I have worked on a couple of different Maya scenes during the day and want to render them all over night on my local machine. Starting a batch render from inside of Maya only allows me to render one scene at a time. A workflow that I have found that suits my needs very well, and doesn’t require any external software or render farm setup, is to create a simple Windows batch script (.bat file). All you need is one line of code for each render. An example could look like this:

So basically all you need to specify is where Maya is installed on you computer, where your project is set and what your scene is named. Of course there is more you can do, but this is all you need in my opinion. For example, you can specify which frames to be rendered in the script. But I prefer to skip that unless I want to override the frames I specified in the render settings.

Renderable Curves in V-Ray for Maya

Something I’ve found myself using a lot lately is making nurbs curves renderable in V-Ray. This is a much faster and more flexible workflow in my opinion compared to the old way of extruding geometry along your curves in order to render them. It’s simply a V-Ray custom attribute that you add to the shapenode of your curve.

When working with lots of curves it can be a bit tedious to add all the attributes manually. One way to speed the process up is with scripting. How I like to work is that if I know that a bunch of curves will have the same shader and attributes, I select them and run my script that will apply the same attributes to all of them. Here is the script I wrote in Python:

 

Python script to change File node names to Image Names

This script will change the name of all the File nodes in a scene to their Image Name.

Python scripts for Subdivision and Texture Input Gamma in Vray for Maya

The first Python script  will apply a Texture Input Gamma from Vray Attributes on selected File nodes.

The second script applies Subdivision from Vray Attributes on selected Shape nodes. The script automatically converts a selected transform node into a shape node, which means that you can select the objects you want to subdivide in the viewport. I also set the script to not Override Global Values in order for you to set the values you want in the Default Displacement and Subdivision tab, instead of typing them in on every object after you flagged the object for Subdivision.

 

Render Elements UV and Point Position

I have found UV passes really useful and often include them in my Render Elements in VRay. Since this takes a little time to set up every time I created a Python script that can create the UV pass for me.

And while I were at it I created a script for a Point Position Render Element as well.