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.
Jordan Walsh's picture

Thanks for the comments Leon,

Thanks for the comments Leon, I have most of these implemented for the next release, which should be soon. I am just a bit busy at work to get the last bits finished.
I have been asked about the paste modifier question before but I think the working methodology doesn't suit modmod Zorb. I might make that a separate script, unless you have a good idea of how zorb would handle it.

noel_d3's picture

This script is probably one

This script is probably one of the most powerful I know for 3ds max. There are still some functions that are not possible to edit when selecting multiple objects and the Zorb could do instead of 3ds max.

°The Inherits links (in Hierarchy > Link Info)

°The Rendering Controls of objects properties if one object selected is not renderable

°Exclude/Include list from multiple lights

°It's different but there is also the fact that you can not paste a modifier in the stack of multiple objects selected

°Finally I also suggest that by default if some objects are selected, Zorb goes into "selection" mode and if nothing is selected in "all" mode. Indeed for very heavy scenes that takes time to list all modifier of all objects, while in general if there is a selection when I run Zorbmodifier we just want modify selected objects.

Best Regards and thanks for your exellent work.



Thanks a lot for taking a

Thanks a lot for taking a look. Actually I don't want to make any promises since I am pretty busy right now with a few projects but I was thinking of doing my own quick edit of your script so that it works with morpher. I was thinking maybe having a checkbox that says whether to use method specifically to access morph channels and then access it with a function specifically for accessing morph channels rather than the default method of your script. Or rather than the checkbox even just search for the class of the modifier rather than the checkbox.

I know this it is possible to dynamically build a rollout floater that will be able to set the channels of a morpher modifier since I have already done a rough script that does it. I attached it below If you want to check it out. It will open a floater that has all 100 channels of a morpher with spinners that allow you to change the value. It is in it's really rough stages right now and must be optimized and all features finished but it does work. for example I realized it is not necessary and really best not to dynamically build the rollout in an execute string If I am going to be doing it just for morpher since I can use labels and set them to the names of the morph channel by setting the labels text. Or I could even use edittext since this will allow the functionality for user to rename targets. This will also make it easier to update the rollout. The Pick Target Functionality is not yet finished.

The method I use to access the morpher modifier channel values is


or to set the value

WM3_MC_SetValue MorpherMod Slot_index NewValue

Like I said I can't be sure right now but if I happen to be able to modify your script to use morpher maybe you could let me know if you would be adverse to me just posting it in a comment attachment for your review then you could see whether you would want to use it or not. However If it looks like it is going to be a little to time consuming to modify your script I may decide to just go with finishing My Morpher Interface instead and If you wanted you could always just take my code and add it to your script though it already is pretty big.


Jordan Walsh's picture

ahh, yes, this is an old bug

ahh, yes, this is an old bug I thought i'd fixed. It will always crash with morph modifiers. Ill have to exclude some properties. Thanks


This is a great Script so my

This is a great Script so my apologies in advanced if I am missing something But This seems to have trouble when using with objects with a morpher modifier.

Here is the error I get.

>> MAXScript Rollout Handler Exception: -- Unknown property: "_1__Sphere02___Target_Available" in Morpher:Morpher <<

it seems to happen on this line of your script

PropValue = (getproperty foundmod (getpropnames foundmod)[pcount])

From what I see it should work with the above code but anyway it looks like something that would be easy enough to fix.

By the way this error is given Only when a morpher modifier has targets set. It opens fine if there are no targets.


Jordan Walsh's picture

jeff- yeah, unfortunately

jeff- yeah, unfortunately not all parameters are set as worldUnit type so its hard to determine what to use!!! you can do classof (getparameter #height $) to see if its a worldunit, integer or float, but i have no idea how time values are set, like in pflow operators etc. 

 fajar- its all for fun, but i mainly coded it to use for my own workflow, I couldnt think of working without it now!! I have been a bit lazy with the undo stuff, some parts have it and some dont.. ill have to do an audit and make sure its all undoa-ble!!

fajar's picture

Maybe will be good if it

Maybe will be good if it have undo command in it (couse when I modify one modier and I press CTRL+Z it's doesnt undo the apllied properties) like when U rotate the modifier gizmo using this script.


fajar's picture

Wow Jordan, this is very big

Wow Jordan, this is very big script I ever met (300kb), do you so it for fun and pleasure!!? This script is very good I love to use it !

Jeff Lim's picture

coool! thanks for the

coool! thanks for the updates!
I took it for a quick spin, and noticed that the world units are not displaying on the spinners. (e.g. base object box - length, width, height)
I can't think of a way to detect whether a parameter is displayed in world units in the UI or not. (same goes for time related parameters..) :(
The update button definitely comes in handy. thanks!

Jordan Walsh's picture

Updated to v2.5.6: Added

Updated to v2.5.6: Added Loading and Saving of all modifiers, objects, materials
etc properties. Added an update button for the properties dialog

Also world units should show up properly now.. i think!! I also added an auto update functino thats seems to work some of the time, but you have to be editing the first node that the script find. (There is a button to select it if you want too!)

XML loading and saving adds the ability to manage presets for everything now!! Doest supportevery type of property, eg some material settings may not get saved. Let me know if you find anything you need s0looking at and I can fix it

Comment viewing options

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