Render Batch Helper

7 votes
Author Name: 

This Script will Speed up the Process of Creating (Batch Renders) and (SceneState) for Specific Camera .

and Making (Lights RenderElements) and (Masks RenderElements) for (Selected Objects) and (All or Selected Lights) .

Works with V-Ray and Corona .

First Thing it Works on Selected Cameras from the List (not from the Scene)

- With V-Ray it will create Preset for Selected Cameras and Put the Preset File  in (Preset) Folder in the Same Directory of Max File , (With Corona No need for Presets) .

- Making Scene State for Selected Camera with (HIDDING ALL SELECTED OBJECTS) and (TURNING OFF ALL SELECTED LIGHTS)

(When Creating Scene State for Specified Camera the Script will Create another State Called "All" this will be Assigned to all other cameras)

- The Script Support (Camera Resolution Mod) modifier and it will Override the resolution if it applied to any camera

- Main Elements will Apply the Basic RenderElements , RightClick will Clear all Render Elements .

- Light Elements will Create Render Light Elements for SELECTED (Objects [with CoronaLightMtl] or Light) or All (if nothing is Selected) .

*in Case of V-Ray the Script will Create Light Elements based on LAYERS (so it can be saved with the Presets)

*in Case of Corona the Deference from Corona LightMix is the Script will Create ONE LIGHT ELEMENT for All Objects with Instance CoronaLightMtl .

- By Material and By Object will Create Alpha Mask for Selected (OBJECTS) or (OBJECT)  in case of (By Material) .

UPDATE 1.1 :

- The Script not Overriding the resolution when the Camera has (Camera Resolution Mod) modifier applied to it with CoronaRender .

UPDATE 1.2 :

- Add Option to Create Mask RenderElement for any SubMaterial when Selected Object Material is Multi/Sub-Object Fixed .

UPDATE 1.3 :

- Add Installer and Icons and Macroscript so the Script now can be put in the Toolbar .

- Add Clear All Elements Paths when RightClick on  Light Elements Button .

- Add Video to Explain the Workflow .

UPDATE 1.4 :


- Add 3 Options for Objects When Making Scene State .

UPDATE 1.41 :

- VRay AO render element was loading without texture now it loads with VrayDirt Map .

UPDATE 1.42 :

The Script Now at Start will Always ask for Saving Output Image and if Scape or Cancel Pressed the Script will Continue to Work . 

UPDATE 1.43 :

- Add more Options to SceneState , 


1- NO Camera Selected in (Camera List) :

    - The parts that are saved to the State are AllParts

    -  SceneState called "All" will be created, and this State will be applied to all cameras in the scene that do not have a specific State .

    Note : When you repeat the previous process, a message will appear to replace the State "All" if it already exists.

2- Specific Camera Selected in (Camera List) :

    - The Parts Saved for the State are (1,3, 8, 9) and they are (Light Properties ,Object Properties, Materials, Environment)

     Here we have two cases:

     A : Nothing Selected in the Scene (Cntrl+D):

          In this case, you can make whatever changes you want in the scene (related to that 4 Parts) and when Saving the State these                 changes will be saved in a State Named as Camera Name

          Note: You must Uncheck (Hidden-Renderable-Visible) CheckBoxs in order to do this operation.

     B: There are Selected Objects or Lights in the Scene:

           In this case, the specified changes (Hidden-Renderable-Visible) are Applied to the selected objects and when Saving the                       state these changes will be saved in a State Named as Camera Name

            Note: One of these options (Hidden-Renderable-Visible) must be Checked in order to do this operation.

Sorry for the long explanation, but these things must be clarified and difficult to explain in a video.


When Starting the Script you should save FINAL Output Image (V-Ray) or CXR (Corona) at Least One TIme , or the Batch Render will Save Dameged Output Images (This Issue from Max itself not Related to the Script) . 

UPDATE 1.44 :

- Use this Version in case of "StringStream" Error Message. 

UPDATE 1.45 :

- Corona CXR Type Overwriting all athor output type , Fixed . 

UPDATE 1.46 :

- for VRay The Script can't Save Rendered Images Anymore (idk why !!) , So from Now on The Script will not Start if no Render Output (Corona) or Fram Buffer-(Separate Render Channels or Raw Image File) (VRay) , Already Saved . 

UPDATE 1.46f :

- Version in the Script Title was 1.45 Fixed , Now its 1.46

Video URL: 
render_batch_helper_v1.46f.mzp56.32 KB


Comment viewing options

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


The problem is that I don't want to save CXRs because there are a lot of frames in the work and each CXR weighs a gigabyte or more - it won't fit on the drive. I would like to avoid that by saving it in JPG right away. Otherwise, the script is just perfect...
Maybe I did not understand, and saving CXR can be avoided somehow?

obaida's picture

for corona you need to save

it support all image output type !!
There is Popup window when you open the Script this for saving the output image type .
-for corona you need to save the output as cxr to avoid making render presets for batch render , Then you can save it to any type from corona standalone VFB (Save All).

Uraken's picture

Only CXR?

Its very sad. (jpg|png?)

boximage's picture

thank you very much, it's

thank you very much, it's working now ;)

obaida's picture

try Version 1.44

i Fixed this Error , but you need to test it coz i don't have this error

boximage's picture

-- Error occurred in

-- Error occurred in anonymous codeblock; filename: C:\Users\Lucas Silva\AppData\Local\Autodesk\3dsMax\2020 - 64bit\ENU\scripts\Render Batch Helper.mse; position: 294; line: 7
-- MAXScript MacroScript Error Exception:
-- Unknown property: "StringStream" in dotNetObject:Autodesk.Max.__Global
-- MAXScript callstack:
-- thread data: threadID:24112
-- ------------------------------------------------------
-- [stack level: 0]
-- In execute(); filename: C:\Users\Lucas Silva\AppData\Local\Autodesk\3dsMax\2020 - 64bit\ENU\scripts\Render Batch Helper.mse; position: 295; line: 7
-- member of: codeblock macroScript: _My Scripts__RenderBatchHelper
-- Defined in encrypted script
-- ------------------------------------------------------
-- [stack level: 1]
-- called from codeblock macroScript: _My Scripts__RenderBatchHelper
-- Locals:
-- Externals:
-- ------------------------------------------------------
-- [stack level: 2]
-- called from top-level

obaida's picture

this error happen when

this error happen when installing ?
strange coz the script has no relation to StringStream or dotNet at all !!
can you copy and paste whats in listener press (F11) and copy all the red texts .

boximage's picture

I'm using corona I tested on

I'm using corona

I tested on two machines with different 3dsmax 2020 and it gave the same problem.

In 3dsMax 2017 this function

obaida's picture

UPDATE 1.43 :

- Add more Options to SceneState , Thanks to AmmarShow for Feedback's .

obaida's picture

i made it in max 2020 and i'm

i made it in max 2020 and i'm using it like everyday , its working fine
are you using V-Ray or Corona ?
any Error Message ?

Comment viewing options

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