Modifier Modifier Zorb

275 votes
Date Updated: 
Author Name: 
Jordan Walsh

v 2.9.02: Added Octane and extra Final Render Lights to On/Off and Multiply Right click Menu

v 2.9.01: Added Multiply option to ALL modify properties window. Can now multiply existing values by a chosen value

v 2.8.03 Fixed Save preset bug (for plugins like ky_trails)

v 2.8.02 Fixed ini file bug stopping wondow for opening a 2nd time

v 2.8.00 Added Exclude text field for filtering by name. Editing Refrence targets Tab now working!!! This means you can mass edit FumeFX object settings such as speed multipliers and other FumeFX and TP properties that were previously impossible to edit!

Edit ALL modifiers, ALL objects, ALL Materials, All Controllers, ALL Shadow types and ALL atmospherics/Render Effects. Work in max from a "Class-centric" way rather than a per object way. Edit thousands of object's perameters, randomize thousands of seeds, enable thousands of modifiers and more with a few clicks!

General Features (applies to all modifiers, controllers, materails, shadows, atmos and render effects):

MASS EDIT: Mass edit one property on all nodes at once, You can specify an absolute value, a relative value, apply an absolute value to modify, or multiply a value

MASS RANDOMIZE: Randomize one property on all nodes at once

SELECT/DELETE BY CLASS: Select all objects with a meshsmooth, or all spheres or all objects with a path constraint etc

FULL INSTANCE/REFRENCE TOOLS: Make all objects/modifiers of a class or selection instances. Make Base object refrences. replace base objects with another obj (eg make all selected boxes an instance of a vrax proxie.) Available for Modifiers and Base objects only ATM.

LOAD/SAVE PRESETS: Load and save presets in xml format for modifiers, objects, etc.

Specific Features (Can be done to All or selected):

Modifiers: Enable, Disable, Enable in viewport, Disable in viewport.

PointCache Modifiers: Set ranges, Set path, Flush path, Reload, Record.

FumeFX: Simulate, Load settings

Lights: Turn all, selected, selected classes on or off. Multiply all light vlaues.

Xref Object: Merge object

Materials: Show/Hide In Viewport:  Shows the material in the viewport. Doesnt work with texture maps yet.

Bitmap Gamma: Mass edit the bitmap load gamma settings. Choose auto or an overide value. Max 2014+

Spring Controller: Modifyspring controller settings (Needs its own section as springs are controlled differently with maxscript).

Merge Xref Controller:  Merges All/Selected controllers

Example of a property window:


RightClick Menu for Modifiers:


RightClick Menu for Base Objects:


RightClick Menu for Materials:


RightClick Menu for Controllers:

RightClick Menu for Atmospherics:

FumeFX Load Settings Dialog:


Light Multiplier Dialog:


Spring Controller Dialog:

Link Info: Inherit window:

 fR_Layer Settings window:


Additional Info: 

Download the 2013 version for 3dsMax 2013 and above.
Extract to 3Dsmax Dir.
Tool is located in the "Zorb Tools" category

Version Requirement: 
Written for 3ds max 2009 + . A max 8 version is available now.
Other Software Required: 
for less than 2009 AVG extentions may be needed
ModifierModifierZorb_v2_B_0.32 max8.rar19.48 KB
ModifierModifierZorb_v2.1.rar26.56 KB
modifiermodifierzorb_v2.9.02.zip409.88 KB
modifiermodifierzorb_v2.9.02_-_2013.zip413.67 KB


Comment viewing options

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

Local position randomizing

Is there a way to randomize the position of an array of object in relation to their local positions?

igamaximus's picture

Thank you Jordan

Looking forward to your valuable work. Just one more thing if you could add mate, it woud be absolutely stunning: often in my work with loads of materials, there is some sensitive parameter that defines render time pretty much (for example, biger value means faster render time). Please see if you could add function to define minimum (maximum) allowed value for specified parameter. This way, any numeric value that is below defined minimum will get that specified minimum value. For example, some materials have reflection glossiness values, let's say 0.4, 0.3, 0.2 and 0.8....and we define minimum value of 0.6 - this way, 1st, 2nd and 3rd value would be 0.6 because they're below defined minimum, and 4th value will still be 0.8 because is larger than specified minimum.

Thanks Jordan this is huge!!!!
Happy new year everybody.

Jordan Walsh's picture

Thanks for the Birthday

Thanks for the Birthday wishes!

igamaximus: I guess what you are talking about is a multiplier for values. I have had a few people ask this so I might add it in soon. I have a light value multiplier in the right click menu, so I guess it would act the same as that but be another column in the Get Properties window.

igamaximus's picture

Real world script

Jordan, thank you for your sctipt, it is real lifesaver on massive scenes that need massive change.
One wish and respective reason: It would be amazingly useful if you could create function to inrease or decrease some parameter of desired material, percentualy respective to each material's current value. For example if you have bunch of materials with slightly higher reflection glossiness value in tight deadline with limited render time, it would be great if you could say "i want for each of glossy materials (selected or in the scene) to be 10% less blurry comparing to its current value". Is it possible?

Thanks a lot!

glmig's picture

Happy Birthday :)

Happy Birthday, and thanks for all of your scripts :)

Jordan Walsh's picture

Thanks for the positive

Thanks for the positive comments guys!
I would love to know how you guys find this script the most useful and what types of things you do most with it. Hopefully it will help me develop those areas more.

My favourite things to do are randomising noise seeds (of course!!), merging in xRef objects/controllers (Properly!!) and adjusting the glossiness subdivision on tonnes of vray materials at once.

Strob's picture

The most usefulmaxscript

The most usefulmaxscript ever! Should really be included in max.

sedus69's picture

Great script !

Great script !

Jordan Walsh's picture

Thanks for your comments! The

Thanks for your comments!
The script would have a hard time finding the right modifier unless I added a custom include/exclude string that you could set which would relate to having named the modifier with this string. I will look into this.
In reply to point 1 you should be able to do this by setting the 'Relative' spinner in the Properties Rollout then hitting 'A'.
I will try to add point 2 to the next version. Should not be too hard to add.

tomastnt's picture

double Bend modifiers

Hi Jordan
Owesome script, I am just using for creating plants and etc, but I have one problem and one idea. :)
When I added two bend modifiers on my object your script could see and known just only one of those two modifiers. I would like to work with both. Is it possible?

ANd I have small idea. I have created fluffy tuft of grass by bend modifier. First step to create that tuft of grass was aply bend modifier with bend from 80-100 randomly. Then I have just selected stalks in the midle of tuft and applied value of the bend RELATIVELY. By this way i have created a tuft of grass prety quickly. But...then I wanted to copy my tuft of grass a and change the bend of every stalk slightly. But there is no way to do that. I have just wanted to create a second grass but a bit different. I can just + or - relatively the value od bend or add bend between 80 - 100 and start again the process of bending grass to the middle of tuft. That is a bit annoying.
1) So, it would be perfect, if there would be an option to change the angle of bend slightly on every randomly bended objects.
2) and how about setup some value "from - to" by the space position of the objects? For example: You need to create a tuft of grass. Stalks have to have diferent bend angle from 0 to 90 = from corner to middle of tuft.

BTW. Just now it saved me so much time!!!

Comment viewing options

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