Batch Camera Render

Date Updated: 
Author Name: 
Sergo Pogosyan

You can also try new beta of Batch Camera Render 2 - multiple setting for one camera and new render submit procedure.

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


Comment viewing options

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

Autoload Scene state is possible in current version

That is already possible in current version. Just use %cameraname% as your scenestate in the script and you are done!

Setup is like this: You have cameras, you have scene states named after camera names and you have %cameraname% put for each camera in the script.

fajar's picture

Any chance to add

Any chance to add shutdown/restart/hibernate after render.

crystal3d's picture

Suggestion: Autoload Scene state that has identical name

as the camera :)
That would be perfect fit for my workflow.

sergo's picture

You can have that option

You can have that option checked in standard render dialog, it will not be touched by the script.
Here is my quick setup that saves lightcache and irmap using camera name as filename, hope that helps:

birket's picture

'Use camera path' option for vray GI solution calculations

I have a scene with 10 to 20 animated vray cameras. I need to create a solution for each camera (using lightcache and irmap). Normally, when I do them one at a time by hand, I have the options checked to 'use camera path' for the solution.
This means the GI solution is only caluculated for what the camera 'sees'.

Could this option be added to Batch Camera Render?

(I've just tested a batch job where I told each of my 3 animated cameras to save the lightcache and irmaps. They don't appear to have saved them. Any ideas why?)


lucy960's picture

This was the first place that

This was the first place that told me the answer. I have added you to my bookmark list to check out new articles you post.Slim in 6 DVD Box Set | Profiler Seasons 1-4 DVD Box Set | Desperate Housewives Seasons 1-8 DVD Box Set | Seinfeld Seasons 1-9 DVD Box Set | The Sopranos Seasons 1-7 DVD Box Set | Andromeda Seasons 1-5 DVD Boxset UK

lucy960's picture

I really appreciate your

I really appreciate your post. It is very helpful for all the people on the web.I wanted to say that it's nice to know that someone else also mentioned this as I had trouble finding the same info elsewhere. One Tree Hill Seasons 1-9 DVD Box Set | Stargate Atlantis Seasons 1-5 DVD Box Set | I Love Lucy Seasons 1-8 DVD Box Set | Merlin Seasons 1-5 DVD Box Set | EverWood Seasons 1-4 DVD Boxset

sergo's picture

Attached script to post

Hi guys!
That broken link forced me to update the script. I've listed some of the most visible new features, later I'll add all new features and update description (hopefully).

Enjoy and happy holidays!

amir3dsmax's picture

link is dead

can any one give me link ?? link is dead

sergo's picture

You can use Vray commands

renderers.current.saveIrradianceMap "filename.vrmap"
renderers.current.loadIrradianceMap "filename.vrmap"

To register that commands as callbacks run this code before rendering starts

callbacks.addScript #postRenderFrame "renderers.current.saveIrradianceMap (\"file_path_and_name\" + ((currentTime as integer) as string) + \".vrmap\")"

But you should manually delete that command to not have irmaps resaved after each and every render in current scene

callbacks.removeScripts #postRenderFrame

Comment viewing options

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