This is a collection of utilities and scripts that I hope will be useful to other digital artists. Many of the maxscripts here are also available (along with hundreds of others) at Scriptspot.com.

This page last updated 10/7/2011.

Scripts for 3ds max (scripts without version numbers are not actively updated)

Scripts for Cebas finalRender stage 1

Scripts for Cebas finalRender stage 0

Photoshop Actions

MAXScripts for 3ds max

Plug-in scripts

Bevel Lite v.0.11 Max 4 and up

A version of Bevel with far fewer controls, streamlined for doing what I use it for 99% of the time: chamfered extrusions.

Installation: Copy to /scripts/startup and restart max.
Where to find: Modifier List

Download Bevel Lite 0.11

Architectural Glass version 0.6 Max 4.x and up

This is a scripted material plugin that streamlines the process of making architectural glass materials. Includes:

  • Speedy setup of reflection maps with or without nested falloffs and a variety of map types
  • Automatic generation of frosted glass as seen at the top of this page ;)

Notes: This plugin extends the Standard Material. If you are using an advanced raytracing plugin like Brazil, Vray, mental ray, or finalRender, you do not need this script.

Installation: Copy to scripts/startup and restart max.
Where to find: New material type

Download Architectural Glass 0.6

Proportional Plane Max 6 and up

Creates a plane object whose proportions match the specified bitmap. Those proportions are locked (via parameter wiring), so the plane can be resized without losing aspect ratio.

Also automatically assigns a self-illuminated material of the bitmap to the plane, with viewport display on, as the primary use of this is for making reference planes. However, it can just as easily be used for billboarded trees, people, etc with modifications to the auto-created material.

Installation: Run .mcr file from MAXScript Menu > Run...
Where to find: Customize UI > JS Tools category

Download Proportional Plane

Blinds Object Max 4.x and up

This is a new AEC object; parametric window blinds. The idea is that in distance shots of curtain wall facades, the building looks more populated with a bunch of window blinds at random heights (for real example take a look at the Lever House compared to the currently mostly-unoccupied 7 World Trade). Also useful for making louvers when a texture won't do. Includes:

  • Venetian blinds, vertical blinds, roll-up shades, single curtains, and paired curtains.
  • Fully animatable.
  • Mapping coordinates are pre-applied.

Christian Bauer has also released a derivative of this script called Fassadeblinds that generates blinds for a whole facade's worth of windows as one object, rather than 1 window at a time.

Note: The Blinds are created as 2-sided geometry, which some GI engines dislike intensely. The workaround is to select the backsides of the created blinds, delete them, and then either add a Shell modifier with a very low thickness, or a 2-sided material, depending on your renderer's preferences.

Installation: Copy to scripts/startup and restart max.
Where to find: New 3D primitive with its own category: "Blinds."

Download Blinds

Notes Map Max 4 and up

A pass-through texture map that serves the purpose of a notepad within your material.

Note: This map extends output, so if it is set up with no sub-map, it may affect your material.

Installation: Copy to scripts/startup and restart max.
Where to find: New map type

Notes map 0.11

HDR Domelight Material Max 4.x and up

This is a scripted material plugin that works with Chris Subagio's HDRDomeLight script to provide a clean and intuitive interface for the maps used by the dome light.

Note: You need to put the included image file in your current Icons directory for the script to work properly. Or you can make your own icon.

Installation: Copy to scripts/startup and restart max.
Where to find: New material type

Download HDR Domelight Material

Utilities

DWG Cleanup Max 6 and up

A one-click solution to cleaning up the mess the new DWG importer leaves behind for those not using DWG linking workflows.

Running this does the following to the selected objects:

  • Safely removes all block relationships and deletes all Block/Style parent objects
  • Condenses the selection to a single layer, preserving wireframe colors
  • Changes any white wireframe colors:
    • To the original layer's color,
    • or to orange if the original layer color was white

Installation: Run .mcr file from MAXScript Menu > Run...
Where to find: Customize UI > CAD Cleanup category

Download DWG Cleanup

Color Clipboard Toolbar 1.1

Max 5 - 2012

A dockable toolbar that can auto-start to be a permanent part of the interface. More convenient than going to the utility panel all the time, and less clutter than the floater..

  • 1-16 Swatches
  • Remembers swatch colors
  • Can save / load / delete swatch sets
  • Includes a few preset color palettes


Installation: Extract the .MZP file from the zip, then run the MZP file from MAXScript Menu > Run...
Where to find:Customize UI > Color Clipboard category

Download Color Clipboard Toolbar 1.1 (max 5-8)

Download Color Clipboard Toolbar 1.2 (max 9-newer)


HSV Color Randomizer Max 4 and up

A utility that creates random variations of a color in HSV space.

Drag the color to be randomized into the top swatch, dial in the amount of randomness, and press the button to populate the 9 bottom swatches.

Installation: Run .mcr file from MAXScript Menu > Run...
Where to find: Customize UI > Utilities category

Download HSV Color Randomizer

Mouse Select Max 5 and up

This script throws up a menu of the objects under the cursor for selection, similar to right-clicking Photoshop's move tool to select a layer.

  • Select a single object by picking from the menu.
  • Select multiple objects by holding down the control key while picking.
  • Use 'All,' with or without the control key, to add/remove all listed objects from the selection.

This is best bound to a key, as it wouldn't be much use in a quad.

Installation: Extract the .MZP file from the zip, then run the MZP file from MAXScript Menu > Run...
Where to find: Customize UI > Selection category

Download MouseSelect

0-255 to % Converter Max 5 and up

Calculator for converting percentage values to 0-255 values and back. Includes a color swatch that updates with the grayscale value equivalent. Can dock as a toolbar.

I use it for figuring out grayscale values in specular and opacity maps.

Installation: Run .mcr file from MAXScript Menu > Run...
Where to find: Customize UI > Utilities category

Download 0-255 to %Converter

Instancer Max 5 and up

A toolbar button that replaces the selected objects with instances of the object you pick after hitting the button. In other words, a UI version of maxscript's InstanceReplace command.

Installation: Run .mcr file from MAXScript Menu > Run...
Where to find: Customize UI > Tools category

Download Instancer

EPoly MatID Randomizer Max 5 and up

Randomizes the material IDs on an editable poly object. Allows you to exclude certain polys (like if you have random stones set in uniform grout) by setting their ID outside the range of random values.

Installation: Run .mcr file from MAXScript Menu > Run...
Where to find: Customize UI > Tools category

Download Epoly MatID Randomizer

Motion Blur Everything Max 5 and up

When run, all scene objects have their motion blur object property turned on and set to image motion blur.

Installation: None (Use MAXScript Menu > Run... to run the script)

Download Motion Blur Everything

Reset Material Editor Max 5 and up

Resets all material Editor slots to a default standard material.

Note that this functionality is built into 3ds max 8 and higher. However, the built-in utility can reset the sources of environment maps instanced into the material editor, while this script will leave them unharmed. In exchange, you lose the restore slots functionality of the built-in script.

Installation: Run .mcr file from MAXScript Menu > Run...
Where to find: Customize UI > Utilities category

Download Reset Material Editor

Shuffle

Max 4 and up

Randomly swaps the positions (but not rotation) of selected objects. I use it to save time populating parking lots, by creating groups of identical cars, then running shuffle to get the random distribution.

Installation: None (Use MAXScript Menu > Run... to run the script)

Download Shuffle

SmoothSpline Max 4 and up

Creates a smoothed copy of a picked spline object (each vertex's position is averaged with that of its neighbors).

To use, pick the spline to be smoothed after activating the script.



Installation: Run .mcr file from MAXScript Menu > Run...
Where to find: Customize UI > Splines category

Download SmoothSpline

FindByName Max 5 and up

This is a utility that shows an object's parents given its name. It is useful for finding objects within closed and/or nested groups.

Installation: Run .mcr file from MAXScript Menu > Run...
Where to find: Customize UI > Tools category

Download FindByName

Render Vertex Colors Toggle Max 5 and up

A toggle button you can put in a menu or toolbar that controls whether Vertex colors are rendered. Makes changes only at render time so your scene is unaffected.

The idea is that in some game development settings, exporters can't handle a max renderer implementation of vertex color maps, so for marketing renders, all the scene materials have to be changed in order for vertex colors to show up.

This script replaces that manual process with one transparent to the user, that doesn't change the scene in any permanent way.

Currently supports all native max materials, most plugin materials, including RenderWare, and is easily extended to accomodate other plugin material types.

Installation: Run .mcr file from MAXScript Menu > Run...
Where to find: Customize UI > Render category

Download Render Vertex Colors Toggle

Soft Selection to Vertex Colors Max 5 and up

This tool allows you to use soft selections to paint grayscale vertex colors on Mesh or Poly objects. It has 4 modes: Replace, add, darken, and subtract selection.

Mostly useful for quick vertex color Blend Material masks. A bit less so with the improved vertex painting tools in recent releases.

Installation: Run .mcr file from MAXScript Menu > Run...
Where to find: Customize UI > Vertex Colors category

Download Soft Selection to Vertex Colors

Light Color Manipulator Max 4.x and up

This is a scripted manipulator that shows the color and multiplier of selected lights in the viewport in manipulate mode. Clicking on the color swatch opens a little window that controls the light. This lets you set up a small nonmodal light board, when you don't want to use Blur's LightBoy or LightUtilities (like when you have millions of instanced lights).

Installation: copy to /scripts/startup and restart max
Where to find: Turn on Manipulate mode

Download Light Color Manipulator

NoTime Max 4.x

Toggles the trackbar and frame slider on and off to give you that much more screen real-estate when you're working on a still.

Note: Due to a bug in max 5.x-7.x, Collapse To in the modify panel does not work when the frame slider is hidden.

Installation: Run .mcr file from MAXScript Menu > Run...
Where to find: Customize UI > UI Controls category

Download NoTime

UVW Rename 0.2 (2 files) Max 4.x and up

Two scripts, actually. a function that adds a command to MaxScript ('renameUvwMod'), and a little macroscript that calls the function for selected objects. It adds the name of the map channel used by the UVW Map modifer to the display in the modifier stack.

In other words, 'UVW Mapping' becomes 'UVW Map {ch. #}'. Names are preserved, so 'UVs brick left' becomes 'UVs brick left {ch. #}'.

Installation: copy the .ms file to /scripts/startup, then run the .mcr file from MAXScript Menu > Run...
Where to find: Customize UI > JSTools category

Download UVW Rename function 0.2
Download UVW Rename macroscript

AutoEdge Selected Max/Viz 3.x and up

Another one to make CAD cleanup less painful, specifically .3ds objects exported from AutoCAD. Select a bunch of imported 'Mesh' objects and hit the toolbar button to:

  • Convert them all to proper Editable Meshes
  • Select all edges
  • Perform Auto Edge at the current threshold

(Note: this does NOT work if any of the selected objects are in a group. The script is nice enough to warn you and bail out, however.)

Installation: Run .mcr file from MAXScript Menu > Run...
Where to find: Customize UI > CAD Cleanup category

Download AutoEdge Selected

Paramfind Max/Viz 3.x (4.x?)

Unhides and selects every parametric (non-collapsed) geometric object in the scene. Useful if you want to collapse everything before a big render or releasing your 3D file.

Installation: None (Use MAXScript Menu > Run... to run the script)

Download Paramfind

UnrealGrid Max 4.x and up

Creates a custom grid with the spacing controlled by a floater. This mimics a function in unrealEdit that constrains editing to grids in powers of 2. 3D Grid snap must be on for your models to be properly spaced.

Installation: Run .mcr file from MAXScript Menu > Run...
Where to find: Customize UI > Unreal category

Download UnrealGrid

Workarounds, Bug Fixes, Modified Defaults, and Feature Extensions

Shape Backface Max 6 and up

Defaults all shape objects to be created with the Backface Cull object property turned off.

Installation: Copy to scripts/startup and restart max.
Where to find: Works all the time

Download Shape Backface

Snap Tools Max 4 - Max 6

Adds 2 actions to the customize menu so you can bind them to a key or put them in a quad:

  • Cycle snap mode (skips 2D by default, can be adjusted)
  • Open Snaps dialog

Note: Obsoleted by these functions becoming core features in max 7+

Installation: Run .mcr file from MAXScript Menu > Run...
Where to find: Customize UI > Snaps category

Download SnapTools

Named Selection Floater Fix Max 5 ONLY

This is a fix / enhancment for R5's named selection floater.

Bug fixes:

  • Asks only once if you want to unhide/unfreeze
  • RightClick menu's 'Highlight Selected' works
  • Optimized code

Enhancements:

  • 'Refresh' button, RCMenu, and keyboard shortcut, since the original doesn't update the list of named selections until/unless you create a new object
  • legible discreet_dark icons

Known bugs in shipping version not fixed by this version:

  • drag and drop to blank area of floater causes crash
  • it is possible to make empty named selection sets, which throw a maxscript error when selected from te main toolbar.

Installation: Extract the .MZP file from the zip, then run the MZP file from MAXScript Menu > Run...

Where to find: open Named Selection Floater

Uninstallation: Drag the files in UI/macroscripts/(backup) and /UI/icons/(backup) to their parent directories

 

Download Named Selection Floater Fix

Scripts for 3ds max with Cebas finalRender stage 1

fR tinyGlobals (stage 1) Max 6.x and up

A little bitty globals floater that controls the globals you're likely to use after setting up your samples for draft/production switching.

This is about 98% finished. I intended to add some more features/idiotproofing, but I'm still using it as-is 2 years later, so it's clear I'm not going to get around to it.

Notes:

  • If you load another file or reset max, you need to close and open the floater before it will work again.
  • Does not update with adjustments you make in the render dialog while the floater is open (close and reopen as above).
  • GI settings only work with finalRender:Image engine. GI controls are disabled if hyperGI/QMC selected.
  • I probably should have included a Lock Solution button.

Installation: Run .mcr file from MAXScript Menu > Run...
Where to find: Customize UI > finalRender Stage-1 category

Download fR stage-1 tinyGlobals

Shadow Bounces fix Max 4.x and up

finalRender Stage1 cuts off shadow rendering after a certian number of refract bounces are reached. As of service pack 3a, this number is controlled by a hidden setting. This script automatically sets this number equal to the number of refract bounces every time you render.

Installation: Place in scripts/startup

Where to find: Automagic. No need to do anything.

Note: Tested only briefly, and onlyunder 3ds max 8. Please contact me with any problems.

Download Shadow Bounces Fix

Scripts for 3ds max with Cebas finalRender stage 0

fR tinyGlobals (stage 0) Max 4.x and up

A little bitty globals floater (the size of the display floater) that controls the globals you're likely to use after setting up your samples for draft/production switching.

Download fR tinyGlobals

fR Defaults fix (stage 0) Max/Viz 4.x and up

Fixes the default in finalRender that objects are created with GI disabled in their properties. Just put this file in scripts/startup and all objects will create with send/receive GI and receive caustics turned on. One less thing to worry about.

Installation: Copy to scripts/startup and restart max.
Where to find: Works all the time

Download fR defaults fix

Photoshop Actions

TGA -> PSD Photoshop 5 and 6

A very simple action that turns a TGA or other image file with straight (not premultiplied) alpha into a Photoshop layer with perfect non-haloing transparency.

This is identical to Photoshop 7.0's handling of TGAs, except it doesn't erase the alpha channel in the process. Option to create the transparency as either a layer mask or true transparency.

Installation: Copy to your Actions folder

Download TGA -> PSD