Batch Camera Render

256 votes
Version: 
1.11
Date Updated: 
05/18/2017
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.

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: http://usakhelo.github.io/batchcam/batchcam-1.9.20.html

Script's website - http://usakhelo.github.io/batchcam/

Github - https://github.com/usakhelo/batchcam

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: 

Installation:

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.

Usage:

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-2017
AttachmentSize
batchcamerarender_1.11.ms225.96 KB

Comments

Comment viewing options

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

THANKS!

thank you Sergo!

I will try it asap, but you are already my hero!

many many thanks again!

sergo's picture

MFrender Support

This is how it looks:

And the script is in attachment.

 

AttachmentSize
mfrender_1.ms 17.05 KB
sergo's picture

modified mfrender needed

It was while ago, but as far as I remember I edited mfrender script to support batchcam. I'll post details later.

http://www.scriptspot.com/3ds-max/scripts/mfrender#comment-31448

Mirko_pgn's picture

MFrender Support

Hi Sergo! Grate script really!
Just a question: How do I can make it working with MFrender?

sergo's picture

Hi, Sorry it took a while to

Hi, Sorry it took a while to answer the question. So you want to get batchcam properties from camera, is that right? You can access currently rendered camera in pre/post render script using batchCameraRender_currentcamera global variable Then you need to get properties from it. It got little bit more complicated since I added multiple setting per camera but it comes to this call: getAppData camera_object property_id

And here's the list of property names and id's that you can access:

"BatchCameraRender_frames":                    property_id = 7801
        "BatchCameraRender_framerange_from":        property_id = 7802
        "BatchCameraRender_framerange_to":            property_id = 7803
        "BatchCameraRender_anim_frame_range":        property_id = 7804
        "BatchCameraRender_frame_width":                property_id = 7805
        "BatchCameraRender_frame_heigth":            property_id = 7806
        "BatchCameraRender_render_output":            property_id = 7807
        "BatchCameraRender_elements_state":            property_id = 7808
        "BatchCameraRender_elements_output":        property_id = 7809
        "BatchCameraRender_solo_lights":                property_id = 7810
        "BatchCameraRender_on_lights":                    property_id = 7811
        "BatchCameraRender_off_lights":                    property_id = 7812
        "BatchCameraRender_scene_state":                property_id = 7813
        "BatchCameraRender_render_preset":            property_id = 7814
        "BatchCameraRender_irmap_mode":                property_id = 7815
        "BatchCameraRender_auto_save_irmap":        property_id = 7816
        "BatchCameraRender_auto_switch_irmap":    property_id = 7817
        "BatchCameraRender_irmap_read_file":            property_id = 7818
        "BatchCameraRender_irmap_save_file":            property_id = 7819
        "BatchCameraRender_lcmap_mode":                property_id = 7820
        "BatchCameraRender_auto_save_lcmap":        property_id = 7821
        "BatchCameraRender_auto_switch_lcmap":    property_id = 7822
        "BatchCameraRender_lcmap_read_file":            property_id = 7823
        "BatchCameraRender_lcmap_save_file":        property_id = 7824
        "BatchCameraRender_prerender_script":        property_id = 7825
        "BatchCameraRender_prerender_enabled":        property_id = 7826
        "BatchCameraRender_postrender_script":        property_id = 7827
        "BatchCameraRender_postrender_enabled":    property_id = 7828
        "BatchCameraRender_image_aspect":            property_id = 7829
       
        "BatchCameraRender_UserKey1":                    property_id = 7830
        "BatchCameraRender_UserKey2":                    property_id = 7831
        "BatchCameraRender_UserKey3":                    property_id = 7832       
       
        "BatchCameraRender_UserVal1":                    property_id = 7833
        "BatchCameraRender_UserVal2":                    property_id = 7834
        "BatchCameraRender_UserVal3":                    property_id = 7835
       
        "BatchCameraRender_bbJobName":                property_id = 7836
        "BatchCameraRender_elementName":            property_id = 7837
       
        "BatchCameraRender_OnSubmitScriptEnable":    property_id = 7838
        "BatchCameraRender_OnSubmitScript":                property_id = 7839       
        "BatchCameraRender_perCameraScriptEnable":    property_id = 7840
        "BatchCameraRender_perCameraScript":            property_id = 7841
       
        "BatchCameraRender_lastRenderPath":        property_id = 7842
       
        "BatchCameraRender_vray_ortho_mode":        property_id = 7844
        "BatchCameraRender_item_index":        property_id = 7845
       
        "BatchCameraRender_region_enabled":        property_id = 7846
        "BatchCameraRender_region_x":        property_id = 7847
        "BatchCameraRender_region_y":        property_id = 7848
        "BatchCameraRender_region_w":        property_id = 7849
        "BatchCameraRender_region_h":        property_id = 7850

e_samurai's picture

Great script!

Thank you Sergo for that amazing script! It really helped me a lot with automating most of my rendering work.

I wanted to ask though whether I could access some parameters through maxscript?

For example, I want to automatically log each camera total render time, so is there a way to parse the "current" or the "last" rendered camera name/frame size/frames/etc through maxscript directly and add them to a spreadsheet or XML file. Is that possible?

I tried the INI file but it has only a limited amount of information.

Thanks again!

sergo's picture

State Sets support is on its way

Hi, I'll add state sets support soon! Already working on it:

deam's picture

need to check state sets

Hello

I found the way to use state sets

1. Create the different STATE SETS
2. open the MANAGE SCENE STATES panel
3. Create different SCENE STATES based on your STATE SETS
4. This way in batch camera you will find the SCENE STATE for each camera

regards

AttachmentSize
u.jpg 965.71 KB
deam's picture

vray 3.5 denoiser

What you are looking for can be set from the vray denoiser panel

ricou's picture

Hi Sergo,Thanks for your

Hello Sergo, Sorry for the delay. Sorry again because, it was my fault...Cam was locked ! Oups :) Thanks again for your great Batchcam

============================================================================================

Hi Sergo,
Thanks for your answer.
I can send you every scene I did, this problem is always here... I forget to say that I'm using batch render_1.9.22
Will try to send you something ASAP.
Thanks for your support !

Comment viewing options

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