I've been quiet on the script front for quite a while:

I haven't been slack, just working on my RPManager render pass script, check it out if you like at


Posted to the free tools section of rpmanager.com is quicknav for quickly navigating diretories, and version 2.0 of my skintools script.

The following files are mostly macroscripts, copy them to your macroscripts directory (the newer ones should extract to the right place if you extract to your max root directory) then restart max; there is a category named 'Grants'.

Note: newer files are .mzp files, you just need to run them and it will be installed in the right place with a message box on success.

Most max4 scripts work in max5, if the same script exists in both areas then there has been some update made for R5 functionality. R5.1 recommended.

max 5 scripts
max 4 scripts
digital fusion integration maxscripts
max 3 scripts

White Border = New or updated

Character Assembly Modification

This is an updated UI for the Character Assembly node, updates the .ms and also the characters macroscript. Interface snapshot.
It gives you 6 'sets' of objects rather than just low/high res, and allows you to specify which is to be used at render time. Also optionally sorts the node list alphabetically.
NOTE: This .mzp (run it) backs up your existing character assembly script by renaming it, same for the macroscript. Machines without this script (ie still with the shipping character assembly) will error when selecting the character node that has been saved with this installed, but should still work. Test to make sure you are happy with it before jumping in.

Custom Attribute Editor
This one allows you to fairly easily edit your custom attributes. It also allows you to build a rollout using VMS and then use that as your custom attribute rollout so layout is in your hands. On redefining a CA stuff like wired parameters etc. are preserved (as long as you don't change Paramblock and UI control names - editing captions as seen in the rollouts is fine). Interface snapshot. No readme on how to use yet, but the GroupBox titles in the script give brief instructions. Works with custom attributes added with the built in system, but after editing you can no longer use the built in CA controls to remove the CA (use this script instead).
Pivot Mode Toggle
If you have ever wanted a hotkey to turn on the 'Affect Pivot Only' mode without having to go to the hierarchy panel, then you will want this. Assign a hotkey to it and you can toggle in and out of the affect pivot only mode from anywhere.
My version of the 'Bandsaw' plugin for lightwave, for e.poly modelling only. Is a bit buggy when 'going around corners', but I need to find time to work on the algorithm and this does my needs so far so here it is. Interface snapshot.
My version of the plugin of the same name for lightwave, for e.poly modelling only. Two scripts actually. It strips out unwanted edges and accompanying verts, the auto loop one just does an autoloop selection on the selected edges taking out that step for you. Usage snapshot.
An alternative Transform Type In dialog, showing position rotation and scale at the same time. Built for JKJ. Undo just added, needs more testing. Interface snapshot.

White Border = New or updated


Tool for working with the Skin modifier. Allows editing multiple envelopes at once, including selected, all, or as picked from a list. Also supports named selection sets as existing in scene for selecting in list. Includes toggles for the various display options in Skin, as well as the option to lock or unlock vertices to avoid unwanted modifications to enveloping. Interface snapshot.
Works around a selectionset bug, envelope length redraw problems fixed.

'Maya' style range bar, with save slots. Ranges are saved with your scene, and can be saved out an loaded into other scenes. Rangebar can be interactively dragged. Interface Snapshot. Bug fixes in 1.4, fixed set start/end to currentime was overwriting your global range when range inactive, also updates named slot correctly when used.

If you have a bitmap viewed in the ME this will load it into Adobe Photoshop (if you have PS that is).
Install by simply running the .mzp (rename if it downloads as .mzp.zip), but to work you MUST have a shortcut to photoshop in your 3dsmax root directory, and the shortcut must be labelled 'Photoshp.exe' (note no 'o' in shop). 0.9 == no dos window flash.


This exports a max camera to a terragen script. The interface has some information about how to use it. Interface snapshot. This is an .ms so just run it, I wrote it ages ago and finally did a little updating.

(After you render your terragen sequence with this, you can re-project the renders in max onto your imported terragen mesh and render motion blur.)

Merge by selection set

This script has two functions: one is a new merge dialog that allows you to merge by selection set. It does miss some features of the max merge, see interface snapshot. Add the item to your file menu if you like, it comes up as 'Merge By Selection Sets...'.

The second function is automatic, and it facilitates merging of selection sets when you do a standard merge - if you include the 'MergeSelectionSetsHelper' in the objects you choose to merge. This 'MergeSelectionSetsHelper' object is a standard point helper with some appdata embedded which is created when you save, and deleted just after you save - so you do not see it in your scene (as it doesn't exist:). It is also deleted after the scene is opened and after a merge is performed. You should only ever see it in a merge dialog, or if you open the scene on a machine that does not have this script installed.

Simply resave your scenes after installing this script (run the mzp) and this functionality will be activated. If you don't like a helper being created automatically, do not install the script - and rebuild your selection sets using the free scripts/etc. I personally think it is great to merge a bunch of objects in and automatically have the selectionsets rebuilt for me. Duplicate set names are dealt with using a simple postfix of "_Renamed" to the selection sets in question and a warning dialog. Any problems please email me.
Bug fix 7th Feb: Selection sets can end up with invalid entries, which used to error this script. Shouldn't happen now.
Note: I have heard this does not work in 4.0.

SkinWeighting Tools

Limit verts to n bones, select by weighting, modify weights, remove weights based on threshold. Can be slow on large mesh, speed optimised version possible. Interface snapshot.


E.poly only, no E.mesh support. Allows you to select polygons by number of verts, select verts by number of shared polygons, and select polygons by area with a tolerance to make it actually useful. Has a handy 'get area' button which works on one selected poly, or poly with lowest index in selection, to get you in the ballpark. Interface snapshot.

Light Enhancer

Simple util that creates visual helpers linked to your lights that mirror the colour of the light in both wireframe and material colour. Cap of helper indicates multiplier. Interface snapshot.

Animated Translucency
This should probably be a version 0.1 but anyway. This builds translucency data for sequences. Multiple object support. Needs jblib and jbfunctions from www.johnburnett.com. Little testing so far, but it works for me:) Note there is a excessive amount of progress bars right now which gives you a lot of screen flashing on light objects. I can reduce this somewhat.
An R4 version of Randy Kreitzman's RCM_stackManager. Restores position in stack when objects reselected.  Unzip into your max root directory and restart max4.
The same translucency script as in the R3 section except it now is 2X faster.  Interface Snapshot.
Based on Neil Blevins 'RandomNoiseSeed' script, this is a tool to randomly modify most of the parameters of noise controllers enmasse. Interface snapshot is pretty self explanatory, so have a look.
Tangent Util R4
A tool to modify multiple key tangents, and optionally only operate on the tracks you have selected in the Trackview. Has a new handy forward and back arrow, to modify (say) the out of the selected key to linear, and the in of the next keys also to linear, which is something I do a lot of (foot plants, etc.). 1.51 = bug fix. Interface snapshot.
NoUnwrapUpdate on/off

These two macroscripts simpy use a new feature in R4 allowing you to stop/start the Unwrap_UVW from updating when the mesh topology changes. ie. set up your mapping on your mesh, run the 'NoUpdate' script, and you can then change the topology of your mesh below the unwrap (say, turn that meshsmooth down to 0 iterations) and still have it render correctly (as long as your render time iterations are still up there).
Set up one Unwrap for your low res mesh, and one Unwrap for your high res meshsmoothed mesh, run the 'No Update' script, reset each Unwrap at the correct resolution and you then have correct mapping for both lowres viewport mesh and hires render mesh (the meshsmooth that is not at correct res seems to be ignored).
NOTE you must 'reset' each Unwrap at the correct mesh resolution to lock it correctly.

Simply opens the QueueManager with a max button.
Sets the order of rotation for Eulers, so you can turn 'local euler' behavior back on. Since the main rotation for a bone is Z (if part of a limb), this makes sense to modify.
Edit Custom Attributes
An updated 'Macro_CustomAtributes.mcr' file. Simply adds an edit button to the Add Custom Attributes dialog, exposing a feature that is already built in. Backup your existing one (UI/Macroscripts) and replace with this. Use at own risk.
Works with the new R4 bezier controller bezier-key handles. This tool allows you to reset the handle lengths for selected keys; reset continuity - average, or match in/out; scale the handles in a controlled way (since dragging them has little control about it); and also modify the angles of the handles easily. Using new TV functionality it just works on selected keys in selected tracks, so no chance to modify keys that are in other tracks. Interface snapshot.
Two simple scripts (in a zip) to facilitate cycling through the reference coordsys using hotkeys (the View, Screen, Local etc. dropdown). One script does the cycling, the other allows you to set up what it cycles through, so if you only want local and screen for a while, you can have just that. Evaluate them, and the hotkey them. It's almost surprising how much better the workflow feels.
Small script that simply expands all tracks in the Track View - something I do quite often. Have it as a hotkeyed item, or set up a script that opens the TV and then expands all tracks if you like. 
Small script that toggles the Transform Gizmos restore parameter. Needs a restart after running (indicated in the dialog indicating what the TG has been toggled to). The restore parameter determines whether the TG reverts to the set axis constraints after use, or keeps the constraint just used as the new default.
Allows you to lock the skin weights, so that if you are morphing below a skin modifier the mesh does not move outside bones influence - the weights do not change. Has lock all, selected, and reset all and selected options.

Maxscripts that aid Digital Fusion integration


A maxscript to export max animation curves to digital fusions .spl format, and to import either max-exported .spl or fusion exported .spl files. Can also be used to bake procedural or layered max animation out.




This allows you to cycle your coordinate ref system, and by using Chris Dragons MaxscriptShortcuts plugin, assign a hotkey to that. Consists of the cycling script as well as a script to set what is cycled through. And old C.Dragons v1.0 script found here on my local site: apologies to Chris as his site is currently down. The link to the latest should be found here (and I'll remove my old file once he is up).


Allows you to lock the skin weights, so that if you are morphing below a skin modifier the mesh does not move outside bones influence - the weights do not change. Has no reset in R3, you have to do that by hand in the skin modifier. Needs Control_Library 2.2 by Simon Feltman found here.

Sets selected vertices in a spline to smooth and then bezier, something I often do in two steps by hand. Only works on base level editable splines or lines.
Static Pose Restore

Enables you to capture a hierarchy setup from one file, and apply to another (ideal for when an animator has changed the initial pose for a character).
Interface snapshot.


R3 and R4. Maxscript hack for adding translucency information via vertex colors. Clumsy, slow, but can produce decent results. NOTE in R3 you need larry's avguard extentions avg_dlx for which there is a link on scriptspot. Image showing result. And a tutorial here. Interface Snapshot.

Simple macroscript that centres the pivots of any selected objects. Intended as a toolbar button, hotkey or quadmenuitem in R4.
Lock Keys Tools
This gives various options for modifying existing keys to be lock keys, as well as creating lock keys for pos, rot and scale. This can be a big time saver for character animation, especially for setting up feet plants and keeping them locked for set durations. Interface snapshot.
Nothing fancy, very simple script loads your last standard preview into Ramplayer rather than playing with mediaplayer. Intended as a toolbar button.
Randomise Wireclr
Randomises the colour of selected object. Nothing new, but as a simple toolbar button quicker to use than as an inteface.
Lock Object ______ Unlock Object
These two scripts, intended as toolbar buttons, lock the 9 transforms for your object (check out the Heirarchy panel/link info after locking).
Nothing fancy, very simple script loads your last standard preview into Ramplayer rather than playing with mediaplayer. Intended as a toolbar button.
Useful utility to facilitate modifying multiple envelopes for skin at once. Allows modification of current selected bone crosssection radius (inner/outer) and all crosssections in a skinned object at once, and has a Reverse button for reversing envelope crosssection sizing. This is a much cutdown edition of the R4 version. Interface snapshot.
Simple handy floater for stepping forward or backwards by a set amount. Handy when motion matching. Interface snapshot.
Based on keymanager and bobo's script - but works on selected objects only for speed. Interface snapshot.