Tech Art 2008

A summary of the scripts I’ve written between 2006 – 2008.

Company:  BottleRocket Entertainment
Programs:   Maya, Gamebryo, Havok Physics
Languages:  MEL
File Formats:  MA, MB, KFM, HKX

BottleRocket Rigging Tool:

The Rigging Tool was developed to standardize character rigs and provide quick iteration while developing and refining characters.

Layout Skin Mesh Settings:

•  Button “Mark all Joints as “Keep”” will flag the joints as “keep” for use in Havok exporting.

•  Button “Toggle LRA skinMesh” will toggle the Local Rotate Axis for joints on the referenced skin mesh skeleton.

•  Button “Assign Labels to Skin Mesh Skeleton” will assign retargeting labels to the skin mesh skeleton, for use in animation retargeting.

•  Button “Onion On for Sel Geo” will assign an onion skin attribute to the selected geometry, and give it a value of 1.

•  Button “Onion Off for Sel Geo” will assign an onion skin attribute to the selected geometry, and give it a value of 0.

Layout Weapon:

•  Button “Add “constrainTo” attribute to weapon” will add an attribute to the weapon that tells it what joint to constrain to on the character.

•  TexField “constrain to” is used to define the L or R “_weapon_jntcntrl” that the weapon will be constrained to on the character.

Layout Rig Creation:

•  Button “Toggle LRA rig” will toggle the Local Rotate Axis for joints on the rig skeleton.

•  TextField “1. Namespace” will create the rig in the namespace entered.

•  Button “Reference” will create a reference out of the skinMesh joints, in preparation for constraining it to the rig skeleton.

•  Button “2. Create Rig Joints” will create rig joints on top of the referenced skin mesh joints, and orient them correctly.

•  Button “3. Reorient Added Joints after Repositioning” allows the user to reorient joints after repositioning them.

•  Button “4. Create Constraints and Utility Nodes” will constrain the skinMesh to the rig joints, and create a utility node that sets a 50% forearm rotation of the wrist.

•  Button “5. Create Torso Controls” will create the iconic torso control for selecting all spine joints.

•  OptionMenu “6. Create IK Legs Type” allows the creation of 3 different leg rigs – human, animal, and insect.

•  OptionMenu “7. Create IK Arms Type” allows the creation of different arm rigs – human, wing, tentacle, etc.

•  Button “8. Create Layers, Locks, and Retarget Labels” will finalize the rig setup by assigning meshes to layers, locking nodes, and setting retarget labels.

Layout UI Creation:

•  Button “Create Character UI” will create the character UI and save it in the character’s folder, for use with the “Determine Character” scriptJob.

Config Creation:

•  Button “9. What Perforce Version will this be?” will store the Perforce version in an attribute on the rig.

•  Button “10. Create Resets/Config File” will create a text file recording the bindPose and initial controller positions.

•  Button “Create Advanced Legs UI (Human Type) will create a reverse leg setup with additional controls.

Character UI:

The Character UI was developed to facilitate the animation process and to export animations in the Havok HKX format.

When switching between characters, the UI will update to the selected character’s controls.

Curves Menu:

•  Item “Launch Face UI” will launch the face control system for the character.

•  Item “Select Character Root” will select the root controller for the character.

•  Item “Select All Keyable” will select all the keyable objects in the character hierarchy.

•  Item “Export Animation” will bake the current animation, remove the rig, and export as a Havok .hkx file.

•  Item “Import Animation” will import animation from a library of .anim files.

•  Item “Walk in Place Front to Back” will pin the character’s Z translation in place. Good for evaluating walk cycles.

•  Item “Walk in Place Side to Side” will pin the character’s X translation in place. Good for evaluating walk cycles.

•  Item “Character Repositioner” will create a redirection node for the character, enabling the user to reorient the rig (animation) in a new direction.

•  Item “Spline IK UI” will launch a UI for adding spline IK to the selected joints.

•  Item “Mirror Animation” will mirror a character’s animation.

Import Menus:

•  Will import a character or weapon into the scene. Weapons are constrained to the L or R hand, as determined by an attribute on the weapon.

Prefs Menu:

•  Item “Enable UI Launch on Character Selection” will launch the character UI on node selection via a scriptJob.

•  Item “Switch Tabs on Body Part Selection” will switch to the appropriate body part tab in the UI on node selection.

•  Item “Show Poses” will show the character pose layout in the lower area of the UI.

•  Item “Change Button Height” allows the user to change the height of the UI buttons for a larger or more compact footprint.

Universal Buttons:

•  Button “R+Feet” will select the root and feet controllers of the character, for easy positioning.

•  Button “R+All” will select the root and all top-level controls of the character, for easy positioning.

•  Button “IKs ON” will move the IK handles to the end effector positions, and enable all IKs for the character.

•  Button “IKs OFF” will set a keyframe for all IK controlled joints at the current time, and disable all IKs for the character.

•  Button “RIG” will toggle on or off the visibility of the rig controllers.

•  Button “Euler” will perform a euler filter on the selected nodes, correcting 180 curve flips.

•  Button “AV” will toggle on or off the visibility of character accessories.

•  Button “Onion” will create an onion skin of the character by duplicating the mesh and applying an onion skin shader, which is connected to the UI slider for transparency.

•  FloatSlider for onion skin transparency is connected to the onion skin shader.

•  Button graphic (for IK handles to step): will set all IK handle tangent types to step, for IK to FK blending.

Character Tabs:

•  Tab “Torso” contains buttons related to selecting and resetting the character’s torso controls.

•  Tab “Arms” contains buttons related to selecting and resetting the character’s arm controls.

•  Tab “Legs” contains buttons related to selecting and resetting the character’s leg and foot controls, including reverse foot setup.

•  Tab “Utility” contains buttons related to selecting and resetting the character’s auxiliary controls such as weapons, armor, etc.

Pose Layout:

•  Button “Grab Pose” will grab a pose and render an icon based on the radio button selection for “Selected” or “Hier(archy)”.

•  Button “C” will set the background color of the scene when grabbing a pose.

•  Menu “Options” contains options for setting keyframes with poses, copying poses to the network, and deleting and renaming poses.

•  Menu “Select” contains quick selects for regions of the body (head, mouth, torso, hands, tail, etc.)

•  RadioButton “Relative” will set a pose relative to where the character is currently at in world space.

•  RadioButton “Pose Origin” will set a pose where the original pose was recorded.