top of page
rigging base

Lesson 1 : Rigging basics

In this course, we will learn to adjust and utilize the primary tools, understand what a joint is, and delve into the fundamental basics of rigging.

We'll go through step-by-step procedures required to set up a character, all demonstrated through a practical case study.

Table of Contents

1. What is the Rigging ?
2. Procedure for building a Rig
3. Main tools for Rig
4. Practice on a object
5. 
Who to skin a soft mesh
6. Sources

1. What is the Rigging ?

The Rigging, is an essential process in 3D animation and modeling. It involves creating a virtual skeleton for a character or object, enabling smooth and realistic movement and animation.

​

The concept of rigging in the realm of 3D animation wasn't invented by a single individual at a specific time; rather, it evolved over time as the animation and visual effects industry developed.

​

The earliest forms of rigging emerged with the advent of computer animation in the 1970s and 1980s, coinciding with the development of the first animation and modeling software. During this period, artists began experimenting with creating basic structures to animate simple objects.

​

However, modern rigging, as we know it today with articulated skeletons and sophisticated controllers evolved over decades as 3D animation and modeling software became increasingly advanced. Software companies like Autodesk (with Maya), Maxon (with Cinema 4D), and others continued to develop more powerful and user-friendly rigging tools, enabling artists to create complex and realistic animations.

​

Thus, rigging doesn't have a single invention or specific inventor; rather, it's a continuous evolution based on technological advancements and the growing needs of the 3D animation industry.

first rig make by pixar for toy story

rig actual make by Disney's

2. Procedure for building a Rig

Rigging a 3D character involves several steps. Here's an overview of the main ones:

​

  1. Character Modeling: Firstly, create the 3D model of the character in modeling software such as Maya, Blender, 3ds Max, etc.

rigging
rigging

2. Skeleton Creation (Bone System):

Bone Placement: Create a skeleton by adding joints to represent the character's bone structure. These bones should be placed where the character's joints allow (shoulders, elbows, knees, etc.).

​

Bone Hierarchy: Organize the bones in a logical hierarchy to enable natural movements. For instance, the shoulder should be connected to the arm, the arm to the forearm, and so on.

joint placement
placement joint

3. Adjustment and Control:

Controllers: Create visual controllers (usually simple geometries like spheres or cubes) to manipulate the joints. These controllers will be used to animate the character.

​

Setting up Constraints: Use constraints to link the controllers to the bones, enabling easy and intuitive control of the skeleton.

controller plcement
controller placement

4. Skin Deformation:
Skinning: Associate the 3D model with the skeleton bones through a process called skinning. This enables the model to react to the bone movements. Software often provides tools to adjust how the character's skin responds to bone movements to avoid unwanted deformations.

paint weight
paint weight

5. Testing and Adjustments:

Animation Tests: Test the rig by animating the character to observe its behavior. Adjust skinning weights, constraints, and controllers for more natural movements.

rigging carater

6. Optimization:
Resource Efficiency: If needed, optimize the rig to reduce software workload and enable smoother animations.

3. Main tools for Rig

The rigging process in Maya involves creating a skeletal structure, controls, and deformers to animate a character or object. Joints play a fundamental role in this procedure. However, before practicing, one needs to understand the basics of rigging and the main elements that will be used to create rigs.

​

A joint is a fundamental element of a character's or object's skeleton. It operates as an articulation point, enabling the deformation of associated geometry when moved or animated.

joint maya
joint
bones maya
bones

Thanks to the joint, we can create structures for the legs/arms/other, allowing us to animate objects in two different ways. The IK/FK (Inverse Kinematics/Forward Kinematics) system is a technique used in rigging to provide greater flexibility in animating characters or articulated objects in Maya.

​

​

FK (Forward Kinematics): This is an animation method where each joint is controlled individually. The animator directly manipulates the rotations of the joints to create movements. For example, to animate an arm, the animator adjusts each joint (shoulder, elbow, wrist) to achieve the desired pose.

system FK

IK (Inverse Kinematics): This method involves the movement of one end (for example, the hand) controlling the position of joints closer to the root (like the shoulder and elbow).

This allows direct positioning of the end, with the joints automatically adjusting to reach that position. For instance, to place a character's hand on a table, the animator moves the hand, and the IK automatically adjusts the arm's joints to achieve that position.

system IK

Through rules, we can create systems that combine the IK and FK systems to establish FK switch systems, allowing the animator to switch between IK and FK systems as needed.

The IK/FK Switch system is a technique that combines the advantages of IK and FK within a single rig, providing the flexibility required to achieve more natural and precise animations.

​

Typically, these switches are present on characters at the leg and arm levels, enabling a high degree of versatility in how the limbs move.

rig switch IKFK

In rigging, we can also utilize Locators. Locators can function as visual controllers to manipulate the transformations of joints, deformers, or other rig elements. For instance, a locator can represent a character's hand, facilitating control during animation.

​

Locators can be grouped to create complex controls. By combining multiple locators, you can create more sophisticated controls to manipulate specific parts of the character.

​

They can serve as markers for specific positions. For example, a locator can mark the point of contact between a character and an object, easing the animation of that interaction.

​

Locators can be connected to rig elements to trigger specific actions. For instance, a locator can be linked to a deformer to control the intensity of the deformation.

​

​

Locators are versatile and essential tools in creating complex rigs, greatly simplifying the animation and control process in Maya.

locator

In the realm of rigging and animation, a "controller" is an object used to manipulate and control the movements, transformations, and deformations of a rig, character, or object within software like Maya.

Roles of controllers:

1. Joint manipulation: Controllers are often linked to specific joints of a skeleton. They allow the animator to intuitively manipulate these joints.

​

2. Animation facilitation: They provide a visual and interactive interface for the animator, making it easier to create poses and movements.

​

​

To create a controller, you'll need the controller itself, whether it's a curve, a shape, or another object, and then a group that will act as its parent. This group enables you to position your controller wherever needed. Controllers are often named with a prefix "c_" followed by the controller's name, while the parent group may have a prefix like "root_".

controler maya

It's crucial to note that the controller, in my example, the "c_controller", must have specific attribute values. It needs to be at 0 in translation, 0 in rotation, and 1 in scale.

You're free to move the parent group root as much as you want, but never the controller. The "c_controller" should only be moved by the animator. it's this controller that will be used to keyframe the character.

don't do this                                                      

                                                  do this 

controller maya
make controller

Attention, when creating a rig, it's crucial never to freeze transformations on your created elements. You should always leave them untouched because if you freeze-transform an element like a controller or a group, Maya will have to recalculate the shape or the group, potentially causing offsets or issues in your work due to this.

​

Therefore, it's imperative that if you want to position an element, you create a parent group root for all the elements you wish to place in the scene.

After installing the rig for your object or character, it's important to determine whether your object is rigid or deformable. If your object is non-deformable, like a cup or a phone, or if it's deformable, such as a person, a strap, a cable, fabric, etc.,

 

this distinction will influence the skinning process. We won't approach the skinning of these objects in the same way.

Skinning, often referred to as 'skinning' or 'binding,' is a crucial step in the rigging process in Maya. It involves attaching or binding the geometry of a character or object to the skeleton joints to enable realistic deformation during animation.

 

Before starting skinning, ensure that the skeleton joints are ready and correctly positioned relative to the geometry to be animated. Select the geometry you want to apply skinning to, whether it's a mesh, a character, or any other object you wish to animate.

​

To attach the geometry to the joints, use the 'Skin > Bind Skin' tool in Maya. There are different skinning methods, such as smooth bind, each with its own parameters and effects.

bind skin

To skin a rigid object, you'll need to select at least one joint and at least one mesh for skinning. Then, in the bind skin settings, you'll need to change the maximum influence to 1.

bind skin

Then, to create deformable objects, you'll need to have at least 2 joints to establish skin deformation between them. In the bind skin settings, you'll need to change the maximum influence, setting it to a minimum of 2.

bind skin

The "Max Influences" parameter in Maya's "Bind Skin" tool determines the maximum number of joints that can influence a single point (or vertex) of the geometry. It controls how many joints movements will affect the deformation of a specific area of the geometry.

When applying skinning to geometry using the "Bind Skin" tool, each point of that geometry is associated with joints from the skeleton. The "Max Influences" parameter sets the limit on the number of joints that can influence a specific point.

Let's take a cylinder as an example.

 

If I set the max influence to 1, the vertices could be influenced by only one joint, resulting in this outcome.

rigide skin

Now, in the same scenario but changing the max influence, we'll have deformations that appear much smoother and softer. If I set the max influence to 3, the vertices can be influenced by only three joints at a time.

soft skin

4. Practice on a object

To support the course, I'll go step by step through rigging a relatively simple object. This will help explain the rigging process and guide you on choosing the appropriate tools based on different situations.

robot modeling
robot modeling

We'll use this small robot to create our very first rig. The first thing to do is to check the modeling to verify its symmetry, orientation, confirm if it's been freeze-transformed, if the pivot is at the center of the world, and ensure the topology is sufficiently suitable for rigging, etc. I refer you to my course on how to optimize a modeling scene for rigging.

robot rig
robot rig

As you can see in these images, our model is perfectly symmetrical and everything is clean. The object is correctly oriented along the X-axis, with the Z-axis pointing forward. From here, we'll begin placing our joints, starting with those for the arms and legs.

joints
joints

The joints need to be placed right at the center of the rotating object. In our example, these are the discs that will rotate, so we need to position the joints precisely in the middle of these discs. In this setup, we have 3 sequentially parented joints.

​

We arrange 3 joints sequentially to later create an IK system. For this system to work, the joints need to be positioned and oriented in a specific way. All joints must be oriented along a single axis only one. Additionally, except for the first joint, all the others should have a single axis and single translation.

It's crucial to adhere to this setup, as otherwise, the IKsystem won't work at all.

don't do this                                                      

                                                  do this 

ik system
ik system

From here, before setting up the IK system, one essential step is to freeze the joint transforms. Yes, I did mention earlier to never freeze-transform anything in your rig scene, but there's an exception for joint chains in IK systems. To ensure the system works properly, we need to freeze the joint transforms.

​

After freezing joints, we can create the IK system by doing this.

rig ik system

From here, you've done the bulk of the work for the arm. Now, it's time to create controllers to make it user-friendly for the animator. Of course, organizing and tidying up your rig is also essential. To do this, we'll create two controllers:

one to manage the IK and another to control the IK's orientation through a constraint because without this, you won't be able to direct the orientation of your arm.

​

Once the controllers are created and positioned, we'll hierarchize and organize the scene and set up the necessary constraints to ensure everything functions correctly.

rig ik controller

Once you've completed this for the arm, you simply need to do the same for the leg, After finishing the leg, you can replicate the process for the other side of the core to have both arms, both legs, and each controller. At the end, you should have a hierarchy that looks like this, with this nomenclature.

​

(I've added color to the curves and named the controllers for easier visualization)

rig robot

Once you've done that, you've tackled the toughest part. Now, you just need to handle the hips, head, and torso. It's not complicated because these are relatively simple pieces to move. You can create basic controllers with joints inside.

Place the controllers precisely where you want the robot to orient or translate for each element you want to move. In our case, the head should rotate, the body should turn, and the pelvis should move in rotation and translation.

controler rig

One thing to keep in mind when placing controllers is to orient them correctly. Objects have axes, and when we rotate the controller, we rotate it along an axis. However, it's crucial to be very attentive to the axis the animator will use to rotate the object. Incorrectly positioned controllers can lead to issues due to gimbal lock.

​

Gimbal lock is a phenomenon that occurs when using Euler rotations in three-dimensional coordinate systems. It's a common problem in handling objects in 3D, including rigging and character animation in software like Maya.

Gimbal lock happens when there's a loss of degrees of freedom in a three-axis rotation system (exemple, rotation on the X, Y, and Z axes). This can lead to unpredictable behavior or locking when performing rotations in a certain order.

​

That's why it's crucial to orient the controller along the correct axis. Typically, we use the X or Z axis as the primary rotation axis in our controllers. For the body and head, I've oriented my controllers like this to allow the animator to rotate the object along the X axis and avoid gimbal lock.

gimball lock
rotation controler

We're almost at the end of the rigging process. We've created all the controllers necessary to animate the robot minimally. Of course, we can always add more and further refine the rig to create increasingly complex and optimized systems, reducing the animator's workload.

​

All that's left is to assemble the various controllers we've created, organize their hierarchy, and establish constraints that will allow everything we've done to work together seamlessly.

constrainte

At this point, you've completed 90% of the rig. All that's left is to "bind skin" all the meshes to the joints so that the meshes can move with the rig. To do this, use the "Bind Skin" tool. In our example, rigging a robot in body mode, we'll bind all the elements with a maximum influence set to 1.

​

To skin, select the mesh and the joint that will deform it. Repeat this process as many times as needed to skin all the elements you want.

constrainte rig

Once you have all the meshes, you're supposed to achieve this result. You've just created your very first rig.

Of course, as you continue learning and developing your rigging skills, you'll be able to rig more complex characters and create more controllers and functionalities. This will make it easier for animators to animate characters or objects as effortlessly as possible.

rig caracter

If you want to delve deeper into this character's rig, you can create FK/IK systems for the legs and arms to switch between them.

Develop a system that keeps the foot parallel to the controller because when moving the foot controller, it follows the movement of the shin. And if you want to take it further, you can set up a system for the cannons to aim precisely within the scene.

5. Who to skin a soft mesh

When it comes to rigid skinning, the skinning step isn't really important because it's quite straightforward. However, when we switch to Soft Skin, it becomes crucial to understand the tool and how to paint and begin skinning an object to achieve good and realistic deformations on our objects or characters.

​

Weight painting the geometry for skinning is a critical step in achieving natural and smooth deformations in a rig. Here's a general approach to correctly "paint skin weights" in Maya. Before painting, ensure that you've properly created a bind skin. Then, we can start by using the "Paint Skin Weights" tool.

To paint skin weights in Maya, we use the Tool Settings. This tool allows painting influences of vertices on each joint. We can paint with a value ranging from 0 to 1.

​

If you paint with a value of 0, the painted vertex won't be influenced by the selected joint.

Conversely, if you paint with a value of 1, the painted vertex will be fully influenced by the selected joint.

 

By specifying these values on vertices, we can create customized influences for each joint on every vertex. This ability enables us to change the influence of all vertices concerning the joints.  Here's a visual example that might help clarify.

paint tool maya

I recommend enabling "Use Color Ramp" as it significantly improves visibility of the skin values. Also, it's important to note that when you paint on an object, a vertex may be influenced by multiple joints. This is due to the "Max Influences" setting. Increasing the "Max Influences" allows you to paint the same vertex across multiple joints.

paint tool maya

To begin, you'll need to paint each joint's influence on the vertices you want it to affect. Painting them with a value of 1 will create raw deformations.

skin before modification 

paint tool maya

skin after modification with a value of 1

paint tool maya

deformation test 

max influence

Afterward, you'll need to smooth out all transitions between the joints to create pleasing deformations. If you paint directly without going through this foundational step, your deformations will lack precision, appearing vague and quite destructive.

​

To achieve this, switch your paint operation to "smooth", and for each joint, click on "flood" once.

skin before smoothing

skin tool

deformation test 

skin after smooth

paint skin weight
paint skin tools

After these two steps, all that's left is to play with your character, move the controllers, shift the limbs, and test the maximum limits you can achieve with your rig. Address any issues that arise due to the skinning, refine them, and enhance your rig to make it as flawless as possible.

skin after correction for beautiful deformation

paint skin weight tool

Another thing to keep in mind is that if you struggle to achieve desired shapes and deformations, it might be due to a lack of joints. Indeed, having too few joints can significantly impact the behavior you want from your rig. Conversely, if you have too many joints, it can be challenging to achieve a perfect skin on your object. Finding the ideal number of joints for your rig is crucial to ensure it remains flexible and easy to skin.

​

Here's an example below with a default skin with a maximum influence of 3, where we only change the number of joints.

few joints create poor deformation

soft skin

choose the ideal number of joints for good deformation

soft skin

I hope this lesson has served you well !

6. Sources

bottom of page