Script Examples

ExtractFBX: This script cleans up certain data points in a mocap FBX file and puts the motion onto a compatible skeleton. This is a batch operation that can cycle through long lists of files saving us hours of tedious mouse clicks.

Create Locator at IK: This script generates locators at each IK controller. We use this to hold a position or a pose in world space to get rid of foot sliding, place a hand on a wall or bake animation to and from the locators. It's a very simple script and it saves us a lot of time.

Infinity Curve Toggle: This will select all of the controllers in the rig and toggle infinity curves on or off. This is great for working on cycles. Bind it to a key or shelf button, it saves a lot of time.

Rig Clean Advanced Skeleton: This script automates a series of tedious steps that need to be taken in order to prepare an Advanced Skeleton rig file for use in our Pipeline and in Unreal.

FBXport: This is a one button solution to quickly move the currently selected object to 0, 0, 0, triangulate the geometry, rename the material to match the object name, export as a FBX, remove triangulation and move the object back where it came from. The script remembers the path and settings and can automatically dock itself in the 3dsmax toolbar when 3dsmax loads, by dropping the script in (3dsmax install folder)/scripts/startup).

I am constantly changing the pivot depending on what I am doing and using the drop down menu was getting to be quite a chore. So I came up with the Double Tab Toggle. It allows you to toggle the pivot between Local, View and World modes. Tap once it selects the move/rotate/scale tool.
Tap again within 500ms and it will cycle to Local.
Tap again within 500ms and it will cycle to View and then loop around to local again. This double tap approach to hotkeys can apply to a lot of different things, any function can be placed in the single tap or double tap slots. It is a great way to maximize your keyboard real estate, because each key basically takes on two functions.

HI-Skin: A simple interface that gives easier access to some of the often used and sometimes buried tools inside the skin modifier. The upper left drop down box is a list of all skinned objects in the scene. The bone display window is realizable and collapsible so all of the bones can be easily selected from the list.

Her Interactive Sync Tool (Animation Clips and Key Tools): This is used to load, edit and save animations and sound files. Key tools are used to reset the various systems (facial rig and body) back to a root pose.

Her Interactive Sync Tool (Setup): This is used to facilitate setting up a new character. It helps create the necessary layers folders. It can also create a new biped with the commonly used settings or it can clone the currently selected by biped, which is helpful when mixing animations or motion capture data.

Her Interactive Sync Tool (Render / Build): This is used to load animations into the blank scene and fire off jobs to the render farm. It is also used to get the latest copy of the game, integrate our newest content into a local build and then run it. This really helped speed up the time it took to iterate, which helped improve our overall quality and enabled us to catch a lot of bugs on our own without having to go through the production and testing departments.

Biped Proxy Control Script: This was accessible through the setup rollout of HIST. It is a tool used to assign the control and proxy objects to the rig as well as some visibility options.

Change the look of the control objects to suit your needs.

Control objects are easy to see and select.

Proxy objects offer a clean look while also allowing you to hide the deforming mesh, which is handy if playback performance becomes an issue.

Use the slider to toggle the opacity of the control and proxy objects.

Batch Fidget Helper: A tool that allows you to quickly fill out the Batch Render Dialog. This creates an entry for each animation at each camera in the scene. So for example, if there are 25 cameras in the scene and each has 4 animations, then there will be 100 batch render entries, entering all of that info can take hours and is prone to human error. Or it can be fool proof and take less than a second.

File Checker: A helpful tool that tells us if all of the necessary parts are in the scene file along with some quick options to fix what is wrong, like bone limits too high, missing layers ect…

Her Interactive Sync Tool (pose mixer):
The upper plane references a folder of sound files, clicking a file will load the sound into max. The lower plane references a library of animations that can be loaded into motion mixer then mixed down onto the rig. This can be a quick way to start animating a clips quickly. The pose data can also be exported to an exposure sheet that can be read by an engine so rather than a unique animation for every clip, all of the clips are animated by a specific animation tree.

Track Crawler: This a slimmed down version of Her Interactive Sync Tool. The list is populated by sound files in a folder. Clicking on the sound file loads it into 3dsmax.

Scene Clean: This helps prep scenes for animation, collapsing stacks cleaning the materials out of the material editor and off of objects as well as applying Mat/Shadow materials to selected objects.

This also helps prop artists properly center their objects in the scene to the World 0 0 0 point and set the pivot point to the lowest center point, before exporting. This was a step that was highly annoying to various artists and took less than 30min to write. This particular function has been changed and tweaked a few times for various people with similar needs.


Maxscript, MEL, Python


Scripts and Tools