Batch Camera Render

Date Updated: 
Author Name: 
Sergo Pogosyan

This script aims to replace standard 3dsmax's Batch Render and imitates Houdini Output Node workflow. Using it you can specify rendering parameters - frame size, frame number, output path - directly to camera object, so every camera in scene 'knows' what it intended to render. Additional functionality is Lighting Assignment - you can specify which light will be turn on or off for selected camera during the rendering.

This bug fixed -

UPDATE 22  December 2014

After long period an update at last!

I don't remember exactly what I've added to script since vesion 1.9.10, but 1.9.13 is available now. You can get it here (but it is in the attachement too) -

Major features are:

  • cancelling of rendering of multiple cameras at once,
  • hierarchical ini files
  • fixes with netrender names and d-n-d of rows

New site for the script is here -

And here's github for the script where you can do pull, push and other things.

UPDATE 15  December 2013

There are several new features I've added since 1.9.81, but I put the list of most visible ones for now. Later I'll add full list of new features.

  • Drag-n-drop of cameras in list
  • Camera list window size can be changed (script restart required)
  • When committing region render it is possible to switch to view render without restarting the render
  • ini files parsing updated - more details later
  • Keyword syntax can be used in Scene State names - thanks to Stefan Runevik for suggestion

UPDATE 23 November 2011

  • Preview button added - renders only current frame without saving anything - no images, no vray maps, no scripts running, no elements.


UPDATE 17 November

  • Ortho mode added to Vray rollout - it turns any camera to orthographic, including Vray Physical camera.


  • Animated Ranges now evaluated correctly - animation of camera target is taken in account.
  • Vray parameters restored after each camera for correct process of undefined properties.

UPDATE 22 June 2011 

Script is under GPL v2 license from now on.

UPDATE 05 July 2011

New Features:

  • Copy/Paste from one camera to one/several cameras - use new buttons at the top of the window.
  • Submit Scripts section - you can assign script files that will run on each render submit. Per Submit script runs once per render submit and Per Camera script runs for each camera before submit. All these scripts run on local machine, not on render server.
  • Last Rendered Location field - here is stored last render file location. Very useful for locating last-time rendered images.
  • I hope many of you use Global Defaults INI file during the each day work. If so, I'm sure you'll find useful new feature - Local Defaults!
    Using this feature you can set default values for the current scene, project or some other group of files. Local default values override the values from Global INI file. They are defined in local INI file. Path of local INI file is set in the Local INI Path field in the Options rollout and it  can contain global keywords (%scenepath%, %projectpath% for example). To save some property value as local defaults press "To Local Defaults" button in property's section. After that all new cameras in current scene will have default values defined in saved section.
    Local INI Path can be saved in Global INI file, so by using relative keywords (%scenepath%, %projectpath%) each scene and project will use their own Local INI file automaticaly.
Additional Info: 


Run this script with Maxscript -> Run Script command from any folder on your hard drive, then go to the *'Customize User Interface' -> 'Toolbars'*, browse to category 'Sergo Pogosyan' and add 'Render scene cameras...' button to the toolbar or to the menu.


When you start this script it iterate over all cameras in scene and list them in the dialog box. To each of these cameras you can assign frame resolution, number of frames to render including nonsequential frames, output file location and lighting setup. All these properties can be changed for one or several selected cameras. Output file location is split to folder path and file name, so you can specify new folder for all selected cameras in scene. 'Lighting assignement' section contains three list: Solo light list contains lights that will be only lights turned on during the rendering, 'Forced On' and 'Forced Off' lights are turned on or off respectively during the rendering. After all these setting will be set up (if some properties is not set value from the Render Setup will be used), check the camera(s) in the list and hit Render button. Check Net Render checkbox to submit network render job.

Supported lights: All bundled 3ds max lights, all Vray Lights
Supported cameras: All bundled 3ds max cameras, Vray PhysicalCamera

Version Requirement: 
3ds max 2008-2014. 32-bit and 64-bit.
batchcamerarender_1.9.10.ms211.22 KB
batchcamerarender_1.9.13.ms210.42 KB


Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
jwscott's picture

exposure/curves settings


When I adjust curves and exposure settings in the frame buffer, those settings are not baked into the output files from Batchcam (the changes are visible in frame buffer, though). I want what I'm seeing in the frame buffer to be what's saved to disk.

If I save the file manually, it looks right. Is there a setting I'm missing? I'm using version with vray 2.20.0, 64bit, Windows 7.



sergo's picture

I've just thought that Custom

I've just thought that Custom Keywords may be helpfull when you want to switch the paths based on some criteria.

Here's an example:

var1 variable is set to name of box1.material

var2 is the conditional operation: if == something then var2 will be set to "test1"

So you can use any maxscript properties in Value field and then use variable name in paths.

k2000's picture

One more question just poped

One more question just poped out...

How the syntax works with "Custom Keywords and Names" ?
Can I use it in filename?
Example please.


sergo's picture

>Realized I was using 1.9.7

>Realized I was using 1.9.7 instead of 1.9.8 couple of days ago...
>Tried to switch to 1.9.8. But when I press "RENDER" button I got error message window
> -- Unknown property: "SetElementsActive" in undefined
>any ideas?

Send me your scene if you can.

UPDATE - bug fixed in version

k2000's picture

New featureIs it possible to

New feature

Is it possible to add second OUTPUT PATH? And check boxes for each path.
During the work process I save files locally and then copy to the server.
When rendering overnight I normally save to the server.
So I need to change save path many times back&forth.
Maybe it's not very usefull for someone. But for me this could be very usefull.


k2000's picture

Realized I was using 1.9.7

Realized I was using 1.9.7 instead of 1.9.8 couple of days ago...
Tried to switch to 1.9.8. But when I press "RENDER" button I got error message window

-- Unknown property: "SetElementsActive" in undefined

any ideas?

for the new scene script works fine.


k2000's picture


oh, I see
just misunderstood the comparison description
surely will go for v2


sergo's picture

as far as I remember I didn't

as far as I remember I didn't change anything in render elements section in later version, except custom element naming. Ok, thank you, I'll make tests and see what's going on there.

P.S. But scene state works in v2. Do you mean lighting state?

k2000's picture

render elements windows

I upgraded to recently.
In 1.9.5 Render Elements windows automatically close after render is done.
Now all the windows are open and you have to close all of them manually. Not a big deal but... (this was a nice feature if compare to standard render window, if you need 10-15 render elements and then close then one by one)


P.S. didn't go for v2 yet as I need "scene state" feature for my current project.

sergo's picture

Thank you :)

Thank you :)

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.