Scripted tools for 3ds Max 4-2008
scripts.breidt.net is my personal collection of useful and free tools for 3ds Max I have created and published over the years.
All files © 1999 - 2008 Martin Breidt.
No redistribution without explicit permission of the author. Send any feedback to martin at breidt.net
gizmoControl v0.4 - updated
Feb 24, 2008 | modifier utility | 3ds Max 8-10, avg_dlx| download
This macroscript (to be found in the "MB Tools" category) will allow you to link any modifier gizmo to any other scene object.
Afterwards, the gizmo will always be fully aligned to that other scene object, which can then be freely animated by any kind of controller and linked to any other scene node. In some way this is very similar to World Space Modifiers but it works for any kind of modifier gizmo.
This tool can be very useful for creating complex modifier animations, for example animating a Slice modifier's plane along a path, attaching a UVW Map modfier to some animated helper object (effectively creating a UVW Map WSM), transforming a Displace modifier with some other object, or having an extra node control the symmetry plane of a Symmetry modifier.
Currently only works for modifier gizmos that can move, rotate and scale (i.e. use a Matrix3 controller).
New in v0.2:
- Copy/pasting a modifier that has a linked gizmo now works correctly.
- Added a button to remove the scripted controler that links the gizmo to the control node; the gizmo transformation will be reset afterwards.
- Should work correctly with Merge and Xref.
New in v0.3:
- Added the option (hold SHIFT when pressing the 'Link' button) to keep the initial offset. The gizmo will stay where it is but follow any further movement of the control node.
- Added the option (hold SHIFT when pressing the 'Reset' button) to keep the current gizmo transformation. Use this if you don't want to move the gizmo but want to remove the link to the control node.
New in v0.4:
- Fixed a major bug that caused incorrect gizmo placement with objects that had an edited pivot transform.
- Some minor UI tweaks
Note: Script requires Larry Minton's Avguard MAXScript Extensions v.7.0.3 or greater. Download the
Max8 or
Max9 version and install as plugin before you run this script. 3ds Max 2008 already has the extension installed.
infoOverlay v0.9
Feb 054, 2008 | rendering effect | download
This Render Effect displays additional information such as frame number, file name etc. in your rendered image. Works with any renderer.
Installation: Unzip into the <3dsmaxroot>\scripts\startup directory (see script file for more details).
Includes option for font size, useful for highres rendering; frame number in number, SMPTE or seconds time format; accepts generic MAXScript commands for custom frame information; option for displaying last frame's 'Render Time' in seconds; can display current camera name; option for long or short scene filename; image overlay (e.g. for watermarks) with different types of compositing modes and scaling. All options are animatable.

New in 0.9:
- X/Y position for freely placing additional text
- Scale option for image overlay
- New render time system
- Safe Frame display
- New ' Seconds' time format
- Center cross and 3x3 'Rule Of Thirds' grid
Note: Unfortunately, there is a problem in 3ds Max 9+ with scripted render effects and mental ray that can lead to crashes when the render effect is cleaning up memory; disable the 'Render Time' option in this case.
projectSwitcher v0.3 - update
Feb 05, 2008 | project folder management | 3ds Max 9+ | download
ProjectSwitcher is a Macroscript utility for quickly switching between multiple project folders. It keeps track of the previously opened projects, saves them to an .ini file and presents them in a drop down list. The dialog can be resized to accommodate long path names. It can also be docked at the top or bottom.
Installation: For automatic startup, just copy this script into your scripts\startup folder and restart 3ds Max.
Use the 'X' key to remove an entry from the list (this will not do anything to your actual project folder!); the 'Set' key works just like the 'File > Set Project Folder function: it allows you to select another existing project folder or create a new one. Both will be added to the list. Note: projectSwitcher does not currently track any project folder actions that were performed directly in 3ds Max.
New in v0.3:
- Automatic Project Switching when opening .max files: When opening the file c:\projects\myproject\scenes\file.max, this function will automatically set c:\projects\myproject\ as the new project folder. Thanks to Tollef Roe Steen for the suggestion.
- No longer a macroscript; can be automatically run when 3ds Max starts
Bug in 3ds Max 2008: A bug in the latest release of 3ds Max causes projectSwitcher to always show a Browse-Folder-Dialog. This can be fixed by manually editing the file Macro_SetProjectFolder.mcr in the <3dsmax_root>\ui\macroscripts directory and changing
local _SetProjectFolder_macro_option_promptUser
local _SetProjectFolder_macro_option_newFolder
in line 25 and 26 to
global _SetProjectFolder_macro_option_promptUser
global _SetProjectFolder_macro_option_newFolder
Save the .mcr file and restart 3ds Max. This should return normal functionality for projectSwitcher
MB Collapse v0.3
Aug 08, 2007 | keyframe utility |3ds Max 4-9 | download
MacroScript (without user interface) that will collapse any transformation (position, rotation, scale) into keyframes (one keyframe per frame for the current animation range). Works for any kind of controller and linked objects (which will be unlinked afterwards).
v0.3 update:
- Fixed a bug with pivot offsets
- Now includes an option (hold SHIFT while invoking the macroscript) to force a full redraw for each time step. While this will be much slower, it will ensure proper updating of any controller. This was necessary for complex scripted controllers that would also modify other objects in the scene
Autodesk Master Nomination
May 22, 2007
I am quite honored to be nominated for the Autodesk Master award this year! Everybody can vote online until June 3rd, so if you think what I am doing is useful, you are welcome to cast your vote.
Read this first!
Apr 25, 2007
Many of these MAXScripts are at beta stage, so use at your own risk. Detailed information how to install the script can usually be found at the beginning of the
script code along with an explanation of the usage, and any known bugs. All macroscripts install themselfes into the "MB Tools" category in the Customize User Interface dialog. If you need more help in installation, please read the Script Installation in 3ds max page.
controllerCentral v0.3
May 10, 2007 | controller utility | 3ds Max 6-9 | download
Creates a modeless floating window that contains all controllers in the scene
for quick access to the controller properties. The user can switch on/off
filters to control what types of controllers will be displayed.
Currently supports wire, expression, script, noise, reactor, list, wave, audio,
spring, motioncapture and limit controllers.
- Resizable dialog
- Macroscript that can toggle the dialog on/off
- Support for Limit controllers
- Fixed a refresh bug
See included readme.txt for further information.
mbFracture v0.1a
Nov 11, 2006 | simulation utility / modeling aid | 3ds Max 9 | download
This is a macroscript for 3ds Max 9 that will break up the selected mesh object into volumetric pieces.
Note: Will not always produce a valid fragmentation and no Undo available, so save your scene or use the built-in 'hold' or 'copy' feature!
Works best on closed, watertight meshes without self intersections --> no teapots please
To install, run the .mcr file and use the new 'Fragment selected mesh' action in the 'MB Tools' category. Requires 3ds Max R9
mbHideUnhide v0.1
Oct 5, 2006 | visibility actions | download
Two macroscripts (to be found in the "MB Tools" category) that replace the standard hide/unhide functions. The first one will hide all selected objects but also store the information which objects were just hidden in the scene file. The second macroscript can then be called to undo the previous hide action.
mb_shortcuts v1.8
Aug 17, 2007 | viewport utility | download
Small collections of X-Windows/Maya-like MacroScripts for 3ds max 6-9, intended as keyboard shortcuts. Contains two types of actions:
Toggles, that will open a dialog upon keypress and also close it (MEdit, Trackview, Render Dialog):
toggleMEdit: open material editor or close it if it's already open (obsolete since R8)
toggleRenderDialog: open render dialog or close it if it's already open (obsolete since R8)
toggleTrackview: open trackview or close it if it's already open
toggleFCurveDope: toggle open trackview between Dopesheet and FCurve view
toggleSelectRegion: switch to select tool, and if already in select mode, then toggle between rectangular and lasso region
togglePivotOnly: toggle "Affect Pivot Only" mode on/off
MouseOver viewport shortcuts, that work without explicit viewport activation (Maximize viewport, zoom selected object(s), zoom all objects). [Inspired by scripts from Roger Hyde and Martijn van Herk]:
quickMaximize: maximize the viewport that has the mouse cursor over it
quickZoomSelected: Zoom to the selected object in the viewport that has the mouse cursor over it
quickZoomAll: Zoom to the all objects in the viewport that has the mouse cursor over it
quickRender2: quick-render the viewport that has the mouse cursor over it
quickWireSmooth: quick-toggle between wireframe and smooth shading for the viewport that has the mouse cursor over it
quickWireOverlay: quick-toggle wireframe overlay on/off for the viewport that has the mouse cursor over it
quickGridToggle: quick-toggle the grid on/off for the viewport that has the mouse cursor over it
quickCycleShade: quick-cycle through the viewport shading modes for the viewport that has the mouse cursor over it
quickShadeList: show mouse menu for quickly switching viewport shading
quickPlay: start playing the animation for the viewport that has the mouse cursor over it
New in v1.8: Updated toggleSelectRegion for 3ds Max 9
overscan v0.2
Jul 2, 2005 | camera utility | download
Useful utility if you need extra margins in your renderings - it adjusts your camera and render settings so that your old image will be part of the new rendering without changing perspective - just like changing 'Canvas Size' in Photoshop, but in 3D.
Option to copy/keep old camera; dialog remembers original render size; optional delta values relative to original render size
obj2bin v0.01
Jun 18, 2005 | object converter | download
Convert .obj sequence to Realflow .bin format; based on .bin writer by Ben Lipman
Early test version. no interface
autoexec v0.11
Jan 12, 2005 | general utility | download
Useful utility if you need extra margins in your renderings - it adjusts your camera and render settings so that your old image will be part of the new rendering without changing perspective - just like changing 'Canvas Size' in Photoshop, but in 3D. Option to copy/keep old camera; dialog remembers original render size; optional delta values relative to original render size
showBoneAxis v1.0
Nov 9, 2004 | viewport utility | download
Displays a small RGB icon in the viewport for each bone's pivot point to indicate the bone's local coordinate system; can be useful for adjusting bone orientations, for example.
3-Point-Align v1.2
Nov 9, 2004 | transformation utility | download
MacroScript that allows you to precisely align an object by aligning three points on the object to any another three points in space.
New: Modeless dialog; support for groups; automatic snap
incrementalSave v0.5
Jun 24, 2004 | file/project utility | download
This MacroScript is a replacement for the save function. It saves incremental file versions while keeping the name of the latest, most-up-to-date version always the same as the original file. This is good for XRef'ing (or batchfile processing) because the filename does not change. Just add it to your File menu and/or define Ctrl+S as shortcut. Production-tested with 3dsmax v5-v9. Based on an idea by Christian Sawade-Meyer.
New: Old file versions will now be saved to a subdirectory; invoke macro with ALT pressed to access parameters
Plug-O-Matic v2.0
Mar 17, 2004 | object plugin generator | download
Takes any geometric object and converts it to a new object plugin for future use, just like any other standard primitive.
New in 2.0: Speed optimization; Now supports texture coordinates; Objects need not to be converted to EditableMesh before plugin generation; Updated creation tool; generated objects have new mesh data options for
viewFrustum
Feb 12, 2004 | viewport/camera utility | download
Select a camera, then run this MacroScript in 3ds max R6 to create a geometric representation of the camera's view frustum (can be useful, for example, in combination with Vol.Select to remove geometry that is not seen by the camera).
Will handle non-square pixels, renaming objects and allows for an offset between camera FOV and view frustum angle. Based on code by Christopher Subiago.
ReadCSM v0.2b
Feb 12, 2004 | motion capture utility | download
Import utility for importing generic .CSM (Character Studio Marker) motion capture data as animated point helpers.
v0.2b: minor fixes, better dropout handling, .CSM file name saved as scene comment
Path Distribute v0.1
Nov 14, 2003 | transform utility | download
MAXScript utility for evenly distributing selected objects along a curve; objects will maintain their relative positions if the curve is modified.
QuickSelection v1.2
Sep 18, 2003 | selection utility | download
Assigned to a hotkey, this will allow you to quickly select and unhide any named selections through shortcuts based on the first character of each selection.
WriteCSM v0.1
Jun 03, 2003 | motion capture utility | download
Export utility for exporting .CSM (Character Studio Marker) motion capture data from any object selection.
Also check out my ReadCSM script.
LightMatcher v1.2.1
Dec 12, 2002 | light/camera utility | download
LightMatcher will exactly match a "Free Spot" to a camera. This is handy when using projector lights as an alternative to camera mapping. (v1.2.1 fixes some stupid bugs)
PLY Export v1.3
Nov 28, 2002 | geometry exporter | avg_dlx| download
Export utility for exporting editable meshes to .PLY ASCII or Binary format with support for vertex colors.
Requires Larry Minton's avg_dlx MAXScript extension for older versions of 3dsmax.
Wrap Deformer v0.5
Nov 28, 2002 | deformation modifier | download
A scripted modifier plugin that allows you to bind one polygonal object A to another editable mesh B. Any transformation/deformation of B will be transferred to A based on distance between vertices.
Requires bindPoints.dlm by John Burnett, a local copy for 3ds Max v4 and v5 can be found here
ImagePlane v1.4
Apr 22, 2002 | camera object| download
Scripted object plugin that will generate a parametric imageplane for a given camera; useful for matchmoving, previewing set extensions, combining live footage with CG etc.
New: plane non-renderable by default, buttons for quickly changing render/display state
MatchLightToView v1.0
Apr 15, 2002 | light/viewport utility | download
Works like the built-in "Match Camera to View" command but for light objects.
Hollow Cube v1.0
Apr 15, 2002 | object | download
A scripted object plugin that creates a procedural hollow cube (nice toy for meshsmoothing).