Maya Bonus Tools Menu v6.01

The Maya Bonus Tools Menu adds a pull down menu to the standard Maya UI. It contains a variety of tools for daily use and should be useful to most Maya users. These tools were previously known as the bonusGame tools.

These tools are unsupported. Most, if not all of these tools were developed on personal time by a number of people. Problems reports and suggestions are encouraged and can be addressed to bonusTools@alias.com.

Feel free to modify these scripts and share them.
 
What's new in v6.01?
Documentation Index
Installation
Contributors


What's new in v6.01?

New Tools

CgFX Shader
Create Turntable Animation
Poly Digits

What's new in v6.0?

New Tools
Add Multiple Influence Objects
Attribute Collection
Bake Redirection
Bridge
Copy Name Space
Create Circle Under Transform
Delete Edge and Cut UVs
Dynamic Secondary Animation
Fix Missing References
FTI Export
Map Unmapped Faces
Merge Selected Border Edges
Merge Selected Vertices by Distance
Merge Vertices by Distance
Mirror Animation
Move Object Pivot To Component Centre
Node Created Callback
Organize Files
Prefix to Namespace
Proportional Transform
Replicate Attribute
Reverse Animation
Setup Arm
Setup Back
Smooth Face Mapping
Stretchy IK
Improved Tools
Setup Foot: This now has a third option for the traditional IK foot setup with three IK Handles. It also provides options to specify the foot and knee control objects.
Removed Tools
The following tools have been removed from the Bonus Tools as the functionality is now natively available in Maya:

Delete History and Keep Skinning: This is now standard in Maya 6.0 under Skin->Edit Smooth Skin
Find Character: This is now standard in trax in Maya 6.0
Geometry Transmogrifier: This is now standard in Maya 6.0 with Soft Modification
Graph Clip Weight: This is now standard in trax in Maya 6.0
Invert Component Selection: This is now standard in Maya 6.0 with Edit->Invert Selection
Mirror Cut: This is now standard in Maya 6.0 under the Polygons menu
Reorient Animated Character: This is now standard in Maya 6.0 with Character->Redire
Select Face Shader: This is now standard in Maya 6.0 with RMB->Materials->Material Attributes
Test Render Node: This is now standard in Maya 6.0 in the HyperShade
Test Render Node Sequence: This is now standard in Maya 6.0 in the HyperShade
Triangle Count HUD: This is now standard in Maya 6.0 with Display->Heads Up Display->Poly Count
Trim Clip After: This is now standard in trax in Maya 6.0
Trim Clip Before: This is now standard in trax in Maya 6.0
Vertex Normals Tool: This is now standard in Maya 6.0 with Edit Polygons->Normals->Vertex Normal Edit Tool
Window Builder: This has been replaced by Attribute Collection

Note: If you're really in love with these tools you may uncomment the lines in bonusToolsMenu.mel and copy them from the 5.0 or 5.01 version - our apologies for disrupting your workflow.

Tool Documentation


General and Miscellaneous Tools Modeling Menu Set Animation Menu Set Rendering Menu Set

General Tools
Copy Attribute Values
Search and Replace Object Names
Window Builder
Replicate Attribute
Attribute Collection
Proportional Transform
Miscellaneous
LongList Attributes
Filter Objects Window
Calculator
Surface Area
Volume
Selection Tools
Invert Component Selection
Edge Path Selection Tool
Face Path Selection Tool
Select Contained Components
Select Edges Contained By Vertices
Select Faces Contained By Vertices
Select Faces Contained By Edge
Select Poly Projection Node Faces
Show/Hide Faces

UI
Quick Connect Attributes

Dynamics Menu Set
Paint Emitters Tool
Dynamic Secondary Animation

Cloth Menu Set
Cloth Tools
Select Cloth Panel Faces
Thicken Cloth
Importers
3DS Import
Other Scripts and Plugins
Copy Name Space
Fix Missing References
Node Created Callback
Prefix to Namespace
Other Scripts
Display Tools
Triangle Count HUD
 
Curve Tools
Create Spiral Curve
 
Creation Tools
Icosahedron
Dodecahedron
Tetrahedron
Octahedron
Soccer Ball
 
Polygon Tools
Poly Tools
UV Tools
Rotate UVs Around Vertex
Automatic Wrap Map
Map Unmapped Faces
Smooth Face Mapping
Adjust UVs
Align UVs
Grid UVs
UV Precision
Clamp UVs
Poly NURBS Projection
Unfold UVs
Layout Multiple UVs
Texturing Tools
Poly Adaptive Prelight
Poly Attribute Map

General Tools
Select Cluster Members
Current Frame Display
Rename New Joints

Skin Tools
Prune Influence Objects
Remove Influence Objects
Delete History and Keep Skinning
Add Multiple Influence Objects

Animation Tools
Reorient Animated Character
Bake IK to Clip
Store Pose
Copy Set Driven Key
Bake Redirection
Create Audio Wave Node
Mirror Animation
Reverse Animation
Dynamic Secondary Animation

Rig Tools
Create Circle Under Transform
Setup Foot
Stretchy IK
Skeleton Works

Trax Tools
Trim Clip Before
Trim Clip After
Graph Clip Weight
Select Clip's Character
Find Character


Selection Tools
Select Face Shader

Creation Tools
Create Stereo Camera
Create Sun Light
FTI Export

Texture Tools
Make Texture Layered
Layer Textures
Create CPV Render Node
Test Render Node
Test Render Node Sequence
Change Texture Paths
Organize Files

Rendering Tools
Generate Light Maps
Poly Warp Image
Isometric Render

Shaders
Skin Shader
Diffraction Shader



Tool Documentation


Copy Attribute Values
This item will copy highlighted attributes from the channel box. Attibutes that have an incoming connection will be copied but not duplicated - upstream nodes will be connected to the attribute but not duplicated.

To use, select the destination object or node, followed by the object or node to copy from. Highlight the attributes you wish to copy in the channel box and Bonus Tools->Copy Attributes.


Replicate Attribute
This item will copy an attribute from one object to another. This can be useful when creating custom attributes to control similar objects.

To use, select the destination object or node, followed by the object or node to copy from. Highlight the attributes you wish to copy in the channel box and Bonus Tools->Replicate Attributes.


Proportional Transform
This item will transform selected objects proportionally.

To use, select attributes in the Channel Box to add to the window and Bonus Tools->Window Builder.


Long List Attributes
This item lists attributes in a single, scrollable column.

To use, select an object and Bonus Tools-> Long List Attributes.


Filter Objects Window
This opens a window to filter and select objects in the scene.
 
To use Bonus Tools-> Filter Objects Window.

Calculator
This opens a simple calculator. The One Liner button allows for an expression to be entered in the field and then calculated.
 
To use Bonus Tools->Miscellaneous-> Calculator.

Surface Area
This item will calculate the surface area for active mesh objects.

To use, with components selected, Bonus Tools->Miscellaneous->Surface Area. The surface area will be printed to the script editor and feedback line.


Volume
This item will calculate the volume for active mesh objects.

To use, with components selected, Bonus Tools->Miscellaneous->Volume. The volume will be printed to the script editor and feedback line.


Edge Path Selection Tool
This tool propogates an edge selection in the direction of an initial edge - a row of edges, similar to "hull selection" in NURBS.  Propogation ends when the "edgepath" begins to cycle, or reaches a border edge.  Currently the selection propogates in "both" directions from the initial edge.  Can select or deselect more than one edgepath at once (per marquee select), and the resultant edgepath(s) can be converted to vertices or UVs automatically. Click on the tool's shelf button or sacred tool icon to invoke it, and hit <ENTER> or using the right mouse button, click on empty screen space and drag up to the "Complete Tool" marking menu field.  While in the tool, simply drag around a selection of poly mesh edges to have their edgepaths (de)selected.  PLEASE EXIT THE TOOL *FIRST* TO UNDO!

TOOL OPTIONS:

Decision Method: There are two modes that determine the decision-making method used to propogate the edge selection.  With "By Edge Order", the next edge is chosen based on the "edge order" about a vertex.  With "By Angle", the next edge is determined by the "edge orientation" about a vertex.  Propogation also terminates when a mesh border is encountered, or when a vertex branches an "odd" number of edges with "By Edge Order" mode.  "By Edge Order" works better for regular, grid-like topologies, or topologies with "predictable" edge branching. "By Angle" will work with any mesh topology in general, looking for the *straightest possible* edgepath.

Max New Edge Paths: This value provides a safegaurd to limit the number of new edgepaths computed by the tool.  It specifies the maximum number of edgepaths that is allowable per drag-selection of initial edges to propogate.  The higher the value, the longer you wait, expecially for long edgepaths.  If too many initial edges are selected, the edgepaths will not be computed, and you will get a warning message.

Max Edges Per Path: Another safegaurd value to ensure that very long edgepaths are not encountered.  It specifies the maximum number of edges an edgepath is allowed to have.  This also allows you to control how many edges the edgepath will contain.

Border Corner Angle: Edgepath termination on "border" edgepaths end when a sharp "corner" is encountered.  This specifies the actual angle that defines a "sharp" angle.  Any edges in the edgepath that form angles with the previous edge that are smaller than (i.e. "sharper" than) this Border Corner Angle will terminate the edgepath propogation.

Self Intersection:OBSOLETE.  Removed in this version, due to the performance hit  needed to detect self-intersecting edgepaths.  This rarely happens.

Auto Component Conversion: Converts the resultant edgepath into either vertices or UVs for you.  In order to DEselect this row of vertices or UVs, you must drag over an edge whose endpoints are vertices or UVs that BOTH lie on the row of vertices/UVs to deselect.

Auto Backface Culling: Recommended to be left on, since it prevents you from accidently selecting edges at the back of the mesh, that aren't facing you. It clears edges of faces that don't face the user, making a cleaner and clearer view of the edges that are in view of the user, making edgepath selection easier.  It is turned off automatically when you exit the tool.

Auto Flush Undo: This is recommended to be checked "on" ONLY if you make MANY subsequent, consecutive calls to this tool, often when one is in a "modeling phase". This can speed up this tool significantly, especially for users who set their undo queue to have a very high number, or to "infinite".  When checked "on", you should keep in mind though, that "EVERYTHING BEFORE THE INVOCATION OF THE TOOL CANNOT BE UNDONE".  Default is "off".  When "on", the undo queue is cleared before each call to compute the edgepaths.  This tool can take up much memory when computing very long edgepaths, which makes it more sluggish in subsequent invocations.  Or alternatively, you can clear the undo queue just once in a while yourself, by hitting the "Flush Undo" button in this tool's options window.

LIMITATIONS:

To use, Bonus Tools->Edge Path Selection Tool and select edge(s) to propogate selection. This will also work for deselecting contiguous edges.

Face Path Selection Tool
This tool propogates a a face selection in the direction perpendicular or parallel to an initial edge - a row of faces.  Propogation ends when the "facepath" begins to cycle, or reaches a border edge. There are two modes of traversal: "Opposite Edge" and "Use Edgepath".  In the first, the facepath selection can propogate in either ONE OR BOTH directions originating from the initial edge. If ONLY an edge is dragged over, the facepath traverses in BOTH directions perpendicular to that initial edge.  If an edge AND a face adjacent to it has been *SIMULTANEOUSLY* dragged over, the facepath traverses in only ONE direction, indicated by which side the initial face is on.  In the second mode ("Use Edgepath"), the facepath selection can ONLY propogate in BOTH directions.  However, the direction of the facepath traverses *PARALLEL* to the initial EDGE, which means an adjacent initial face must also be *SIMULTANEOUSLY* dragged over to indicate which side of the edgepath the facepath resides on.  You can select and also "deselect" facepaths as well, and the resultant facepath can be converted to edges, vertices or UVs automatically for you.  Click on the tool's shelf button or sacred tool icon to invoke it, and hit <ENTER> or using the right mouse button, click on empty screen space and drag up to the "Complete Tool" marking menu  field.  While in the tool, simply drag around a selection of one poly mesh edge and (optionally) a face adjacent to the edge to have their facepath (de)selected.  Dragging over a "face" means dragging over the face's CENTER, so facepath selection involves dragging your marquee around an edge AND SIMULTANEOUSLY a face center, or just an edge alone.  When you use the tool, all face centers of all your polygons are automatically revealed for you, and are cleared for you when you exit the tool.  PLEASE EXIT THE TOOL *FIRST* TO UNDO!

TOOL OPTIONS:

Traversal Mode: As indicated above, there are two modes to this tool that determine the algorithm used to propogate the facepath.  In "Opposite Edge" mode, which is the default, the "next face" in a facepath is determined by finding the face that's "most perpendicular" to the current face's "separator edge" (the edge shared by the "current face" with the "previous face").  This mode computes facepaths quicker, and is thus the default.  In "Use Edgepath" mode, an "edgepath" is first computed using the initial edge, which is then used as the basis for the facepath, by finding all faces that are ADJACENT to the edgepath.  So the facepath is "parallel" to the initial edge, and the initial face (which was simultaneosly dragged over with the initial edge) indicates "which side" of the edgepath the adjacent faces to it lie on, forming the final facepath.  The edgepath propogation is controlled by the "Edgepath Decision Method" and "Border Corner Angle" options described below.  This mode is more computationally expensive than the first.

Max Faces Per Path: A safegaurd value to ensure that very long facepaths are terminated early.  It specifies the maximum number of faces a facepath is allowed to have.  This also allows you to control how many faces the facepath will contain.

Edgepath Decision: Only relevant when traversal mode is set to "Use Edgepath".  There are two modes that determine the decision-making method used to propogate the edgepath computed as basis for the final facepath.  With "By Edge Order", the next edge is chosen based on the "edge order" about a vertex.  With "By Angle", the next edge is determined by the "edge orientation" about a vertex. Propogation also terminates when a mesh border is encountered, or when a vertex branches an "odd" number of edges with "By Edge Order" mode.  "By Edge Order" works better for regular, grid-like topologies, or topologies with "predictable" edge branching.  "By Angle" will work with any mesh topology in general, looking for the *straightest possible* edgepath.

Border Corner Angle: Again, only relevant when traversal mode is set to "Use Edgepath".  Edgepath termination on "border" edgepaths end when a sharp "corner" is encountered. This specifies the actual angle that defines a "sharp" angle.  Any edges in the edgepath that form angles with the previous edge that are smaller than (i.e. "sharper" than) this Border Corner Angle will terminate the edgepath propogation.

Auto Component Conversion: Converts the resultant facepath into edges, vertices or UVs for you. In order to DEselect this "face row" of edges, vertices or UVs, you must drag over a face in that row whose composite edges, vertices or UVs must ALL be currently selected (along with the initial edge, or an edge whose connected faces must BOTH contain ALL composite edges, verts or UVs that must be currently selected).

Auto Backface Culling: Recommended to be left on, since it prevents you from accidently selecting edges or faces at the back of the mesh that aren't facing you.  It clears edges and faces that don't face the user, making a cleaner and clearer view of the edges and faces that are in view to the user, making facepath selection easier.  It is turned off automatically when you exit the tool.

Auto Flush Undo: This is recommended to be checked "on" ONLY if you make MANY subsequent, consecutive calls to this tool (and/or "edgePath" and/or "facePathSplit"), often when one is in a "modeling phase".  This can speed up this tool significantly, especially for users who set their undo queue to have a very high number, or to "infinite".  When checked "on", you should keep in mind though, that "EVERYTHING BEFORE THE INVOCATION OF THE TOOL CANNOT BE UNDONE".  Default is "off".  When "on", the undo queue is cleared before each call to compute the facepaths.  This tool can take up much memory when computing very long facepaths, which makes it more sluggish in subsequent invocations.  Or alternatively, you can clear the undo queue just once in a while yourself, by hitting the "Flush Undo" button in this tool's options window.

LIMITATIONS:

To use, Bonus Tools->Face Path Selection Tool and drag select across a face and a connected edge to indicate the direction of propogation. This will also work for deselecting contiguous faces.

Select Contained Components
    Select Edges Contained By Vertices
    Select Faces Contained By Vertices
    Select Faces Contained By Edges
    Select Poly Projection Node Faces
These three tools will convert the selected components to the specified contained components.

Select Edges Contained By Vertices
This command converts a selection of vertices into a selection of edges that interconnect the original vertices (i.e. only edges whose composite vertices are contained in the original vertex selection).  The command's return value is a string array that contains the names of all of the new contained edges.

Select Faces Contained By Vertices
This command converts a selection of vertices into a selection of faces that interconnect the original vertices (i.e. only faces whose composite vertices are contained in the original vertex selection).  The command's return value is a string array that contains the names of all of the new contained faces.

Select Faces Contained By Edges
This command converts a selection of edges into a selection of faces that interconnect the original edges (i.e. only faces whose composite edges are contained in the original edge selection).  The command's return value is a string array that contains the names of all of the new contained faces.

Select Poly Projection Node Faces
This command selects the poly faces that are affected by the poly projection node that is highlighted in the channel box. Note that the selected faces may be more than expected if there are multiple projection nodes applied to the mesh. Projection nodes further downstream may override the affect of faces mapped by a previous projection node.

Note: These four commands are plug-ins. If the plug-ins cannot be found, they will not be loaded and the tools will be unavailable.


Select Face Shader
This item will select the shader assigned to the selected face and open it in the Attribute Editor.

To use, select a face and Bonus Tools->Select Face Shader.


Show/Hide Faces
This item will show or hide selected polygon faces.

To hide selected faces, Bonus Tools->Show/Hide Faces->Hide Faces.

To show all hidden faces, Bonus Tools->Show/Hide Faces->Show Faces.

Sometimes the display may need refreshing. This can happen when an object with hidden faces is duplicated or if an undo is perfromed after hiding faces. To refresh the view, Bonus Tools->Show/Hide Faces->Refresh Face Display.


Triangle Count HUD
This item will add Heads Up Display for the triangle count of the selected poly mesh. The menu item is a toggle.

To toggle the count, Bonus Tools->Triangle Count HUD.


Component Transform Manipulator
This tool will create a polyMoveVertex node for all valid selected polygon components (vertex,face,edge) from the same object.  It will also create a handle (similar to a cluster) for controlling the translation and scale.  This handle has a similar functionality to a cluster.  However, unlike a cluster, when you delete the handle, its effect is not removed.

It is provided because of the snapping and pivot limitations of the manipulator for the Polygon->moveComponent tool.  All translation, scaling, snapping, and pivot movement will be done on the handle itself.

Additionally you can also rotate the handle to change the orientation of the move axis.  You will need to translate in object mode to take advantage of this.

You can also easily change the relative snap "from" point by moving the pivot of the handle itself.

When using this handle, you will not have to toggle from a local manipulator to a global manipulator, which is necessary when using the standard moveComponent. It will also allow you to snap along a specific axis when moving, which is something you can not do when using standard moveComponent manip.

To use, Bonus Tools->Component Translate Manipulator. Move the handle as you would move any other object. You may delete the handle when you no longer need it.


Move Object Pivot To Component Centre
This command will centre the object's pivot point at the centre of the selected components.

To use, select some polygon components and Bonus Tools->Move Object Pivot To Component Centre.



Poly Poke Tool
This is the tool version of the poly poke command.

To activate the tool, Bonus Tools->Poly Poke Tool. When the tool is active, poke a face.



Poly Wedge Tool
This is the tool version of the poly wedge command.

To activate the tool, Bonus Tools->Poly Wedge Tool. When the tool is active you will be prompted to select faces and edges for wedging.



Poly Flip Edge Tool
This is the tool version of the poly filp edge command.

To activate the tool, Bonus Tools->Poly Flip Edge Tool. When the tool is active, flip edges.



Poly Subdivide Tool
This is the tool version of the poly subdivide command.

To activate the tool, Bonus Tools->Poly Subdivide Tool. When the tool is active, subdivide faces or edges.


Create Spiral Curve
This creates a curve in the shape of a spring. The option box provides control over the height, radius and number of turns. Number of turns can be a negative number to have the twist in a different direction.


To use, Bonus Tools->Create Spiral Curve.


Create Curve from Edges
This item will duplicate selected edges on a poly object and connect them into a single curve. All edges must be contiguous. The end result will be a single curve.
Curve Degree: Linear, or degree 1, curves appear as connected lines. Cubic, or degree 3, curves are smooth.
Fit CVs to Vertices: When a cubic curve is created, curve CVs may be placed directly at the vertices of the selected edges which will make a smoother curve.
Connect To Mesh: If this option is on, the curve will have construction history with the mesh. If the mesh changes shape, the curve will change with it.
Fix Flipping : Fixes occasional problem with attachment on last curve
Close Curve: Connects begining and ending points of curve
To use, select contiguous poly edges and Bonus Tools->Create Curve from Edges. The curve will be created over top of the selected edges and selected.

Lock Curve Intersections
This command locks two curve points or two curve edit points with a locator. After the points are locked, the locator can be moved to change the shape of the curves.
 
To use, select two curve or edit points and Bonus Tools->Lock Curve Intersections.

Extra Poly Primitives
These menu items offer commands to create the following polygon primitives:
To use, Bonus Tools->Extra Poly Primitives->. 
Convert Instance
This command converts an instanced object to a real object.
 
To use, select instanced objects and Bonus Tools->Convert Instance.

Face Path Split Tool
This tool will propogate a poly split in the direction perpendicular or parallel to an initial edge - splitting a row of faces, kind of like "insert isoparm" in NURBS surfaces.  Propogation ends when the "facepath split" begins to cycle, or reaches a border edge.  There are two modes of traversal: "Opposite Edge" and "Use Edgepath".  In the first, the facepath split can propogate in either ONE OR BOTH directions originating from the initial edge.  If ONLY an edge is dragged over, the facepath split traverses in BOTH directions perpendicular to that initial edge.  If an edge AND a face adjacent to it has been *SIMULTANEOUSLY* dragged over, the facepath split traverses in only ONE direction, indicated by which side the initial face is on.  In the second mode ("Use Edgepath"), the facepath split can ONLY propogate in TWO directions.  However, the direction of the facepath split traverses *PARALLEL* to the initial EDGE, which means an adjacent initial face must also be *SIMULTANEOUSLY* dragged over to indicate which side of the edgepath the facepath split resides on.  In "Opposite Edge" mode, the edges in the facepath that are split are split only in the *MIDDLE*, whereas "Use Edgepath" mode has a benefit, in that the distance that the facepath is split "from the edgepath" can be controlled (see "Split Distance" below).  Click on the tool's shelf button or sacred tool icon to invoke it, and hit <ENTER> or using the right mouse button, click on empty screen space and drag up to the "Complete Tool" marking menu field.  While in the tool, simply drag around a selection of one poly mesh edge and (optionally) a face adjacent to the edge to have their facepath split.  Dragging over a "face" means dragging over the face's CENTER, so splitting a facepath involves dragging your marquee around an edge AND SIMULTANEOUSLY a face center, or just an edge alone.  When you use the tool, all face centers of all your polygons are automatically revealed for you, and are cleared for you when you exit the tool.  PLEASE EXIT THE TOOL *FIRST* TO UNDO!

TOOL OPTIONS:

Traversal Mode: As indicated above, there are two modes to this tool that determine the algorithm used to propogate the facepath split.  In "Opposite Edge" mode, which is the default, the "next face" in a facepath is determined by finding the face that's "most perpendicular" to the current face's "separator edge" (the edge shared by the "current face" with the "previous face").  This mode computes facepath splits quicker, and is thus the default.  In "Use Edgepath" mode, an "edgepath" is first computed using the initial edge, which is then used as the basis for the facepath split, by finding all faces that are ADJACENT to the edgepath, then splitting them.  So the facepath split is "parallel" to the initial edge, and the initial face (which was simultaneosly dragged over with the initial edge) indicates "which side" of the edgepath the adjacent faces to split lie on. The edgepath propogation is controlled by the "Edgepath Decision Method" and "Border Corner Angle" options described below.  This mode is more computationally expensive than the first, but has the benefit of being able to specify where the facepath will be split from the edgepath (see "Split Distance" below).

Max Faces To Split: A safegaurd value to ensure that very long facepath splits are terminated early. It specifies the maximum number of faces to split a facepath.  This also allows you to control how many faces to split a facepath.

Subdivisions: Just like the regular split poly tool, each new edge inserted into each face that's split can be further subdivided into smaller edges themselves.  The number of subdivisions in each new edge is controlled by this setting.  The default is set at 1.

Edgepath Decision: Only relevant when traversal mode is set to "Use Edgepath".  There are two modes that determine the decision-making method used to propogate the edgepath computed as basis for the final split facepath.  With "By Edge Order", the next edge is chosen based on the "edge order" about a vertex.  With "By Angle", the next edge is determined by the "edge orientation" about a vertex.  Propogation also terminates when a mesh border is encountered, or when a vertex branches an "odd" number of edges with "By Edge Order" mode.  "By Edge Order" works better for regular, grid-like topologies, or topologies with "predictable" edge branching.  "By Angle" will work with any mesh topology in general, looking for the *straightest possible* edgepath.

Border Corner Angle: Again, only relevant when traversal mode is set to "Use Edgepath".  Edgepath termination on "border" edgepaths end when a sharp "corner" is encountered. This specifies the actual angle that defines a "sharp" angle.  Any edges in the edgepath that form angles with the previous edge that are smaller than (i.e. "sharper" than) this Border Corner Angle will terminate the edgepath propogation.

Split Distance: Again, only relevant when traversal mode is set to "Use Edgepath".  This value ranges from 0 to 1, and indicates the "distance from the edgepath" where each face in the facepath (adjacent to the edgepath) will be split.  Values closer to 0 indicate that the facepath wll be split "closer" to the edgepath, and values closer to 1 mean the split will be further away.  DO NOT SET THIS VALUE TO *EXACTLY* 0 OR 1 - this may generate corrupt geometry!

Auto Backface Culling: Recommended to be left on, since it prevents you from accidently selecting edges or faces at the back of the mesh that aren't facing you.  It clears edges and faces that don't face the user, making a cleaner and clearer view of the edges and faces that are in view to the user, making facepath selection easier.  It is turned off automatically when you exit the tool.

Auto Flush Undo: This is recommended to be checked "on" ONLY if you make MANY subsequent, consecutive calls to this tool (and/or "edgePath" and/or "facePath"), often when one is in a "modeling phase".  This can speed up this tool significantly, especially for users who set their undo queue to have a very high number, or to "infinite".  When checked "on", you should keep in mind though, that "EVERYTHING BEFORE THE INVOCATION OF THE TOOL CANNOT BE UNDONE".  Default is "off".  When "on", the undo queue is cleared before each call to split the facepaths.  This tool can take up much memory when splitting very long facepaths, which makes it more sluggish in subsequent invocations.  Or alternatively, you can clear the undo queue just once in a while yourself, by hitting the "Flush Undo" button in this tool's options window.

LIMITATIONS:

To use, Bonus Tools->Face Path Split Tool and drag select across a face and edge to indicate direction of split.

Draw Split Tool
This item splits or subdivides a polygonal mesh by simply drawing over a sequence of edges to split or subdivide.  The edges where the drawn stroke crosses the mesh will be split or subdivided at the crossing points.  Click on the tool's shelf button or Sacred Tool icon to invoke the tool, hit <ENTER> or simply switch to another tool to exit. Modifier keys (i.e. <SHIFT> & <CONTROL>) pressed while drawing the stroke enables other tool features as well.

QUICKY GUIDE
Since it seems that all the mouse-button/modifier combinations may be somewhat daunting to remember, this little table will summarize the tool's functions in a nutshell, hopefully making things clearer and easier to remember:
 
Mouse Button/Control Held?
Left Mouse Button
Middle Mouse Button
NO, CTRL RELEASED
"Splits" all edges that are drawn over, WITHOUT any "vertex -snapping". 
"Subdivides" all edges drawn over.  For *single* slice subdivides, new verts are moved to where stroke crosses edges.
YES, CTRL PRESSED 
"Splits" all edges that drawn over WITH "vertex-snapping" at stroke's start/end.
Same as above (i.e. <CONTROL> has NO effect when drawing with the MMB).

IMPORTANT IMPROVEMENTS AND RELEASE NOTES:
The tool's "toolButton" now is implemented as a "shelfButton", to avoid a regressive 4.0 bug.

CONTROLS:
The tool's features can be explained as its controls are being described here.

Starting and ending draw stroke on the *same face*: This is how you "cycle" a split (i.e. the last edge's new split vert(s) will automatically be connected to the first edge's new split vert(s) with a new edge between them).

Left-mouse button (LMB) vs. Middle-mouse button (MMB):

Pressing <ENTER>: Exits the Draw Split Tool, and returns to the regular "Select Tool".
<BACKSPACE> OR <DELETE> KEYS: Abort the current drawn stroke (especially in "line mode"), WITHOUT completing split/subdivide.
POINT-CLICKS: Quickly pressing and releasing a mouse button WITHOUT DRAGGING invokes a few extra tool features:


Point-clicking while holding <CONTROL> and using the "middle mouse button" (MMB) will toggle ON/OFF "vertex display" on the current selected poly mesh.  It is a good idea to have the vertices of a mesh displayed, especially for "Subdivisions>1" when doing "splits" (i.e. LMB drawing), or when doing "subdivides" (i.e. MMB drawing).

MARQUEE-SELECTING: With "nothing" selected, this tool operates like the regular Maya (marquee) Selection Tool, but only "poly meshes" can be selected (i.e. simply mouse-button press and drag a selection box around the mesh that you wish to split/subdivide).

PRESSING MOUSE BUTTON: Starts the draw stroke or selection marquee.

DRAGGING: Dragging the mouse while holding down a mouse button simply draws the stroke used for splitting or subdividing the selected mesh.  However, in "line mode" (see below), dragging will also interactively "place" the endpoint of the most recent "line segment" on the stroke which would be "floating around" until you release the mouse button, finalizing the line segment.

RELEASING MOUSE BUTTON: Ends the draw stroke - clears it from view, then computes and does the split/subdivide. Also, when <SHIFT> is held down, "line mode" is invoked each time a mouse button is released.

<SHIFT> MODIFIER: As mentioned right above, holding down <SHIFT> and releasing a mouse button will invoke "line mode".  "Line mode" puts the tool into a state that allows you to append "straight line segments" to the draw stroke.  "Multiple" line segments in the same stroke is possible (simply keep <SHIFT> held down throughout).  Note that after you release the mouse button while holding <SHIFT>, you are merely letting the tool know that you are in "line mode" (and note how the stroke does not yet end and the split is not yet computed).  In order to actually "drag out a segment", you must KEEP ON HOLDING <SHIFT> while dragging.  If you do not, then line mode ceases, and the stroke draws normally again.  This is how you can move in and out of line mode within the same stroke. The line can only be seen with the LMB or MMB pressed.  In short, ALWAYS HOLD DOWN A MOUSE BUTTON WHILE DRAGGING OUT A LINE SEGMENT!

<CONTROL> MODIFIER: You're probably going to be using this modifier the most.  It can do several things:


TOOL OPTIONS:
Double-click on the tool's shelf button or Sacred Tool icon to reveal the options window. If you find that for certain options, the value you desire goes beyond a slider's range, you can try typing the value into the slider's "numeric field" instead.

"Min Draw Sample Size": This tool's algorithm works by sampling the mesh with "selection voxels", or little boxes that are created as you draw.  This setting sets the smallest possible size of these voxels. It is suggested that you play around with different sizes to see which one works best for you.  Default is set at "25" pixels.  Larger sample sizes give a better chance of successful splits, but leave "clunkier/segmented" draw strokes.  Try NOT to set this to be TOO SMALL (e.g. 2, etc...), but it may be necessary, especially when splitting really tight/convoluted areas in a mesh.

"Multi-Slices": New to this version, the tool can now have "multiple adjacent splits" occur within a single draw stroke that is, to have "multiple slices".  This option indicates the "number of slices" that each stroke will split/subdivide each "edge split path" into.

"Multi-Slice Dropoff Power": When "Multi-Slices" is set to be >=2, the "spacing" of the slices is determined from the *closest endpoint* from where the stroke crosses each edge for each edge drawn over.  This setting sets how the spacing "drops off" from the closest endpoint.  The default is "1.0", which is a "linear" dropoff, meaning the spacing between each slice with be "uniform". Values >1.0 means spacing distances between slices "further away" from the closest endpoint will be "greater" than slice distances "closer to" the closest endpoint and greater values will yield more dramatic dropoff.  Values <1.0 do the exact opposite.  Warning: Please do NOT set this option to be *EXACTLY 0.0*!

"Subdivisions": The number of split intervals between each edge that was split.

"Edge-Snapping": Checking this option ON indicates that for each stroke, the split/subdivide distances on each edge will snap to specific values, specified by the next options.  Checking the option OFF (default) means the split distances are dictated by where the draw stroke crosses each edge.

"Edge-Snapping Type": There are TWO kinds "edge-snapping":

The second is by "Edge Intervals", which breaks each edge drawn over by the draw stroke, into an integer number of evenly spaced "intervals".  The split will snap to the *END OF AN INTERVAL* WHOSE END IS CLOSEST TO WHERE THE DRAW STROKE CROSSED THE EDGE.

"Snapping Endpoint Offset": Applies only for "Closest Endpoint" edge-snapping.  It specifies the "distance from the closest vertex to snap to" that the split should be offset from.  For instance, a value of 0.5 means that the splits will snap exactly in the "middle" of all edges drawn over.  Values range from 0.0 to 1.0, but BE CAREFUL SETTING THIS TO *EXACTLY* 0.0 OR 1.0!  This may lead to "invalid splits", and thus SPLIT FAILURE!

"Number Of Snap Intervals": Applies only for "Edge Intervals" edge-snapping.  It specifies the "number of imaginary intervals to divide up an edge" for snapping.  For instance, if you set it to "3", your splits will snap to 0, 0.333, 0.666 and 1.0.  For "10", it would be 0.0, 0.1, 0.2, ... , 1.0, and so forth.  Setting a value of "1" is strongly NOT recommended, and be careful when dragging TOO CLOSE to the edge endpoint verts when using "Edge Interval" edge-snapping (i.e. you'll end up splitting consecutive edges with split distances of 0.0 or 1.0, which could cause split failure).

"Select New Verts Upon Exit": For each new split/subdivide, the new vertices introduced to the mesh can be automatically selected for the user upon exiting the Draw Split Tool (i.e. choosing ANOTHER tool).  Choosing one of the following settings for this option will affect the new selection in the following manners: 1)Choosing "Never" means the new vertices will NOT be selected.  Exiting the Draw Split Tool simply retains the current mesh being split/subdivided as the final selection. 2)Choosing "Last Split" (default) will select only the vertices generated by the MOST RECENT split/subdivide, upon exiting the Draw Split Tool. 3)Choosing "All Splits On Mesh" will select ALL vertices generated by ALL split and/or subdivide operations done on the current mesh, *SINCE THE LAST TIME THE MESH WAS SELECTED*.

"Auto Backface Culling": If checked ON, this Will always automatically turn ON "backface culling" on ALL poly meshes in the scene when this tool is invoked, and will also automatically turn it OFF when exiting the tool.  You would want it checked ON if you're splitting/subdividing only those edges belonging to faces "facing you" (i.e. split "at the surface" only), and you'd want it checked OFF when splitting/subdividing *RIGHT THROUGH* the selected mesh. Default is set to "ON".

TIPS:

KNOWN LIMITATIONS:

Draw Reduce Tool
This tool reduces a polygonal mesh by simply drawing over its edges.  This tool merely combines 4 existing methods of reducing mesh topology in Maya, wrapped into a single, more intuitive interface.  However, there are also some additional, little advantages this tool has to offer, providing more control in "collapse edge" and "merge vertex" operations, with the advantages being that collapsing/merging operations are controlled by the "drawn stroke" itself.  The edges that the drawn stroke crosses over the mesh may have one of the following reduction operations done to them: "Edit Polygon->Collapse Edge", "Edit Polygons->Merge Vertices" (i.e. the "endpoint verts" of the drawn-over edges), "edge deletion" or "Edit Polygons->Delete Edge", and "vertex deletion" or "Edit Polygons->Delete Vertex" (i.e. the "endpoint verts" of the drawn-over edges). Click on the tool's shelf button or Sacred Tool icon to invoke the tool, hit <ENTER> or simply switch to another tool to exit. Drawing with the LMB vs. the MMB varies the behaviour of the tool, and modifier keys (i.e. <SHIFT> <CONTROL>) pressed while drawing the stroke enables other tool features as well.

QUICKY GUIDE:
Since it seems that all the reduction-mode/mouse-button/modifier combinations may be a little somewhat daunting to remember, these two little tables will summarize the tool's functions, hopefully making things clearer and easier to remember:

Table #1: "Reduction Type" = "Collapse E./Merge V."
 
Mouse Button/Control Held?
Left Mouse Button
Middle Mouse Button
NO, CTRL RELEASED
"Collapse Edge" on all edges drawn over, WITHOUT any "edge-snapping". 
"Merge Vertex" on ALL endpoint vertices of any edges that are drawn over.
YES, CTRL PRESSED 
"Collapse Edge" all edges drawn over, WITH "edge-snapping".
"Merge Vertex" ONLY  *ONE* VERTEX PER EDGE on any edges that are drawn over.

Table #2: "Reduction Type" = "Delete Edges/Verts":
 
Mouse Button/Control Held?
Left Mouse Button
Middle Mouse Button
NO, CTRL RELEASED
Delete all edges drawn over.  Equivalent to selecting those edges and hitting <Delete>.
"Extended" delete on all edges drawn over.  Equivalent to selecting those edges and doing an "Edit Polygons->Delete Edge".
YES, CTRL PRESSED 
Delete *ONE* VERTEX PER  EDGE on any edges that  are drawn over (the vert closer to draw stroke).
"Extended" delete on *ONE* VERTEX  PER EDGE on any edges that are drawn  over.  Equivalent to "Edit Polygons->Delete Vertex" (vert closest to stroke).

CONTROLS:
The tool's features can be explained as its controls are being described here.

Left-mouse button (LMB) vs Middle-mouse button (MMB):
This tool is broken up into TWO modes ("Collapse E./Merge V." and "Delete Edges/Verts"):

Within the first mode ("Collapse E./Merge V."), ending the draw stroke with the LMB shall "collapse" edges drawn over, where using the MMB "merges" the "endpoint vertices" of edges drawn over.

Within the second mode ("Delete Edges/Verts"), ending the draw stroke with the LMB shall do a "normal delete" on the edges or verts (if <CONTROL> also held) that are drawn over (equivalent of selecting those edges/verts and hitting <Delete/Backspace>.  Note that you can only delete "winged vertices" with the LMB.  Using the MMB does an "extended delete" (equivalent of doing "Edit Polygons->Delete Edge" or "Edit Polygons->Delete Vertex"). What's the difference, you ask?  Well, for "edges" doing an extended delete will first delete the edge itself, but in addition, will remove the edges' "endpoint verts" as well if they are "winged-vertices".  For "vertices", doing an extended delete will delete the vertices themselves, plus any "edges connected" to them.

PRESSING <ENTER>:
Exits the Draw Reduce Tool, and returns to the regular "Select Tool".

<BACKSPACE> OR <DELETE> KEYS:
Abort the current drawn stroke (especially in "line mode"), without completing reduction.

POINT-CLICKS:
Quickly pressing and releasing a mouse button WITHOUT DRAGGING invokes a few extra tool features:

·Point-clicking WITHOUT holding any modifiers will select another mesh for the tool to operate on. Doing this on "empty space" simply deselects the current selected poly mesh (i.e select "nothing").

·Point-clicking while holding <CONTROL>, and using the LMB will toggle ON/OFF "backface-culling" for the current selected poly mesh.  With backface-culling ON, only ONE side of the selected poly mesh shall be reduced at a time, where having it OFF reduces ALL sides at once.

·Point-clicking while holding <CONTROL>, and using the MMB will toggle ON/OFF "vertex display" on the current selected poly mesh.  It is a good idea to have the vertices of a mesh displayed while reducing, especially when it is essential to distinguish "winged-vertices" and their connected edges.

MARQUEE-SELECTING:
With "nothing" selected, this tool operates like the regular Maya (Marquee) Selection Tool, but only "poly meshes" can be selected (i.e. simply mouse-button press and drag a selection box around the mesh that you wish to reduce).

PRESSING MOUSE-BUTTON:
Starts the draw stroke or selection marquee.

DRAGGING:
Dragging the mouse while holding down a mouse-button simply draws the stroke used for reducing the selected mesh.  However, in "line mode" (see below), dragging will also interactively "place" the endpoint of the most recent "line segment" on the stroke, which would be "floating around" until you release the mouse button, which finalizes the line segment.

RELEASING MOUSE BUTTON:
Ends the draw stroke - clears it from view, then computes and does the reduction.  Also, if <SHIFT> is held down, "line mode" is invoked each time a mouse button is released.

<SHIFT> MODIFIER:
As mentioned right above, holding down <SHIFT> and releasing a mouse button will invoke "line mode".  "Line mode" puts the tool into a state that allows you to append "straight line segments" to the draw stroke.  "Multiple" line segments in the same stroke is possible (simply keep <SHIFT> held down throughout).  Note that after you release the mouse button while holding <SHIFT>, you are merely letting the tool know that you are in "line mode" (and note how the stroke does not yet end and the reduction is not yet computed).  In order to actually "drag out a segment", you must KEEP ON HOLDING <SHIFT> while dragging.  If you do not, then line mode ceases, and the stroke draws normally again.  This is how you can move in and out of line mode within the same stroke. The line can only be seen with the LMB or MMB *PRESSED*.  In other words, ALWAYS HOLD DOWN A MOUSE BUTTON WHILE DRAGGING OUT A LINE SEGMENT!

<CONTROL> MODIFIER:
This modifier key does FIVE things for this tool, depending on which reduction type is being used:

If "collapsing edges" (i.e. "Reduction Type" = "Collapse E./Merge V." and you use the LMB to end your stroke), then holding <CONTROL> while DRAGGING the mouse enables "edge-snapping" for only the edges drawn over when <CONTROL> was held.  Any edges drawn over with <CONTROL> held shall be collapsed AT PRECISE DISTANCES along them (see "Edge-Snapping" options below for more details).

If "merging vertices" (i.e. "Reduction Type" = "Collapse E./Merge V." and you use the MMB to end your stroke), then holding <CONTROL> while DRAGGING the mouse will include ONLY *ONE* of the edge's endpoint vertices in the merge operation for only the edges drawn over when <CONTROL> was held.  The vertex that is chosen within each edge is the one that's *CLOSEST* to the crossing point where the drawn stroke crossed over the edge.

If doing "normal deletion" (i.e. "Reduction Type" = "Delete Edges/Verts" and you use the LMB to end your stroke), then holding <CONTROL> while DRAGGING the mouse will choose ONLY *ONE* of the edge's endpoint vertices to delete, in ALL edges drawn over.  The vertex that is chosen within each edge is the one that's *CLOSEST* to the crossing point where the drawn stroke crossed over the edge.

Does exactly the same as 3), but for "EXTENDED deletion".  To be precise and long-winded: If doing "EXTENDED deletion" (i.e. "Reduction Type" = "Delete Edges/Verts" and you use the MMB to end your stroke), then holding <CONTROL> while DRAGGING the mouse will choose ONLY *ONE* of the edge's endpoint vertices to do an *extended* delete on, in ALL edges drawn over.  The vertex that is chosen within each edge is the one that's *CLOSEST* to the crossing point where the drawn stroke crossed over the edge.

See above to see how <CONTROL> affects "point-clicks".

Hold down BOTH <SHIFT> *AND* <CONTROL> together to SIMULTANEOUSLY have both "line mode" AND any one of the effects that holding <CONTROL> provides (see previous section).

Holding down BOTH LMB *AND* MMB simultaneously only serves a minor purpose, and that is to complete the stroke while still in "line mode" WITHOUT HAVING TO RELEASE <SHIFT>.  For instance, say you're holding down <SHIFT> and dragging around to place the stroke's end line segment on your draw stroke.  Normally, in order to complete the stroke (and hence compute the crossed), one would FIRST "release <SHIFT>", THEN release the mouse button.  But this tool has been designed so that you can complete the tool by holding down the *OTHER* mouse button, and releasing the "original" mouse button to end the stroke while in line mode.  Just a minor little tidbit of a feature.  Some also find this little mouse manoever somewhat "therapeutic" in an odd little way.
 

TOOL OPTIONS:

Min Draw Sample Size: This tool's algorithm works by sampling the mesh with "selection voxels", or little boxes that are created as you draw.  This setting sets the smallest possible size of these voxels. It is suggested that you play around with different sizes to see which one works best for you.  Default is set at "25" pixels.  Larger sample sizes give a better chance of successful reduction, but leave "clunkier/segmented" draw strokes.  Try NOT to set this to be TOO SMALL (e.g. 2, etc...), but it may be necessary, especially when reducing really tight/convoluted areas in a mesh.

Reduction Type: There are two modes of reduction:

Choosing "Collapse E./Merge V." will either use the drawn stroke to "collapse" all "edges" drawn over (using LMB to draw), or "merge" together the endpoint "vertices" of the drawn over edges into one vertex (using MMB to draw).
Choosing "Delete Edges/Verts" will either use the drawn stroke to do a "normal deletion" of the edges/verts drawn over (using LMB to draw), or do an "extended deletion" of the edge/verts drawn over (using MMB to draw).

Merge Vertices At: For the "Merge V." operation (i.e. "Reduction Type" = "Collapse E./Merge V." and using MMB to draw), there are two ways the merged vertices may end up:

Choosing "End Of Stroke" which is the default, means that the drawn over edge-verts shall be collapsed to the point on the mesh where the draw stroke ends.  If your drawn stroke does NOT end on a mesh, the verts will automatically be collapsed at their "centroid" (see next option).
Choosing "Centroid" means that the drawn over edge-verts shall be collapsed at the "averaged center" of all of those vertices.

Edge-Snapping When: This indicates when the user can have (or NOT have) edge-snapping enabled for collapsing edges, or similar "endpoint-related" variances of the tool when <CONTROL> is held.  Three choices:

Choosing "Never" means edge-snapping will NEVER be enabled.
Choosing "CTL+Drag" means edge-snapping will be enabled ONLY when <CONTROL> is pressed while the mouse is being dragged.  This means you will be able to edge-snap "some" drawn-over edges, and not others in the SAME stroke, depending on when <CONTROL> is held or not.
Choosing "Always" means edge-snapping will ALWAYS be enabled, regardless of whether <CONTROL> is held down, or not.

Edge-Snapping Type: There are TWO kinds "edge-snapping" for collapsing edges:

The first kind of edge-snapping is by "Closest Endpoint", which snaps the collapsing edge endpoint verts along the drawn over edges by a "fixed distance" that is measured from the *CLOSEST VERTEX* ON THE EDGE FROM WHERE THE DRAWN STROKE CROSSED THE EDGE.
The second is by "Edge Intervals", which breaks each edge drawn over by the draw stroke, into an integer number of evenly spaced "intervals".  The collapsing point will snap to the *END OF AN INTERVAL* WHOSE END IS CLOSEST TO WHERE THE DRAWN STROKE CROSSED THE EDGE.

Snapping Endpoint Offset: Applies only for "Closest Endpoint" edge-snapping.  It specifies the "distance from the closest vertex to snap to" that the collapsing point should be offset from, on each edge drawn over. For instance, a value of 0.5 means that the two endpoint vertices of the collapsed edge will meet exactly in the "middle" of that edge, after it has been collapsed.  Values range from 0.0 to 1.0.

Number Of Snap Intervals: Applies only for "Edge Intervals" edge-snapping.  It specifies the "number of imaginary intervals to divide up an edge" for snapping.  For instance, if you set it to "3", your edges' collapsing points will snap to 0, 0.333, 0.666 and 1.0.  For "10", it would be 0.0, 0.1, 0.2, ... , 1.0, and so forth.

Auto Backface Culling: If checked ON, this Will always automatically turn ON "backface-culling" on ALL poly meshes in the scene when this tool is invoked, and will also automatically turn it OFF when exiting the tool.  You'd want to keep it "ON", which is the default if you're going to do your reductions "ONE side at a time".
 

TIPS:

To use, Bonus Tools->Draw Reduce Tool.

Geometry Utilities
    Create Closest Point On Curve Node
    Create Closest Point On Mesh Node
    Create Point On Mesh Info Node
These three tools will create utility nodes for the selected geometry.

closestPointOnCurve
This plug-in defines both a MEL command and a DG node which takes in as input, a NURBS curve and a worldspace position, then computes the closest point on the input curve from the input position.  In addition to the worldspace "position" at the closest point on the curve, also returned are the "normal", "tangent", "U-parameter" and "closest distance from the input position", at the closest point on the curve.

closestPointOnMesh
This plug-in defines both a MEL command and a DG node which takes in as input, a mesh and a worldspace position, then computes the closest point on the input mesh from the input position.  In addition to the worldspace "position" at the closest point on the mesh, also returned are the "normal", "U-parameter", "V-parameter" and the "closest face index" at the closest point on the mesh.

pointOnMeshInfo
This plug-in defines both a MEL command and a DG node which computes the worldspace position and normal on a poly mesh given a face index, a U-parameter and a V-parameter as input.

Note: These three nodes are plug-ins.


Adjust Vertex Normals
This item creates a window for interactive vertex normal adjustment.

To use, Bonus Tools->Adjust Vertex Normals. Select a vertex or a face vertex. The sliders will update to show the current normal values. If more than one item is selected, only the values of the first will be displayed. Changing the values will change the values for all selected.


Connect Border Edges
This item creates new polys between two selected polygon edge border regions. The command will isolate two distinct border regions (internal edges are ignored) and create a new polygon mesh between them.
Auto Reverse: Reverses the ordering of one border line based on the distance of the end points
Reverse: Forces the reverse
Map Edge Count: Uses the edge count of the border parts to determine which edges belong together - instead of just the distance
Quads: Convert the resulting triangles to quads
Quad Angle: The angle for the "Quadrangulate"
To use, select edges to be connected and Bonus Tools->Connect Borders. Only border edges will be connected so selection does not have to be precise.

Bridge
This item extrudes selected faces and connects their border edges.

To use, select two faces and a guide edge on each face and Bonus Tools->Bridge.

Paint Geometry
This tool allows you to place objects onto other objects through the familiar artisan interface.

To use, select an object to paint emitters onto an Bonus Game->Paint Geometry. A window will pop up that allows you to control the geometry attributes.


Poly Copy Paste History
Poly Copy Paste History is actually two commands that will copy and paste polygon history between meshes. This is intended for working with blendshapes. If the base mesh, or a target mesh, required a topology change, this change would need to be applied to every mesh in the blendshape. With these commands, the changes made to one mesh can be applied to the other meshes.

To use, first select the mesh with the history you would like to copy. Graph this mesh in the hyperGraph. Select the history nodes in order (first to last) and Bonus Tools->Poly Copy Paste History->Set Nodes to Copy. Second, select the meshes to copy the history to and Bonus Tools->Poly Copy Paste History->Poly Copy Paste History.

Notes:


Delete Edge and Cut UVs
This command deletes an edge but first cuts the bordering UVs. This is useful when deleting a border edge.

To use, select an edge and Bonus Tools->Delete Edge and Cut UVs.
Merge Selected Vertices by Distance
This command merges the selected verts and uses the distance between them as the merge tolerance so the user does not need to worry about it.

To use, select two verts ans Bonus Tools->Merge Selected Vertices by Distance.
Merge Vertices by Distance
This command merges all of the verts on a mesh that are closer than the selected verts. The distance between the selected verts is used as the merge tolerance so the user does not need to worry about it.

To use, select two verts and Bonus Tools->Merge Vertices by Distance.

Merge Selected Border Edges
This command finds the connected border edges for the selected edge(s). All edges on the border(s) will merged to close the hole.

To use, select an edge and Bonus Tools->Merge Selected Border Edges.

Rotate UVs Around Vertex
This item will rotate UV coordinates in the UV Texture Editor. It uses a vertex as the rotation pivot point.

To use, Bonus Tools->Rotate UVs Around Vertex. In the UV Texture Editor, select the UVs to rotate and a vertex to act as the pivot point. Enter the rotation value in the window and press Rotate UVs.


Align UVs
This item will align the selected UVs horizontally or vertically. The result is similar to using the Straighten UV Border tool but the
alignment will not be arbitrary. UVs that are aligned horizontally and vertically are easier to texture map and will produce better
quality texture maps if you are using the Convert to File Texture Tool. This works well in conjunction with the Grid UVs command.

To use, Bonus Tools->Align UVs. In the UV Texture Editor, select the UVs to rotate and a vertex to act as the pivot point. Enter the rotation value in the window and press Rotate UVs.


Grid UVs
This item will snap all the selected UVs to a user defined grid. The UVs may snap to pixel edges or pixel centers. Snapping UVs to the closest pixel will help to produce better quality results from the Convert to File Texture Tool. This works well in conjunction with the Align UVs command.

To use, Bonus Tools->Grid UVs. In the UV Texture Editor, select the UVs to snap to the grid. Enter the grid size and press Grid UVs.


UV Precision
This item will adjust the precision of selected UVs.

To use, select the UVs to change and Bonus Tools->UV Precision... Enter the number of decimal places that should be kept for the UV coordinates and press OK.


Clamp UVs
This item will clamp the selected UVs to a user specified bounding box.

To use, select the UVs to clamp and Bonus Tools->Clamp UVs... Enter the bounding box coordinates (U min., V min., U max., V max.) and press OK.


Automatic Wrap Map
This item will create UVs for a polygon mesh. Each face will be the same size and connected together. It is suggested to use this for texture mapping roads and tracks.

To use, select the mesh, or faces of a mesh to map and Bonus Tools->Automatic Track Map... This works best on mesh composed of quads - triangles and n-sided faces may not work perfectly. If this is the case, Align UVs, Grid UVs and Map UV Border follwed by Relax UVs may help to make better UVs.


Map Unmapped Faces
This command finds unmapped faces on a mesh and maps them. This command is helpful after doing a bevel where some faces lose their UVs; it will apply new UVs and put them in a logical position.

To use, select a mesh and Bonus Tools->Map Unmapped Faces.
Smooth Face Mapping
This command changes the mapping on a selected face so that it shares UV coordinates with neighbours. Create and Append Polygon create UVs but they are not placed intelligently so this can fix that placement.

To use, select a face and Bonus Tools->Smooth Face Mapping.



Poly NURBS Projection

This item is a NURBS to mesh UV projection. It transfers the UVs and shader from a NURBS surface to a poly mesh based on closest point. It then allows the user to manipulate the NURBS surface by translation, rotation, scale and moving CVs and the UVs of the mesh will be updated in real time.

The intended workflow is for a user to model a mesh and then a NURBS surface that will wrap around the mesh like a sock. After the NURBS surface is textured, the command is applied which will assign the UVs of the mesh to be the UV of the point on the NURBS surface that is closest.

To use, select the NURBS surface followed by the mesh, and Bonus Tools->Poly NURBS Projection. The shader and UVs should be transferred to the mesh. Now you can translate/rotate/scale the transform and CVs of the NURBS surface and the UVs of the mesh should be updated in real time.

How It Works

If you selected faces on the mesh the first thing the plug-in will do is split the UVs along the border of the selected faces to maintain the texture border.

The polyNurbsProjectionNode is a construction history node that takes the world space mesh and NURBS surface as input and computes the resulting mesh with projected UVs.

The algorithm is quite simple and works by iterating through each vertex of the selected faces. For each vertex, an API call is made to MFnNurbsSurface::closestPoint to get the point on the NURBS surface that is closest to the vertex. The UVs of this point are assigned to the vertex.

Limitations

The complexity of this plug-in is O(mn) where m is the number of vertices on the mesh and n is the number of CVs in the NURBS surface. Since the plug-in updates in real time a complex mesh and NURBS surface will result in SLOW interaction when you start changing the NURBS surface. That's why the interactiveness of the plug-in is limited to meshes with low poly counts.

WARNING: the 'polyNurbsProjection' command will delete construction history on the mesh right before it hooks up the polyNurbsProjectionNode. I had to force this to prevent the user from hooking up 2 polyNurbsProjectionNodes which caused some really buggy behaviour.

Spherical NURBS projections caused some weirdness in the projection in areas around the seam of the NURBS surface. NURBS planar projections work really well.


Unfold UVs
This item will unfold the UVs of the selected mesh so that they are not overlapping. It can be thought of as a combination between Layout UVs and Relax UVs. Unlike Layout UVs, the UVs will not be cut for you; you need to strategically cut the edges before unfolding. A sample workflow for a character might be: To use, select the mesh to unfold and Bonus Tools->Unfold UVs.

Layout Multiple UVs
This item will layout the UVs of all selected objects so that they fit into the 0,0 to 1,1 texture space. This is particularly useful for working with light maps so that mutliple objects can efficiently share the same map.

To use, select the mesh objects to operate on and Bonus Tools->Layout Multiple UVs.


Make Texture Layered
This item will insert a layered texture node between the selected texture and its shader. The texture must be connected to a shader to work. This is particularly useful for working with light maps.

To use, select the texture to add a layered texture to and Bonus Tools->Make Texture Layered.


Layer Textures
This item will insert a layered texture node between the first selected texture and its shader. The second selected shader will be added over the first texture in the layered texture node. The first selected texture must be connected to a shader to work. This is particularly useful for working with light maps.

To use, select two textures to layer and Bonus Tools->Layer Textures.


Generate Light Maps
This item will generate light maps based on the options specified in the option box:

Anti-alias: Anti-alias the resulting light maps.

Bake Shadows: Include shadows in the light maps.

All Meshes: Use all meshes in the scene or just the selected meshes. For scenes with a lot of variety in the geometry size, it can be more efficient to generate light maps in a number of passes with different resolutions.

New UV Set: Create a new UV set for the light map.

X Resolution: X resolution of the light map.

Y Resolution: Y resolution of the light map.

File Format: File format of the light map.

Blend Mode: Blend Mode for the layered texture. 4 is Add, 6 is multiply.

File Suffix: Text to apply to the end of the light map file name.

Shading Group Name: Generate light maps requires the name of the shading group to use for the light maps. A default lambert shader will work well for this. If no shading group is specified or the specified shading group does not exist, the command will fail.

UV Set Name: Name of the UV set to use or create. If no name is specified, the current UV set will be used.
 

To use, set the options and Bonus Tools->Generate Light Maps.



Poly Warp Image
This command warps an image based on UVSets. It compares the difference between two UVSets andd applies this transformation to an image. This can be useful for: To use, Bonus Tools->Poly Warp Image Option Box. Enter the source and new image names to the option box. Select the polyMesh that will be the basis for the warp and enter the names of the source and destination UVs. Make any other adjustments to the options and press Apply.

Note: The path to the images must be absolute.


Isometric Render
This menu allows for isometric rendering of Maya scenes. All geometry in the scene is grouped under a new node and the shear attributes are set for an isometric render from the front view. For other windows, adjust the shear attributes on the IsometricWorldNode.

Isometric Render: Renders the current viewport.

Preview: Displays the scene in isometric mode.

Reset: Resets the scene so it is not in isometric mode.

The resolution gate for orthographic does not work well. To get an idea of the resolution gate for an orthographic view, Panels->Tear Off or Tear Off Copy. Then apply some MEL:

lsUI -windows; //lists all the current windows

The freshly torn off window will likely be at the end of the list with a name like "modelPanel6Window". Edit the window's width and height. The width and height may be calculated as follows:

width = x resolution + 12
height = y resolution + 52

To determine the windows current width and height:

window -query -width modelPanel6Window;
window -query -height modelPanel6Window;

To set the width and height (for a 320x240 render):

window -edit -width 332 modelPanel6Window;
window -edit -height 292 modelPanel6Window;


Create CPV Render Node
This is a color utility plug-in that allows you to software-render color per vertex assigned to polygonal geometry. As well it can:
Example 1: Simple SW Color Per Vertex Rendering
1. Create a polygon cube (pCube1).


2. Assign a new shader to the geometry (blinn1).
3. Paint/Apply color per veterx.
4. In Hypershade, create a cvColorShader node (swCPV for short) and connect it to Color attribute of the shader.
5. Render it. This renders cpv as the color component of the shader.

Example 2: with File Texture and Raytracing

1. From Example 1, disconnect swCPV node from the shader (blinn1).
2. Assign a file texture to Color attribute of blinn1.
3. Reconnect swCPV node to Incandesence of blinn1.
4. Render it.
5. Create a polyPlane under the cube and assign a blinn shader.
6. To use alpha component of CPV, this also needs to be connected to the shader. To do this, Shift-drag&drop swCPV icon over to the shader. Then, connect outAlpha (which is actually transparency) to each Transparency (R,G,B) attribute of the shader.
7. Open Render Global, and check Raytracing on and render.

Cautions:

1. Depending on the type of connections, the actual result may not be viewed in the viewport.
2. A shader with a swCPV node connected should not be assigned to multiple objects. The shader should be copied and two swColorPerVertex nodes must be created and assigned respectively.


Vertex Color Display

This will create a window to control the display of vertex coloring. Settings can be applied to selected geometry or all geometry in the scene.

To use, Bonus Tools->Vertex Color Display.


Toggle Single/Double Sided
This will toggle the single/double sided flag of selected objects.

To use, select an object and Bonus Tools->Toggle Single/Double Sided.



Poly Adaptive Prelight
This command will subdivide the selected mesh(es) based on the prelighting that gets applied through the command.
Iterations: The number of times to subdivide the mesh.
Tolerance: If the color variation between two adjacent vertices is withing the tolerance, there will be a division.
Faces: The method for subdividing the mesh.
Shadows: Calculate shadows for prelighting.
To use, Bonus Tools->Poly Adaptive Prelight.

Poly Attribute Map
This command will create a texture map for the selected mesh(es) attributes based on the following options:
Attribute to Map: Position, Normal, UVs, Color Per Vertex, Tangent and Binormal.
Compute In: The values for some attributes may be computed in world or object space.
File Texture Node: If checked, a file texture node will be created.
Unmapped Attribute Color and Alpha: Unmapped attributes will be represented by the specified color and alpha values.
Map Backgound Color and Alpha: The color and alpha value to represent areas in the texture not covered by the mesh.
To use, Bonus Tools->Poly Attribute Map.

Select Cluster Members
This command will select the components of the active cluster.
To use, select a cluster Bonus Tools->Select Cluster Members.

Current Frame Display
This item creates a particle object that displays the current frame. The particle object can be moved any where in the scene. This is useful in conjunction with playblast so that every frame in the movie displays its frame number.

To use, Bonus Tools->Current Frame Display. The particle object will be selected so you can move it anywhere in the scene.


Rename New Joints
This item will create a window to allow for automatic renaming of the selected object. This was created to quickly and easily rename joints in a skeleton. When creating a spine, the user generarl wants the joints named spine instead of joint. It's also good for fingers.

This does not have to be limited to joints. Any item that is selected will be renamed so it could be useful for level building activities.

To use, Bonus Tools->Rename New Joints. Enter a name to rename the joints to and start placing joints (or objects). The window provides an on/off toggle at the top so that the renaming can be easily interrupted.


Prune Influence Objects
This item will allow the user to set smooth skin weighting to 0 based on a number of influence objects. This is an alternative to Skin->Edit Smooth Skin->Prune Small Weights which does not provide a mechanism for pruning to a number of influence objects.

To use, select a skinned mesh and Bonus Tools->Prune Influence Objects. Maximum Influences is the number of joints (or influence objects) to have affect the skin. Press Prune Influences to reweight the skin.

Prune below is included as a convenience and works the same as in the Prune Small Weights tool.

Note that this script is not undoable - undo is turned off to improve performance which can be slow with this command.


Remove Influence Objects
This item allows for selective removal of influence objects from a smooth skin. Use this for a multi mesh character to remove specific influence objects. When you smooth skin multiple meshes, every mesh is attached to every bone in the skeleton. This can slow performance and complicate skin editing.

This is similar to Skin->Edit SmoothSkin->Remove Unused Influence Objects but it will let you selectively remove influence objects. If the character's head is a separate piece of geometry, the feet should not deform it so they can be removed as influence objects. The neck or shoulder joints may not be initially affecting the head mesh but they may be required to so they may be retained initially as influence objects.

To use, select the skinned geometry and Bonus Tools->Remove Influence Objects. A window will open. With the geometry selected, press Load New Skin. The window will show all the influence objects for the selected geometry. Highlight the influence to remove and press Remove Influence.

Only one influence can be removed at a time. A future version may highlight the selected influence object in the modeling view.


Add Multiple Influence Objects
This commands will add multiple influence objects to a smooth skin at a time.

To use, select the skinned geometry followed by the influence objects to add and Bonus Tools->Add Multiple Influence Objects.


Bake IK to Clip

This item creates a clip for a selected IK handle provided that the IK handle is affecting joints that belong to the active character set and there is an active clip for the active character set. This is useful when editing clips. An existing clip can be modified with an IK handle; for example, extending a character's kick for more convincing motion.

After the clip has been created, it can be merged back into the main character set by merging character sets (select the character and  subcharacter and Character->Merge Character Sets) and then merging the clips (select the clips and Edit->Merge).

The bake range of the IK Handle is taken from the active time range.

To use, select the IK handle and Bonus Tools->Bake IK to Clip.


Store Pose

StorePose records a given pose for a character by creating a shelf button and icon on the current (top) shelf.  This button contains all of the necessary setAttrs for getting back to a particular pose. It will work on either hierarchies (default) or selected nodes. You can create as many poses/buttons as you need.  This pose is not to be confused with Trax Poses.  There is no association between the StorePose poses and Maya's CharacterSets.

To store a pose for a character, select the parent node(s) of anything related to the character (Root Joint, IK, constraints, locators, etc...) If everything is parented under one node, simple select that node. Then just open the storePoseUI, name the pose and apply using hierarchy mode.  To return to the stored pose, simply click the shelf button.

NOTE: This script is loosley basd on the old recordPose.mel script by Matt Baer. However, this version addresses various limitations, including checks for attributes that are unwritable or locked. (e.g. EndEffectors or IK handles that are constrained or driven)


Copy Set Driven Key

Copies set driven keys from one channel to another.

Set Driver Key Source: This is the channel to copy the Set Driven Key from.
New Destination Driver: This is the new driver for the target channel (New Destination Driven).
New Destination Driver: This is the channel to copy the Set Driven Key to.

To use, Bonus Tools->Copy Set Driven Key.... Load the window with the required drivers and press Copy.

Bake Redirection

This will bake the effect of the redirection node on the selected object(s).

To use, Bonus Tools->Bake Redirection


Mirror Animation
This tool allows you to take an existing animation and mirror it along a given axis.   For example, if you have a character that is walking from left to right, and you want  the identical walk from right to left.  This script can be used to invert the animation. This script addresses two different situations where you would want to mirror/invert animation on a character.

Between: Swapping animation from the left side to the right side or vice versa (eg... IK  handles, constraints for hands and feet, shoulder and elbow joints).  This requires  swapping all anim curves from side to side, as well as inverting certain curves based on the axis you want to mirror across.  In this case you would select one pair at a time  and then apply the mirror.  For an entire character you would need to select each pair that required mirroring (eg... hands, elbows, feet, knees, etc...)
Individual: Mirroring animation on single joints/controls (eg... backs, neck, tails).  This only requires inverting certain curves based on the plane you want to mirror across.  For example, mirroring along the YZ plane requires inverting the X translate channel as wellas the Y and Z rotate channels.  In this case you could select all center joints/controlsand mirror them simultaneously, or you could do them one at a time.
By default the tool will mirror Translate, Rotate and Scale, but you can also choose to mirror only selected transforms. 
Custom Attributes: This allows you to also include user defined attributes such as setdriven key.  This is on by default.  If a user defined attribute exists on one side but not the other then it will be ignored.
IgnoreLockedAttributes: This allows you to skip over any attributes that have been locked from the channel box.  This is on by default.


Note: the local axis is used, so be sure to check orientation of joints before setting the mirror plane if you are unsure which direction to mirror.


Reverse Animation

This command reverses all animation curves for selected objects (including hierarchies). You can reverse around specific frame, the mid point, start or end of the animation.

To use:

For mocap skeleton just select root and apply. 
For rig, select node(s) containing controls.

Dynamic Secondary Animation

Dynamic Secondary Animation:  This tool can be used to apply dynamic secondary animation to a series of joints. You have the option of using a jiggle deformer, softbody dynamics, hair dynamics or cloth. This can be useful for creating secondary animation for character elements such as: ponytails, antennas, ropes, scarves, etc... You will get varying results depending on the type of driver you choose, so you may need to experiment with each type as well as it's associated attributes.

Each of the animation driver types affects a curve which will in turn drive an IKSpline handle connected to the joint chain.  All of the primary control attributes will then be added to the handle providing easy access for editing the dynamic animation.

In each case, the IKHandle, curve, and all associated dynamic objects will be created and connected automatically:

JiggleDeformer -> Curve -> IKSpline -> Joints
Springs -> Particles -> SoftbodyCurve -> Curve -> IKSpline -> Joints
HairSystem -> Folicle -> Curve -> IKSpline -> Joints
ClothObject -> WrapDeformer -> Curve -> IKSpline -> Joints

Before applying dynamic secondary animation, you must first select the root of the joint chain that you wish to make dynamic, followed by the end joint.  After you choose the animation driver type that you'd like to use, you will also have an option for the detail of the curve that will drive the chain (Low = 4 cvs : Med = 5 cvs : High = 6 cvs). Lastly you may set the falloff of the given effect.  This refers to the amount that the effect will decay from the end of the chain to the root.  The end of the chain will have  the most movement, the root will have no movement, and the amount of movement for the joints in between will be determined by the falloff.  In order to modify the falloff  afterwards you will need to use the component editor for softbodies and jiggle deformers. In the case of hair you can simply edit the stiffness ramp widget in the hairsystem.

Once you've applied the dynamic animation you may be prompted to select 1 or more objects for the softbody, hair or cloth to collide with.  Simply select the object(s) and click the MakeCollide button.  To bypass this just click on NoCollisions.  You can always add collision objects later using traditional methods.  Standins are recommended whenever possible.  Collisions will not be an option if you use a jiggle deformer because  it can not collide.

Note: Hair will only be available in Maya Unlimited, version 6 or later.  Unfortunately because of time constraints, the Cloth option is turned off in this version of the script.  It will be added at a later date.


Create Audio Wave Node
This is a command to create a node which will output the amplitude of a sound node.
To use: The audioWave node has two attributes which let you scale the sampled amplitude:
Create Circle Under Transform
This command adds a NURBS circle under a selected transform node. This is useful for creating/adding controls to a character rig. Refer to the MEL script for details on using a custom shape.

To use, select a transform and Bonus Tools->Create Circle Under Transform.

Split Joint
This command splits a bone into two.
 
To use, select the joint at the bottom of the bone and Bonus Tools->Split Joint.

Bones on Curve
This command will place a user specified number of bones on a curve with the option to rebuild the curve and add spline IK to the joints. When rebuilding the curve, the degree is changed to 2.
 
To use, select a curve and Bonus Tools->Bones on Curve.

Setup Arm
This sets up an arm.

To use, select the shoulder joint, followed by the wrist joint and Bonus Tools->Setup Arm. The command will add the appropriate controls. When finished, the Prefix Hierarchy option box will open so that the nodes may be named.

Twist Joint: This specifies whether there is a twist joint in the fore arm.
Hand Control: A user specified hand control node may be created. Place it in the desired position relative to the skeleton. If left blank, a selection handle will be used.
Elbow Control: A user specified elbow control node may be created. Place it in the desired position relative to the skeleton. If left blank, a locator will be used.

Note
: This assumes that the leg is built in the side window with the foot pointing in +Z axis.

Setup Foot
This command sets up a leg and the attached foot.

To use, select the hip joint, followed by the ankle joint and Bonus Tools->Setup Foot. The command will select the ankle, ball and toe and add the appropriate controls. When finished, the Prefix Hierarchy option box will open so that the nodes may be named.

Heel Joint: This specifies whether the leg hierarchy has a heel joint between the ankle and ball joint.
Foot Style:
IK Handles: This sets up the foot with three IK handles and a control hierarchy.
Parent Constraint: This makes use of the new parent constraint. This allows for easy control between IK and FK. It uses only one IK chain so that the Move IK to FK command works smoothly.
Set Driven Key:
This foot uses a number of Set Driven Keys so that the user may roll the foot with one attribute.

Each of these options add control attributes to the foot control node.

Foot Control: A user specified foot control node may be created. Place it in the desired position relative to the skeleton. If left blank, a selection handle will be used.
Knee Control: A user specified knee control node may be created. Place it in the desired position relative to the skeleton. If left blank, a locator will be used.

Note: This assumes that the leg is built in the side window with the foot pointing in +Z axis.The script has some comments on how to change the setup in terms of the foot node and the poleVector locator.

Stretchy IK
This commands makes the selected IK handle's chain stretchy. It requires the user to specify the axis that points down the bones in the chain.

To use, select an IK handle and Bonus Tools->Stretchy IK.

Paint Emitters Tool
This tool allows you to paint emitters through the familiar artisan interface.

To use, select an object to paint emitters onto and Bonus Game->Paint Emitters Tool. A window will pop up that allows you to control the emitter attributes.


Create Stereo Camera
This command creates a stereo camera rig and panel layout for rendering stereo images.

To use, Bonus Game->Stereo Camera.


Create Sun Light
This command creates a sun light. This is basically a directional light which allows the user to control attributes such as latitude and longitude to simulate the sun.

To use, Bonus Game->Create Sun Light.


FTI Export
This commands generates FTI images for hyperShade icons.

The icon should be created in the front window from a single polygon mesh. Every edge on the mesh will be a line in the final icon. Coloring for the icon is taken from the color attribute of the shader on each face in the mesh.

Output Directory: The directory to write the image to.
File Name: The name of the image.
Extra Space: Amount of boder space to put around the image.

To use, Bonus Game->FTI Export.

Note: The easiest way to view the image is to give it the name of an existing icon, restart Maya and then create the node associated with the icon.


Select Cloth Panel Faces
This command selects the faces of selected cloth panels. This is particularly useful for assigning shaders.
 
To use, select a panel and Bonus Game->Select Cloth Panel Faces.

Thicken Cloth
This command gives a cloth mesh thickness. The selected mesh is extruded and then smoothed. Two attributes are added to the clothShape node:
To use, select a cloth mesh and Bonus Game->Thicken Cloth.

Quick Connect Attributes
This UI is accessed with CTRL + RMB in the channel box. It allows for the quick connection of attributes for any nodes in the scene.


3DS Import
When loaded, this plug-in will added the .3ds file format to the file import option box.

Fix Missing References
This script will fix all missing references in a scene. Starting with the specified file, it will recursively descend through the reference hierarchy opening all files and prompting the user for missing references. When a missing reference is found, the parent file it will be replaced in the parent file, and the parent file will be saved.

For the best results, the project should be set correctly before calling fixMissingReferences.

In order to minimize the number of files that need to be opened or loaded, this script may not update all preload settings. Fixing of preload settings should be done by the user after running this script.

WARNING:  This script will modify and overwrite the passed in file as well as any reference files!

Usage: fixMissingReferences( string $filename )

Other Scripts

The following scripts are included for command line usage:
bgLayeredBlendMode.mel
bgPolyColorWin
bgSelectClusterMembers.mel
bgTextureResolution.mel
bgToggleManips
edgeLength.mel
getVertFaces.mel
killLastScriptJob.mel
mipMapOff.mel
polyCleanLamina.mel
polyRotateUVsByVertex.mel
renameFileTextureNode.mel
renameSG.mel
toggle.mel
userSetup.mel    - sample file for automatic menu loading

Installation Notes

Note for those who have used Bonus Game with 4.0 or 4.5. The file structure has changed so that the Bonus
Tools are no longer directly in the user’s scripts and plug-ins directories. Some of these files have changed and
you will not see the improvements if they are still in the scripts and plug-ins directories. They should be removed.

Irix, Linux and Windows:

1. Extract the appropriate bonusTools60 archive to the user's maya home directory:

Sample Irix/Linux path:

/u/user_name/maya/6.0

Note for Irix/Linux users that the unzip command should be used with the following flags:

unzip -u -a
Sample Windows path:
C:\Documents and Settings\user_name\My Documents\maya\6.0
 The appropriate subdirectories should be maintained and the files within them.

2. Using a text editor, edit the bonusTools6.0 file from within the user's maya/6.0/modules directory. The bonusTools6.0 file has a sample line for each operating system and has this basic format:

+ bonusTools6.0 6.0 "absolute path to bonusTools6.0 directory"
Uncomment the line that starts with + by removing the //. Replace the user_name from that line with the login name of the user. Save the file.

3. Go on to Step 1 of For All Platforms.

Macintosh:
1. Extract the package from the disk image.

2. Double click the package and the files will be copied to /Users/Shared/AliasWavefront/maya/6.0

3. Go on to Step 1 of For All Platforms.

For All Platforms:
 
1. If you have a userSetup.mel file in your scripts path, open it in a text editor and append the lines from the userSetup.mel supplied with the Bonus Tools.

2. Restart Maya and set any of the Bonus Tools plug-ins that you wish to use to auto load.

Note that the contents of the BonusTools menu will vary according to which main menu set (Animation, Modeling, Dynamics, Rendering, Cloth) is active. You may change this behaviour with the Bonus Tools->Toggle Menu Style command.
3. Enjoy. You may refer to the bonusTools51.html file (located in the docs directory where the Bonus Tools are located) for an overview of the tools.

Note for those who have used Bonus Game with 4.0 or 4.5. The file structure has changed so that the Bonus Tools are no longer directly in the user’s scripts and plug-ins directories. Some of these files have changed and you will not see the improvements if they are still in the scripts and plug-ins directories. They should be removed.


Contributors (Past and Present)

Alex Ang
Andrew Cammarano
Bernard Kwok
Bert Van Brande
Cory Mogk
Duncan Brinsmead
Hideo Case
Hiroyuki Haga
Jack Liao
James Piechota
Jason Schleifer
Jerome Maillot
Jeyprakash Michaelraj
Jos Stam
Ken Taki
Kevin Pinchbeck
Martin Watt
Matt Baer
Michele Borghi
Mike Aquino
Ming Mah
Neehar Karnik
Quang Tran
Quoc Tran
Rick Kogucki
Rob Ormond
Roland Reyer
Steven Roselle
Takumi Takahashi
Ted Charlton
Tim Brown
Tom Harper
Tom Kluyskens
Tracy Narine
Vince Tourangeau
(There’s likely more and any missing names are accidental)