Maya Python Scripts


These are examples of tools that were created while working at EA Maxis.  These cannot be shared.

Rigid Body to Joints - A tool created during a dynamics exploration.  It takes any rigid body, Bullet dynamics, and converts them to a joint driven skinned system.  Joints and skinning are automatically done by the script.

Convert Populate to Cards  - A tool created to convert the 3ds Max Populate simulation into a much lower poly card based animation system.  It retrieves the movement data from populate, calculates the needed angle, generates the cards with a random character animated gif, creates joints, and automatically skins them.  Final data can be used in nearly any game engine.

Traffic Simulation - A tool that allows for vehicle definitions to be made (Buses, Trucks, Cars), takes curve data and creates a traffic simulation.  Lights, stop signs, turn lanes can all be identified.  Vehicles will avoid collisions.  This was created for a pre-vis visual direction project.

Get Vertex Positions - This was created for one of the senior artists to retrieve vertex location data for an in-house animation system.

ANT Rig Converter - Tool created to strip the ANT (EA in-house animation tool) rig and have it converted to fit the SPARK engine requirements.

Select Objects With No Materials - Tool created to find any faces that is missing a Maxis shader.  Maya has a tendency to make faces lose material data which caused crashes during export.  This was created to help mitigate the issues.

Lot Calc  - A tool to help figure out the poly count for objects that fit a certain lot size.

Rotator - A tool to help rapidly animated spinning objects and set the additional key frames that were required for the animation system.

Make Linear - A tool to convert all keyframes in a scene to use linear.  This was created due to having countless scenes that were not animated to engine standards.  All keyframes were to be linear and have no curve information.

Reconnect Nodes - This was created to remove all duplicate shader nodes and reroute all the needed nodes to the proper shaders.  This was created to mitigate problems that had arose from various artists copying and pasting objects into scenes.  This would end up created many duplicate shader networks that would cause bloated and unstable scene files with bad export data.

Toggle Glow  - A tool to allow artists to quickly toggle the glow in the hardware shader throughout the scene.  Originally artists had to go into each shader and manually toggle the glow state.

Node Placer - A tool that gathers the location, rotation, and scale data of any VFX/Light/Object node placed by artists and configures it to match in-game data.  This was created to quickly unblock artists and allow them to place lights, VFX, and objects around the buildings when the in-game tool was broken and was being fixed.


Here are a collection of scripts I have made that are free for anyone to download.

Mass UV Transfer Tool - This tool allows the ability to transfer UVs from 1 object over to countless objects that share the same vertex values.  Maya usually only allows object UVs to be transferred 1 by 1.

Face Extractor - This tools allows the user to select faces and have them be duplicated into a separate object.

AutoRig - An auto rig script that creates a rig with a full IK/FK switch throughout the body.

Pivot Editor - This was originally created with UDK/Unreal 4 in mind.  It allow the ability to easily snap the pivot to any of the corners or sides of an object based on the bounding box data.

Move Object To Top Center  - This will move any object to the top center of the world.  This will also snap the pivot of the object to the bottom center. 

Mass AO Baker - A mass ambient occlusion baking utility using Mental Ray.  This allows the user to load up countless objects to be processed for AO baking.  This also can take a normal map into account.

Mass FBX Exporter - This tool was created with UDK/Unreal 4 in mind.  This will take any selected object and export them based off their pivots and name them based off of the name in the scene.  No need to move the object to the center of the grid to export for UDK/Unreal 4

Remove Name Instance - This removes any instance of a word in the scene.

Remove Name Space - Removes the name space from any objects selected.

Import/Export Skin Weights  - Allows for importing and exporting of skin weights based of location or vertex number.

IK/FK Matcher AutoRig  - Creates an IK/FK system that will do a match switch.  Use this with caution, it may limit the abilities of the animator from breaking joints.

IK/FK Leg AutoRig  - Created for my students in a rigging class.  This automatically creates a leg rig that has IK/FK switching along with set driven keys for an inverse foot roll.

EasyCombiner  - A tool created to remove redundancy.  This will combine any selected objects, name it off the first object in the selection, and remove the history nodes after it combines.

MirrorMe - Easily mirrors objects based off of pivot location on any axis desired.