Skip to the content.

BigRig - Rig Tools for Autodesk Maya


Version 1.3
March 2022

Compatibility: Maya 2019, 2020, 2022, 2023 - Python 2.7, Python 3

The latest release of BigRig is available for download here.

BigRig is a small rigging tool for Autodesk Maya developed by Roberto Menicatti, extending an initial code by Eleonora Vanin and Riccardo Stincone. It started as a school side-project at BigRock Institute of Magic Technologies and it’s not meant to be an alternative to the other rigging plugins you may find on the web. At the moment, further development is not planned to happen on a regular basis.

The script provides some quick commands to create FK and IK chains, it helps in rigging characters’ arms, hands and legs and provides useful functionalities to rename nodes and handle control curves, speeding up the process of mirroring, merging, replacing, grouping and coloring curves.



Quick Guide

To rig the limbs of your character, place and orient 5 joints on the left leg mesh and 3 joints on the left arm mesh as in the following figures, then freeze their rotations.

Legs
Fig.1 - Leg joints
Arms
Fig.2 - Arm joints

Add two locators, called L_Toe_Roll_LOC and L_Heel_Roll_LOC where you want the rotation pivots for toe roll and heel roll to be.

Select the 5 leg joints and run Rig Leg and Mirror to mirror the left leg joints onto the right one, rename all of them, and rig both legs with FK and IK controls.

Select the shoulder joint and run Rig Arm and Mirror to mirror the left arm joints onto the right one, rename all of them, and rig both arms with FK and IK controls.

Run Create Hand Joints for the left side, then position and orient the newly created finger joints as in figure and freeze their rotations.

Hand

Fig.3 - Hand joints

Run Rig Hand and Mirror to mirror the left hand joints onto the right one, rename all of them, and rig both hands with spread, cup, fan and curl controls and attributes.

In all of the above cases, insert a scale factor for the control shapes and tick the side where you placed the joints before running the relative commands.

Run Open Hand Tuner if you want to tune the “weights” of the hand spread, cup, fan and curl.

Run Create Shoulder Twist and Create Elbow Twist on both arms if you want to add twist.

Use the command Replace Curve and Color Selected Controls to customize the controls created by the script.

On the menu bar, click on Help → Help to read a description of each command directly from BigRig interface, or Help → Online Guide to be redirected to this page. Read the following Sections to have a better understanding of each and every step and function.

Download and Install

First, download the latest version of BigRig here. After downloading the zipped folder, uncompress it wherever you want and move the inner content, i.e. BigRig folder, to Maya scripts folder. Depending on how you unzipped the folder, you may have two nested BigRig folders; make sure to move the inner one, which is the one containing the Python files.

You cand find Maya scripts folder here:

Then, open bigrig_shelf.py with a text editor, copy the few lines of code you will find and paste them into Maya Script Editor. Click on File → Save Script to Shelf… to add BigRig to the active shelf. Finally, click on the new shelf button to run BigRig.

Optionally, you can edit the shelf icon and use the BigRigGUIIcon.svg file that you can find inside the icons folder of BigRig folder.


Interface

BigRig interface is shown in the following figure. The window is dockable anywhere within Maya interface.
The Help menu consists of the following items:

Interface


How to Rig Character Limbs with BigRig

First of all make sure that your character is correctly oriented in Maya world, i.e. with the face pointing towards positive Z axis (from Maya front view you should see character’s front). Beside being good practice, it is also necessary for the Rig Leg command to work.

In order to orient the joints correctly we suggest the use of Coplanar Joint Orient script by Ilya Seletsky. If you’re using a version of Maya based on Python 3 (Maya 2020 or newer), then use our update of Coplanar Joint Orient - Py3.

Rigging the Legs

Start creating a joint chain by placing the hip, knee, ankle, foot and toe joints on the character’s left or right leg. You don’t need to rename them, as they will be automatically renamed by the script.
Use Coplanar Joint Orient script to orient the joints by selecting X as the aim axis, Z as the turning axis and make sure that the Y axis of the foot joint is directed upwards, as Maya world Y axis. Orient the toe joint as its parent joint: click on Maya menu Skeleton → Orient Joint (options), tick Orient Joint to World and click Orient. Then freeze the rotations of the joints.
Create two locators, called L_Toe_Roll_LOC and L_Heel_Roll_LOC (replace L_ with R_ if you choose to start with the right leg) and place them where you want the rotation pivots for toe roll and heel roll to be (refer to Fig. 1).

Then:

In order to know which scale factor to use, you can create a temporary Nurbs circle, match it with a joint and scale it until it reaches the desired size. Copy the scale value from the Channel Box, delete the circle you just created and paste the scale value inside BigRig.

Both legs are now rigged with FK and IK controls, which can be switched from the attribute of Foot_Switch_CTRL placed at the back of each ankle joint.

If the command is run on Maya 2020, the knee twist can be controlled from the Knee Twist attribute of the foot control in the Channel Box. You can turn off the visibility of the knee control shape from the foot control.

If you want to change any of the control curves created by the script refer to Replacing a Control Curve Section.

Rigging the Arms

Start creating a joint chain by placing the shoulder, elbow and wrist joints on the character’s left arm. You don’t need to rename them, as they will be automatically renamed by the script.
Use Coplanar Joint Orient script to orient the joints by selecting X as the aim axis, Z as the turning axis and make sure that the Y axis of the joints is pointing towards the inner side of the arm bend. Orient the wrist joint as its parent joint: click on Maya menu Skeleton → Orient Joint (options), tick Orient Joint to World and click Orient (refer to Fig. 2). Then freeze the rotations of the joints.

Then:

In order to know which scale factor to use, you can create a temporary Nurbs circle, match it with a joint and scale it until it reaches the desired size. Copy the scale value from the Channel Box, delete the circle you just created and paste the scale value inside BigRig.

Both arms are now rigged with FK and IK controls, which can be switched from the attribute of Hand_CTRL placed at the back of each wrist joint.

Run the commands Create Shoulder Twist and Create Elbow Twist if you want to add twist joints to the upper arm and the forearm.

If you want to change any of the control curves created by the script refer to Replacing a Control Curve Section.

Rigging the Hands

After rigging both arms with either the Rig Arm command or the Rig Arm and Mirror command, you can run the command Create Hand Joints by selecting either the left or right side on BigRig.

This command creates five joint chains parented to the wrist joint of the selected arm, named as in the following figure.

Hand Joints

Keep the finger wrist joints where they are, at the wrist joint position, place the base, mid and tip joints on the finger knuckles and the finger NULL joints at the tip of each finger.

Use Coplanar Joint Orient script on each finger to orient the joints from base to NULL by selecting X as the aim axis, Z as the turning axis and make sure that the Y axis of the joints is pointing towards the inner side of the finger bend. Orient the finger NULL joint as its parent joint: click on Maya menu Skeleton → Orient Joint (options), tick Orient Joint to World and click Orient. Then freeze the rotations of the joints.

Rerun Coplanar Joint Orient on each finger for the finger wrist and the base joint. You don’t want to include the finger wrist joint in the previous step, since it is not aligned with the real finger joints. (Refer to Fig. 3).

Then:

In order to know which scale factor to use, you can create a temporary Nurbs circle, match it with a joint and scale it until it reaches the desired size. Copy the scale value from the Channel Box, delete the circle you just created and paste the scale value inside BigRig.

The control of each hand, L_Hand_CTRL and R_Hand_CTRL, is now enriched with attributes to control the curl, the spread, the backward fan, the forward fan, the palm cup a the palm spread of the hand as well as the curl and the spread of each individual finger. Control curves are also created for each finger knuckle joint and their visibility can be toggled from an attribute in the hand control.

If you want to change any of the control curves created by the script refer to Replacing a Control Curve Section.

The behavior of each attribute is handled automatically via nodes, but the default values in the different MultiplyDivide nodes may not be suitable for the character mesh you are using. In order to tune these values you could open the node editor and look for each specific node, but this would be a tedious and prone to error task. Run BigRig command Open Hand Tuner to open a window showing all the multipliers for each required node, as displayed in figure.

Hand Tuner

When the hand is in its default pose, no attribute is active, so even if you changed any of the parameter in the Hand Tuner window you wouldn’t see any difference. Before starting to tune the different parameters, change the value of the hand attribute you want to tune in the Channel Box, in order to see how the pose is improved.

In order to change a parameter you can either:

If you want to copy the values entered for one side to the other side, click on the Mirror values Left to Right or Mirror values Right to Left accordingly. Only the values of the active tab are copied. Signs are reversed automatically where necessary.

If you want to reset the parameters to their default values, click on the Reset button. Only the values of the active tab are reset.

Replacing a Control Curve

If you want to change one of the control curves created by the script:

If you want to replace the corresponding curve on the other side of the rig too:


Commands

Generic Commands

Arm Rig

Hand Rig

Leg Rig

Control Commands

Shapes