Batch Camera Render

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


  • Corona and Vray Sun inside Daylight System fixed (thanks to busseynova for reporting)


  • CoronaSun supported inside Daylight System


  • Don't Save Render Elements Checkbox (Thanks to antomor)
  • Limited support for camera objects in xref scene files (Only root objects in first level xrefs. Cameras in nested xrefs not supported)

1.13 Bugfix:

  • Deadline submission should work now

1.12 New Feature:

  • Deadline support.
    Very basic imlementation, it allows you to submit your jobs on a deadline server. Enter deadline repository address and check "Use Deadline" checkbox. Other checkbox doesn't matter in this case ("Net render", "Show Submit Dialog").
    Probably it requires Deadline 3ds max Submitter installed. I didn't have a chance to check it on a clean machine.

1.11 Features and fixes:

  • State sets support added
  • "projectname" keyword added which resolves to project's folder name
  • other fixes and improvements

1.10.3b Fixes:

  • Crash when vray ir/lcache maps are set to auto-save
  • Region render was not set properly during the rendering

This is major update of the script, so it may not be as stable as before. Backup scenes or cameras at least before running this version. More information can be found here - 1.10b Multiple presets for each camera

Previous updates:

1.10.2b Fixes:

  • Problems with render elements paths
  • Copy/paste of render region settings
  • Properly convert render region values when change resolution

New features:

  • Multiple presets for each camera
  • New keyword %presetname% to support multiple presets
  • Distributed rendering checkbox added to vray common settings
  • Bugfix - Net render not starting after cancelling during local rendering.
  • Improved performance with scenes with lots of cameras
  • Added support of Vray RT as a production renderer
  • Added support of using MFRender script to render scenes through BatchCamera script.
  • Bugfix - Error was popping up sometimes during drag-n-drop
  • Bugfix - Render elements didn't render in certain conditions
  • Bugfix - Pre-render/post-render scripts didn't work on network rendering
  • Bugfix - Select All and Toggle All buttons didn't work properly

Here are some details:

Script's website -

Github -

2015 Updates

  • Region render parameter can be specified for each camera
  • Set Viewport button sets viewport camera and resolution and aspect as well
  • It is possible now to specify backburner servers and server groups for silent rendering submit (code editing required)
  • Vray Elements fixed for Vray 3 and Vray output saving with VFB color correction
  • Cancelling of rendering of multiple cameras at once,
  • Hierarchical ini files

2013 Updates

  • 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
  • Keyword syntax can be used in Scene State names - thanks to Stefan Runevik for suggestion

2011 Updates

  • Preview button added - renders only current frame without saving anything - no images, no vray maps, no scripts running, no elements.
  • Ortho mode added to Vray rollout - it turns any camera to orthographic, including Vray Physical camera.
  • 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.
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-202x
batchcamerarender_1.16.ms245.73 KB
batchcamerarender_1.17.ms245.88 KB


Comment viewing options

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

You know, I'm trying to

You know, I'm trying to override as little parameters as possible to not overload UI with different settings.

Since script uses all non-set parameters with default values you can send 32-bit render jobs silently if you send one job through the submission dialogue and switch job to 32-bit. All subsequent (silently submitted) jobs should have same setting, I believe...

Try it and let me know, please. I'm working in 32-bit environment and can't check it myself.

my scripts and tips/tricks:

a-ezz's picture

oh, my bad i checked today

oh, my bad
i checked today the render monitor , and the reason the job didn't start is that it's assigend as a 64bit job
i always submit the jobs in my render as 32bit jobs
but i work on max 64bit
so, the render manager complains about not having any render nodes for 64bit jobs
that's normal
my mistake

but just to note as i use the submission dialogue in max and send the jobs as 32bit, could you provide that override as max, as it seems that your method of sending the job uses the working max build

thanks again for your efforts

sergo's picture

It's something strange,

It's something strange, a-ezz. You have so many problems, I don't even know where to start from.

There is one thing you should consider when you use this script - any other setting that is not set by this script, is using with default value. I think you should check such settings as Initialy suspended and Server Usage in Network Job Assignment dialog. Just check Show Submit Dialog checkbox in script, set these settings, and submit a job. After that, when you submit jobs silently, that settings will be used as default.

Could you send me screenshots of  your backburner manager window with error messages?

my scripts and tips/tricks:

a-ezz's picture

i did specially register

i did specially register today to thank you for this marvellous script
there is one issue though with the new silent submission to net render

the job doesn't automatically start on the render farm , you have to start it manually, the default batch render start it automatically

in the mean time , i will test it for the multi element render in single file exr , that vray support, as you have added the magic support for vray raw image render

oh , i found that it didn't auto start the render because it didn't assign any available render node for the job

i did edit it twice, ok, when i silently send the job to render farm, it says that there is no plugin available to handle the job, when i use the submit dialogue , it renders okay

sergo's picture

Yes, fajar, I thought about

Yes, fajar, I thought about it. It needs many such callbacks - refresh when cameras added or deleted in scene, refresh when new scene is loaded. I'll add these callbacks sooner or later.

my scripts and tips/tricks:

fajar's picture

I think this script need

I think this script need auto camera refresh when new camera added.....

sergo's picture

Thank you,

Thank you, le1setreter!

Render elements support is in my main todo features. I'm very interested in it, but as always, don't have enough time to implement it. Could you send me your modifications?

my scripts and tips/tricks:

le1setreter's picture

hey sergey, great job! this

hey sergey, great job!

this script is a really nice time(ages) saver. many, many thanks for that. :)

for special needs i had to add some code lines to support (vray) render elements. let me know if you are interested in them so maybe you can implement the feature in an upcoming release. i also added you in skype.

best wishes!

fajar's picture

in the prev ver , the script

in the prev ver , the script don't act like that, so I assume this is bug.

sergo's picture

> Bug (3dsMax 9-32bit) ,

> Bug (3dsMax 9-32bit) , some blank dotnet when scene don't have camera

Thank you, but it's not a bug - there's no reason in this script when you don't have a camera in your scene.

my scripts and tips/tricks:

Comment viewing options

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