Maxscripts


Donations highly appreciated!

Below are scripts I wrote to be used with 3D Studio Max. Some tools I use extensively and fine very useful, while others are small tools which migth not fit most people's needs.

I haven't tested these out with all versions of Max but I try to note which versions I did test these on.

Feel free to use them - however - if you modify or distribute these - please maintain all proper credit.


Utilities

 

3DS Max File Version v1.0

This VB-compiled tool serves just to test which version of Max was used to create the saved Max file. Since 3DSMax doesn't do a good job at writing its version in the file's properties - I use this tool to find out what version it was created in so I can go back to the proper 3DSMax to edit the file.

If you have multiple versions of Max installed and want to know what version you used on an old project - use this tool to find out.

Tested on 3DSMax 2012 and below. Will not correctly show versions below 2008.

MaxFileVersion_v1.0.exe

(coded by Yoav Assa)

Notes:
3DS Max version 10 = 3DSMax 2008
3DS Max version 11 = 3DSMax 2009
3DS Max version 12 = 3DSMax 2010
3DS Max version 13 = 3DSMax 2011
3DS Max version 14 = 3DSMax 2012

 

MacroScripts

 

Angles2Numbers

Converts angle measurments between a 360 scale and 255 (8bit).

Used primarily for game engine calculations. Ubertool values range between -180 to 180. Calculations work both ways.

Angles2Numbers.mcr

Tested on 3DSMax 7-2008.

 

Bip2root

Copies horizontal position of the biped onto the root object and links the biped to the root.

Two useful uses for this script:

  1. Use it to create a root for your biped (using the Static Root option) - so you can place your biped with animation anywhere in the scene without adding extra keyframes. Simply move the root instead of the biped itself.
  2. Some game engines require a moving root to calculate biped's position in the game environment space. With a moving root the biped itself actually stays in place and only the root moves.

(if the biped does not match the root's position - use the Fix Root button. The script is undoable in case things don't work out)

bip2root.mcr

Tested on 3DSMax 7-2008.

 

Blinker

Automatically or manually adds blinks to a blink morph-target.

Define your head that has a morpher modifier on it and name the morph-target's name of the blink. If you have a long animation you can add auto-blinks to your head. You can also add single blinks at the current time.

Blinker.mcr

Tested on 3DSMax 7-2008.

 

Frame-Switch

Used to quickly switch between two given frames.

This is very useful if you want to compare two states between two frames (i.e. - character's pose on one frame and another). Simply press the Switch button continuously to switch between the two frames.

Frame-Switch.mcr

Tested on 3DSMax 7-2008.

 

Frames2MS

Converts frames to milliseconds or milliseconds to frames.

Frames2MS.mcr

Tested on 3DSMax 7-2008.

 

GeoCleaner

Cleans the history from selected objects (helps to reduce Max file size).

Sometimes objects retain unnecessary data during modelling - causing the file size to grow and slows down Max. This tool resets your models.

GeoCleaner.mcr

Tested on 3DSMax 7-2008.

 

IOMorpher

Exports or imports morpher data to or from a morpher.

Useful for copying morpher information from one file to another or from one head to another.

IOMorpher.mcr

Tested on 3DSMax 7-2008.

 

LinksDisplay

Place on your toolbar and toggle the button to view hierarchy links. Shows your links like a skeleton.

LinksDisplay.mcr

Tested on 3DSMax 7-2008.

 

MaxExporter

Parses through folders and exports Max files to desired format.

(uses default exporter and settings as set by Max)

MaxExporter.mcr

Tested on 3DSMax 7-2008.

 

Morpher-Extract

Extracts all morph targets from a morpher, applying current changes from other morph targets.

Helpful use: Modify all your morph targets to have the same change. Create a new target with the change you want (say - having horns on a head) and add it to your main object at 100 percent on. Now use this tool and it will extract all your targets with the additional change. Now you can reload them all back to your main object with the change you wanted.

Morpher-Extract.mcr

Tested on 3DSMax 7-2008.

 

Morpher_Up_Down

This was used for a game engine that had specific needs on the placement of the morpher modifier in the stack.

Moves the Morpher modifier on all "Face_0" objects above and below Physique. Morphers should be above for export, and below for in-Max editing.

Morpher_Up_Down.mcr

Tested on 3DSMax 7-2008.

 

Selection-Switch

Switches quickly between two selections (objects or sets).

Useful for any type of jumping back and forth between two objects - like in alignments.

Selection-Switch.mcr

Tested on 3DSMax 7-2008.

 

Subtitles_Importer

Imports subtitles code into vignettes.

This is a specific tool for a game engine that would place subtitles in the animation timeline. The subtitles don't show up in Max but used only for the export. Subtitles get imported into a Note Track.

Subtitles_Importer.mcr

Tested on 3DSMax 7-2008.

 

Tag n' Possess

Lists objects in the scene that are tagged and/or taggable, for export. Possess, DePossess, Tag, unTag, Add and delete Camera Cuts. Used specifically for the Ubertool game engine.

Tag-n-Possess.mcr

Tested on 3DSMax 7-2008.

 

TimeRanger

Sets up time-ranges in Max and embeds it to the max file.

Very useful tool when you have multiple time-ranges in your single animation file. Mostly used for games - but can be used for many other purposes as well.

Sometimes it's useful to have many animations of a character in one file - so its start and end positions match between the different animations. TimeRanger lets you choose which section of the animation to show in the timeline.

Exporting to games often exports the viewed time-range only - so you can easily export multiple time-ranges using TimeRanger. Time ranges can overlap and you can have as many as you need.

  1. Edit button - You can edit the time ranges and set up your own view per time range (camera or viewport). View Editor below.
  2. Insert - place the TimeRange code into the file - so when the file opens TimeRanger pops up with the corresponding time ranges. After Inserting you need to save the file.
  3. Remove - removes the code form the file. Save to take affect.
  4. Load - closes the current TimeRange and loads up the currently embedded time-ranges that are saved in the file.
  5. Export - exports Time-Ranger as a new Maxscript with the new Time-Ranger list.


Time-Ranger Editor:

  1. Choose a Time Range. You can replace the chosen one, delete it, or add a new one after the selected one.
  2. Add a description to your Time-Range (i.e. - Walk)
  3. Start and End frames of your Time-Range.
  4. Desired viewport or camera.
  5. Add a new Time-Range
  6. Replace the currently selected Time-Range with the new name or frame numbers
  7. Delete the currently selected Time-Range
  8. Sort the list of Time-Ranger by frames.
  9. Apply changes and go back to the main window. Insert and Save the file for changes to occur.

TimeRanger.mcr

Tested on 3DSMax 7-9. Partly on 2008-2011 - needs to be updated.

 

ViewCamera

Create camera from viewport. Not really needed these days since Max has this option in its menus by now.

ViewCamera.mcr

Tested on 3DSMax 5-2008.

 

 

Scripts


FrameRate_File_Parser

Parses through a directory and converts all files to the desired framerate.

FrameRate_File_Parser.ms

Tested on 3DSMax 7-9.

 

ObjectFinder

Finds objects by name string in a directory of max files

ObjectFinder.ms

Tested on 3DSMax 5-9.


Objects2Bones

Creates a hierarchy of bones where there's a hierarchy of objects.

(These days you can skin objects as bones - so this tool may not be needed any more - unless you need bones instead of objects)

objects2bones.ms

Tested on 3DSMax 5-2008.


Select-Sub-Mesh

Selects every Nth number of a sub-object's component. Useful for random face selections.

(new Max modelling tools have similar selection by now)

Uses "EditMesh_24i.bmp". Place together with script.

select-sub-mesh.ms

EditMesh_24i.bmp

Tested on 3DSMax 5-2008.

 

 

Download all MaxScripts: DaniTools_2009-07-01.zip

Donations are appreciated!