Download as pdf or txt
Download as pdf or txt
You are on page 1of 66

Rigging 3D Models

© 2014 Aptech Limited

All rights reserved.

No part of this book may be reproduced or copied in any form or by any means – graphic, electronic
or mechanical, including photocopying, recording, taping, or storing in information retrieval system or
sent or transferred without the prior written permission of copyright owner Aptech Limited.

All trademarks acknowledged.

APTECH LIMITED
Contact E-mail: ov-support@onlinevarsity.com

Edition 1 - 2014

Disclaimer: Arena Multimedia is a registered Brand of Aptech Ltd.


Preface

This book introduces you to Rigging 3D Models with Maya.

This module describes the elements of rigging. It introduces the basic concepts of creating skeleton
and joint hierarchies. It also describes how to apply kinematics to move the joints in a skeleton and
introduces a collection of deformation tools.

The ARENA Design team has designed this course keeping in mind that motivation coupled with
relevant training and methodology can bring out the best. The team will be glad to receive your
feedback, suggestions, and recommendations for improvement of the book.

Please feel free to send your feedback to the ARENA Design team at the Head Office, Mumbai.

ARENA Design Team


Table of Contents
Introduction to Rigging
Rigging
Elements of Rigging
Summary
Exercise

Joint Hierarchies
Introduction to Joint Hierarchies
Creating a Joint Hierarchy
Gimbal Lock
Joint Display Size
Adding Extra Joints
Orienting Joints
Naming Joints
Mirroring Joints
Connecting and Disconnecting a Joint Chain
Reroot Skeleton
Summary
Exercise

Inverse Kinematics and Forward Kinematics


IK
IK Handles and Solvers
FK
Constraints
Full Body Inverse Kinematics (FBIK)
Custom Attributes
Summary
Exercise

Skinning Geometry and the Maya Muscle System


Introduction to the Skinning Geometry and the Maya Muscle System
Binding Geometry
Skin Weights
Maya Muscle System
Sliding Weights
Collision
Summary
Exercise

Answer Key

Iconography

: Note

: Tip

: Quick Test

: Quick Answers

: Exercise Answers
Se ssi on 1
Introduction to Rigging
Learning Outcomes
In this session, you will learn to:

 Define rigging
 Describe the elements of rigging

1.1 Rigging
Rigging refers to the process of animating a character model and creating the desired motion. For
example, it can be a character model bending sideways, running, jumping, or adding various
expressions on the face such as smiling or frowning. So, through rigging, various deformations can be
created. Figure 1.1 shows some of such deformations.

Figure 1.1: Deformations

A good knowledge on skeletal anatomy makes the rigging process easy and helps create realistic
character motion. Maya includes a sufficient character skeletal setup that includes kinematics. This
means that a group of controllers can be used to move a character without working on individual joints.

1.2 Elements of Rigging


To perform rigging, it is important to understand its elements. Following are the elements of rigging:
 Skeleton
 Weights
 The Maya Muscle
 Kinematics
 Character Sets

1.2.1 Skeleton
A skeleton provides a structure to any model. Figure 1.2 shows a skeleton.
Joints and bones together form a skeleton. To create a skeletal system, joints are used to match the
basic shape. Joints in turn are connected by bones. Joints on the skeleton determine how the model
moves. Bones determine the relationship between joints. Figure 1.2 shows the joints and bones of the
skeleton. In Figure 1.2, the circles are the joints and the triangle shapes are the bones.

Figure 1.2: Skeleton

Before rigging a model, it is important to:

 Set up a perfect skeleton


 Place the joints correctly on the skeleton

This gives a realistic motion to the model when it moves, bends, or deforms. This also means that
skeleton and joints together define the movement of characters.

However, a real body, such as human body and a computer generated 3D model work differently. For
example, in a real body, muscles move the bones in a skeleton while in a 3D model, muscles deform
in response to the movement of bones. In addition, a 3D model does not require the exact number of
bones to define the shape. This makes it extremely easy to set up models in Maya. Since Maya
efficiently merges the effects of bones on the deformed skin, it is easy to work with only few joints.

Joints are hierarchical. This means that there are parent and child joints. A joint above a bone is
always a parent joint and joints below the bone are all its child joints. Rotating a parent joint rotates all
the child joints. When creating a parent joint, the bone is aligned to form a child joint. In this case, the
pointed end of the triangle points to the child joint. Figure 1.3 highlights the parent and the child joints.
Figure 1.3: Parent and Child Joint

Click here to know more about setting up a skeleton by retargeting character animation.

1.2.2 Weights

Applying weights is an important part of the rigging process. Weight refers to the influence of a joint
on a vertex and CVs in NURBS. This influence refers to the level of deformation. For example, to
show a human model sitting, the level of influence will be more on the knees than on the hips.
Similarly, when the model is standing, the influence will be more on the feet than on the knees or the
thighs. The deformation can be controlled by adjusting the weights. Once default weights are applied,
they can be redefined using the Muscle Paint window. Figure 1.4 shows the Muscle Paint window.

Figure 1.4: Muscle Paint Window

After setting weights, the weight influence on the model can be seen in the timeline. The area or
points on the skin move where weights are applied.

1.2.3 Maya Muscle System

The Maya Muscle System is a set of tools to help build muscle objects for the character rigs. This
toolset is available since Maya 2008 Ext.1 and can be found on the Muscle tab of the interface. Figure
1.5 shows the tools on the Muscle tab.
Figure 1.5: Tools on the Muscle Tab

The Maya Muscle System deforms the geometry and simulates the behavior of actual muscles such as
on contraction, stretching, shaking, and sliding. It allows multiple end shapes on such movements.
Figure 1.6 illustrates certain muscle forms.

The Maya Muscle System includes independent displacement features, such as force, relax, and
smooth, to create other deformation effects. It also helps paint weights. In addition, a NURBS surface
can be converted to include a Muscle Object shape node to connect to the Maya Muscle skin deformer.

The toolset includes both simple controls, such as controls to walk and cycle and advanced controls
such as controls to jiggle, slide, and stretch muscles. However, to set up a muscle system on a
model, it is important to understand the anatomy well. This will help understand the way muscles are
connected in the body.

Figure 1.6: Muscle Forms

Note

An existing weight of an object can be transferred to the Maya Muscle System. This means
that existing weights can be used with the deformation features.

1.2.4 Kinematics
Maya includes kinematics to move and pose a model. Kinematics is a system of specifying motion to
the skeleton. Maya includes the following types of kinematics:
 Forward Kinematics (FK)
 Inverse Kinematics (IK)

Each kinematics suits a particular type of motion.


 Forward Kinematics (FK)
It is best suited to create a non-directed motion, such as model of an animal wagging a tail or a walk
cycle. FK calculates the position of the model at a specific time from the position and orientation of the
object. Any information on the joints of the model is also considered in the calculation.

FK is used to rotate individual joints in the skeleton such as shoulder joint. When individual joints are
rotated or moved, joint chains can be posed and animated. This means that when a joint is moved, it
affects that joint and any joints below it in the hierarchy. Figure 1.7 highlights the area where FK allows
the animal model to move the tail up and down. In Figure 1.7, the white highlighted joint is the parent
joint where FK is applied. The purple highlighted joints are the child joints.

Figure 1.7: Parent Joint where FK is applied

Note

Do not use FK to animate a complicated skeleton.

 Inverse Kinematics (IK)


It is best suited for a goal-directed motion, such as walking or cycling. This determines the movements
of interconnected parts of a model. For example, in walking, the entire limb is moved. Figure 1.8 shows
IK applied to the right leg of the model so that it can bring the leg forward.

To apply IK, an IK handle is used, which is an object. When this object is selected and moved, it affects
and rotates all the assigned joints. So, moving an IK handle helps pose an entire joint chain. Figure 1.8
highlights the IK handle. The IK handle helps control the motion of an object. It can be applied to any
part of joints in the chain. To animate, you need to set the key frames on the IK handle. A joint chain
that includes an IK handle is called an IK chain. It has a start joint and an end joint. To move them, IK
handle needs to be moved. Figure 1.9 shows an IK chain.
Figure 1.8: IK on the right leg Figure 1.9: IK chain

1.2.5 Character Sets

The node Character Set in Maya brings together attributes of all objects you want to animate. The
amount of objects and keyframes while using for animating a character, are hence better organized
and minimized. These characters can vary. For example, a robot or an automobile.

The Character Set feature of Maya makes animation easier as it brings all the attributes of a
character in one place. This makes your task of setting up a character and adding animations easier
and faster. Using Maya’s animation feature, you can just work on a character without worrying about
the technical details of the character’s setup. Figure 1.10 shows animation created using Character
Set in Maya.

Figure 1.10: Animation Using Character Set in Maya

Animation becomes more convenient if done by defining a Character Set in Maya, as all attributes of
a character are brought together in one place. Besides, you can use Maya’s animation features to
work on the character and not on separate objects that makes the character.

You have two options when creating Character Sets. Either you can first set creation options and
then create a Character Set, or immediately create a Character Set with the currently set creation
options.

Here are the steps to use the Character Set feature:

1. Select the objects you want to include in the Character Set.

2. Use the options already set in the Create Character Set option.
3. Select Character  Create Character Set. Figure 1.11 shows the user interface of Character
Set.

Figure 1.11: Character Set User Interface

Quick Test 1.1

1. Weights provide structure a model. (True/False)


2. In a skeleton, circles represent __________.
Child Joint Joints Parent Joints Bones
3. Rotating a parent joint rotates all ________ joints.
Parent Child Skeleton Bones
4. Once default weights are applied, they can be redefined using the ____________
window.
Muscle Paint Forward Kinematics Inverse Kinematics Character Set

1.3 Summary
In this session, Introduction to Rigging, you learned that:

 Rigging refers to the process of animating a character model and creating the desired motion.
 A good knowledge on skeletal anatomy makes the rigging process easy.
 Maya includes a sufficient character skeletal setup that includes kinematics.
 Joints and bones together form a skeleton.
 Weight refers to the influence of a joint on a vertex and CVs in NURBS.
 The Maya Muscle System is a set of tools to help build muscle systems objects for the character
rigs.
 Kinematics is a system of specifying motion to the skeleton.
 Forward Kinematics and Inverse Kinematics are the two types of kinematics in Maya.
 The Character Set feature of Maya makes animation easier as it brings all the attributes of a
character in one place.
1.4 Exercise

1. Which one of the following together forms a skeleton?

Joints and weights

Weights and kinematic

Parent joint and child joint

Joints and bones

2. Which one of the following includes the controls that deform the geometry?

Kinematics

Maya Muscle System

Weights

FK

3. What does weight influence refer to?

Level of rotation

Level of kinematics

Level of deformation

Level of contraction

4. Which one of the following is true for FK?

It is best suited to create a non-directed motion.

To apply FK, an IK handle is used.

It determines the movements of interconnected parts of a model.

It is best suited for a goal-directed motion.

5. Which one of the following shapes represents joints in a skeleton?

Triangles

Circles

Squares

Rectangles
Se ssi on 2
Joint Hierarchies
Learning Outcomes
In this session, you will learn to:

 Describe joint hierarchies


 Create joint hierarchies

 Change joint display size

 Name joints

 Mirror joints

 Orient joints

 Connect and disconnect a joint chain

2.1 Introduction to Joint Hierarchies


Skeleton in Maya is made up of joints and bones. These joints are hierarchical in nature where each
joint in a skeleton is a parent joint and a child joint. A joint at the top of a bone is always a parent joint
and all joints at the bottom of the bone are always child joints. Moving a parent joint moves all the
child joints. A skeleton also has a root joint from where all joints emerge. This root joint is the highest
joint. Moving the root joint moves the entire skeleton.

Figure 2.1 highlights the root joint, parent joint, and child joints.

Figure 2.1: Root Joint, Parent Joint, and Child Joints

For detailed step-by-step procedure, refer to demo Skeleton from: eResources 4 Me>> My
Varsity>> Rigging 3D models>> Show Me How
2.2 Creating a Joint Hierarchy
Activate the Joint Tool from the Animation tab and click the scene to create a joint. Each time the
scene is clicked, a new joint is added. This new joint becomes a parent joint to the previous joint.
When joints keep getting added, they reside in the same plane. Figure 2.2 highlights the Joint Tool
on the Animation tab.

Figure 2.2: Joint Tool on the Animation Tab

2.2.1 Joint Chain

When joints are added to an existing joint, it forms a joint chain. These joints are connected by bones
(we also call them references in Maya) in the joint chain. To finish the joint chain, press the ENTER
key. This also exits the Joint Tool. To create another joint chain, activate the Joint Tool and keep
clicking the scene till the desired joint chain is formed.

A well designed skeleton includes various joint chains that are organized into a complex hierarchy.
Figure 2.3 illustrates joint chains for limbs and joint chains from hip to foot.

A joint chain can branch off from another joint chain. For example, to create a structure for a limb,
joint chain needs to be branched off. Figure 2.4 shows branching in a joint chain.

Figure 2.3: Joint Chains in a Well-Designed Skeleton

Figure 2.4: Branching in a Joint Chain


Click here to know more about Joint Limit Information required to create joint chains.

For detailed step-by-step procedure, refer to demo Outliner from: eResources 4 Me>> My
Varsity>> Rigging 3D models>> Show Me How

Note

Joints should be approximately placed based on the real joint positions of the character.
For example, for a human model, joints should be placed at all important points of
movement, such as spine, elbows, and knees.

Quick Test 2.1

1. A skeleton has a _____________ from where all joints emerge.


Parent Joint Child Joint Root Joint Chain Joint
2. Press the ___________ key to exit the Joint Tool.
End Activate Enter Delete
3. Joints should be approximately placed based on the ______ joint positions of the
character.
Real Required Pre-requisite Decided

2.2.2 Determining Joint Behavior

Joints behavior can be manipulated by controlling the joint attributes. To work with joint attributes, it is
equally important to understand anatomical joint types. Following are some of these anatomical types:

 Hinge Joint: This rotates about only one of its local axes. Examples of a hinge joint are knee,
elbow, and ankle joints in human beings.

 Ball Joint: This rotates about all three of its local axes. Examples of a ball joint are shoulder and
hip joints in human beings.

 Universal Joint: This rotates about only two of its local axes. Example of a universal joint is wrist
in human beings.

For detailed step-by-step procedure, refer to demo Joint Chain from: eResources 4 Me>> My
Varsity>> Rigging 3D models>> Show Me How

2.3 Gimbal Lock


At times, certain objects do not rotate as desired because of the Gimbal lock issue. Gimbal lock occurs
when two rotational axis points the same direction. As a result, the resulting movements of both the
rotations are the same.

To avoid Gimbal lock, the joint hierarchy should be well defined in a skeleton.
For detailed step-by-step procedure, refer to demo Gimbal Lock from: eResources 4 Me>> My
Varsity>> Rigging 3D models>> Show Me How

2.4 Joint Display Size


Use the Joint Size command to control the joint size. To access the command, in the viewport window,
click Display  Animation  Joint Size. With the command, the joint size can be thickened or
slimmed. Figure 2.5 highlights the Joint Size command. Clicking the command displays the Joint
Display Scale box as shown in Figure 2.5. In the box, the slider can be adjusted or a number can be
entered in the text box to control the size. Figure 2.6 shows the thick size of the joints. Figure 2.7 shows
the slimmed joints.

Figure 2.5: Joint Size Command

Figure 2.6: Thick Size of the Join


Figure 2.7: Slimmed Joints

For detailed step-by-step procedure, refer to demo Joint Display Size from: eResources 4 Me>> My
Varsity>> Rigging 3D models>> Show Me How

2.5 Adding Extra Joints


At times, extra joints can be added to:

 Retain volume on deformation. For example, ribs can be added to the skeleton so that if a rotation
such as shoulder rotation is posed, the skin in the torso region does not collapse.

 Recreate poses where bone is moved along with muscles in real life. To show such instances a roll
bone can be used.

2.6 Orienting Joints


Ensure that when joints are placed, they represent the angle of the pose. Failing to do so can cause
skewed rotation. Typically, this orientation is done before binding the geometry to the skeleton. This
way the geometry does not inherit any transformations. However, there might be situations where joints
need to be reoriented. In such cases, the Move Skinned Joints Tool can be used. Figure 2.8 highlights
the tool.

Clicking the Move Skinned Joints Tool allows to control the following Joint Orient settings:

 Orient Joint to World: Selecting this option aligns all joints with the world frame.
 Primary Axis: Use this to select the primary axis for the selected joint. The primary axis points
down the bone that extends from this joint.
 Secondary Axis: Use this to specify the secondary orientation for the selected joint.
 Secondary Axis World Orientation: Use this to set the direction for the secondary axis.
Figure 2.8: Move Skinned Joints Tool

Note

Use the Freeze Transformations command to zero out all the joint rotations. The
following error can occur:

Skipping joint33: It has non-zero rotations.

If so, use 0 for all the rotation values. Then, apply the Orient Joint command.

For detailed step-by-step procedure, refer to demo Orienting Joints from: eResources 4 Me>> My
Varsity>> Rigging 3D models>> Show Me How

2.7 Naming Joints


Proper naming of the joints help everyone involved in the animation understand the function of each
joint. If a joint name has to be customized, it can be easily searched and required changes can also be
done. Following are some of the naming conventions:
 Use a prefix such as L_ to indicate the left side such as left foot of a model.

 Use a prefix such as R_ to indicate the right side such as the right foot of a model.

 Use a suffix such as _CTRL if a joint is meant to be used as a control.


Figure 2.9: Joint Labelling Command

Use the Joint Labelling command to label the joints automatically. This can be accessed from the
Skeleton menu. Figure 2.9 shows the Joint Labelling command.

For detailed step-by-step procedure, refer to demo Naming And Mirroring Joints from: eResources
4 Me>> My Varsity>> Rigging 3D models>> Show Me How

Quick Test 2.2

1. Joints behavior can be manipulated by controlling the _____________.


Oriental Joints Extra Joints Joint Size Joint Attributes
2. ___________ occurs when two rotational axis points the same direction.
Gimbal lock Deformation Error Rerooting
3. Extra joints cause skewed rotation. (True/False)

2.8 Mirroring Joints


Consider that symmetrical character skeletons have to be created on a specified axis. In this case, after
a part of the skeleton is created, a copy of the same can be created using the Mirror Joint command.
The command helps create symmetrical character skeletons. Figure 2.10 shows the Mirror Joint
Options window that appears after selecting the Mirror Joint command.
Figure 2.10: Mirror Joint Options Window

Click here to know more about different ways of creating hierarchy in Maya.

2.9 Connecting and Disconnecting a Joint Chain


Various joint chains can be connected in a skeleton. To do so, a joint from a joint chain can be combined
with a joint of another joint chain. Doing so, changes the position of the connected joints in the scene.

Use the Disconnect Joint or Connect Joint commands to disconnect and connect a joint respectively.
Figure 2.11 highlights these commands.

Disconnect joints to separate joint chains. The disconnected joint becomes the root joint of a new
skeleton. Consider the following points while disconnecting a joint:

 Root joint cannot be disconnected.


 The IK handle is deleted if a joint in it is disconnected.
 Detach the bound skin of a model to disconnect its joints.

Figure 2.11: Disconnect and Connect Joints Commands


Note

Bones can also be extended from a joint on the joint chain to a joint of another joint
chain.

For detailed step-by-step procedure, refer to demo Connecting And Disconnecting Joint
Chain from: eResources 4 Me>> My Varsity>> Rigging 3D models>> Show Me How

2.10 Reroot Skeleton


Rerooting is the process of changing the hierarchy of a skeleton by its root joint. Rerooting the
skeleton early helps to test the skeleton behavior with different roots.

Steps to reroot the skeleton:

 Select the skeleton joint, which will be the new root.


To reverse skeleton’s hierarchy, select child of the entire joint chain. In case a joint in the middle of
the skeleton is selected, two separate hierarchies below the root joint will be created.
 Select Skeleton from the Animation menu, then select Reroot Skeleton.

Figure 2.12 shows the Animation menu.

Figure 2.12: Reroot Skeleton in Animation Menu

2.11 Summary
In this session, Joint Hierarchies, you learned that:

 The root joint is the highest joint.


 Use the Joint Tool to create a joint hierarchy.
 A joint chain can branch off from another joint chain.
 Joints should be approximately placed based on the real joint positions of the character.
 A well-defined joint hierarchy avoids the Gimbal lock issue.
 Use the Move Skinned Joints Tool to reorient joints.
 A joint should be well named.
 Rerooting is the process of changing the hierarchy of a skeleton by its root joint.
2.12 Exercise
1. Which tool helps create a joint hierarchy?

Roll bone

Joint Tool

Move Skinned Joints Tool

Insert Joint Tool

2. Which one of the following is an example of a ball joint?

Ankle joints

Shoulder joints

Knee joints

Wrist

3. What happens when a Gimbal lock occurs?

The resulting movements of both the rotations are the same.

The resulting movements of both the rotations are different.

The joints reorients.

The two rotational axis points different directions.

4. What is the use of adding extra joints?

They correct the gimbal lock issue.

They help retain volume on deformation.

They thicken the size of the joints.

They help representing the angle of the pose.

5. Which of the following statements are true?

Disconnecting a joint in a joint chain that has an IK handle, deletes the handle.

Joints can be mirrored using the Joint Orient settings.

Root joint cannot be disconnected.

Use the Orient Joint command to zero out all the joint rotations.
Se ssi on 3
Inverse Kinematics and Forward Kinematics
Learning Outcomes
In this session, you will learn to:

 Apply IK
 Apply FK

 Apply FBIK

3.1 IK
IK is used for goal oriented action. For example, animating an arm to extend, pick up a box, and place
it to a different location. IK moves the joints in the joint chain based on the position of a goal called the
End Effector. When this End Effector moves, the joints in the joint chain orient themselves.

The IK system animates the components of a model that have parent-child relationships.

IK system rotates the hierarchical components as one unit. In addition, when a particular segment is
posed and keyframed, the lower components in the hierarchy are posed and keyframed.

3.2 IK Handles and Solvers


IK handles and solvers help apply IK to a model. An IK handle can be applied to any part of joints in the
joint chain. It is an object. Selecting and moving the IK handle affects and rotates all the assigned joints.
So, moving an IK handle helps pose an entire joint chain. The IK handle helps control the motion of an
object.

Note

A joint chain that includes an IK handle is called an IK chain.

IK handles are usually located at the end of an IK joint chain. An IK handle has a start joint and an end
joint. The joint where the IK handle begins is called the start joint. The joint where the IK handle ends
is called the end joint. In the scene view, the IK handle is drawn as a line. The end of the IK handle is
called the end effector. Figure 3.1 shows the IK handle.

Figure 3.1: IK Handle


It is the IK handle and its solver that drives all the joints between the start and end joints. IK solvers are
the mathematical algorithms that control the IK handles and calculate the rotations of each joint in the
joint chain. They perform the calculation based on the position of the IK handles. When an IK handle
moves, IK solver performs the following steps:

1. It considers the position (Translate X, Y, and Z attributes) and orientation (Rotate X, Y, and Z
attributes) of the IK handle.
2. It calculates the position and orientation of the End Effector so as to move as close to the IK handle’s
position and orientation as possible.
3. The solver rotates all the joints in the joint chain in such a way that the end effector reaches the IK
handle’s position and orientation.

Note

The end effector follows the IK handle’s position. The movement of the end effector
depends on the rotational limits and the length of the IK chain.

For detailed step-by-step procedure, refer to demo Inverse Kinematics IK from: eResources 4
Me>> My Varsity>> Rigging 3D models>> Show Me How

3.2.1 Keyframes
To apply IK, keyframes are set on the IK handle. It is important to note that keyframes are not set on
the joints. Usually, the IK handle is constrained to a particular type of control object, such as a curve.
The control is keyframed. When the IK handle is constrained to the control, it inherits the animation of
the control. Constraining the IK handle to another node produces the same effect as the Stickiness
attribute. Consider the following points when the Stickiness attribute is on:

 If the current IK handle has no keyframes, the IK handle sticks to its current position when the
skeleton is posed with another IK handle.
 If keyframes exist on the current IK handle, the Stickiness option is ignored. The default value is
off.
 When a joint chain is posed with an IK handle, unwanted joint chain movement is prevented. For
example, consider that IK handles are present on a model’s legs. Now, the movement has to be
such that when the hips are posed and moved, the feet have to stay firmly on the ground. To get
this movement, the Stickiness attribute can be used.

Note

Since IK handles use world space coordinates, setting the translation channels to 0
moves them to the origin.

To constrain the IK handle to a locator, set a start position for the control and freeze transformations on
it. This way the translation channels are set to 0. The control moves to the start position. It also brings
the IK handle along.

If a joint chain has more than one IK handle, the Priority attribute can be set. This solves the IK handles
in the correct order. For example, those joints are rotated first where the Priority attribute of the IK
handle is set as 1. Next, those joints will be rotated where the Priority attribute of the IK handle is set
as 2. Figure 3.2 shows the joint chain that has the Priority attributes set.

Figure 3.2: Working of Joint Chain

Note

1 is the default Priority attribute value.

3.2.2 Tools to Work with IK Handles


Use the following tools to work with IK handles:

 IK Handle Tool: This tool helps to create IK handles.


 Move Tool: This tool helps to move IK handles.
 Rotate Tool: This tool helps to rotate IK handles.

To delete an IK handle, use the Delete command from the Edit menu or press Del.

Note

The IK handle can be deleted from the scene but its IK solver remains in the scene. This is
because it can be used by other IK handles in the scene.

3.2.3 General IK Handle Components


Following are the general IK handle components:

 Handle Wire: This line runs through all the joints and bones in a joint chain that is assigned an IK
handle. The joint’s local axis includes the start and end points of the handle wire. The handle wire
starts where the joint’s local axis starts and ends where the joint’s local axis ends.
 Handle Vector: This line runs from the start joint of the IK chain to the IK handle’s end joint.

3.2.4 Types of IK Handles


Following are some of the IK handles:

 Rotate Plane (RP) IK Handle: Here, the end effector tries to reach the position of its IK handle.
This uses the RP solver to calculate the rotations of all the joints in the IK chain. Note that the
joint chain’s overall orientation is not calculated by this solver.

Following are the RP IK handle components:

 Twist Disc: This twists or rotates the joint chain. It is located at the end-joint of the IK chain.
 Joint Chain Plane: This contains all the joints in joint chain. It helps pose through the axis
and rotates about the handle vector.
 Reference Plane: This is the plane relative to which the joint chain plane rotates. The
reference pane helps in measuring the degree of twist.
 Pole Vector: Use this to change the orientation of the IK chain and control the flipping. After
using the pole vector, the IK chain can point to a wrong direction. Re-orient using the twist
disc.

Note
 working with the pole vector, it is the joint chain plane that is actually rotating about
While
 handle vector.
the

The joint chain can flip if the handle vector and the pole vector cross each other or point
in opposite directions. When this occurs, move the pole vector to correct the position.

Figure 3.3 shows the general IK handle components and all the RP IK handle components.

Figure 3.3: General IK Handle Components and RP IK Handle Components


 Single Chain (SC) IK Handle: Here, the end effector tries to reach the position and the
orientation of the IK handle using the single chain IK solver.
 Spline IK Handle: This is used to pose a joint chain using a NURBS curve. This handle uses the
spline IK solver to control the curve. The spline handle components include twist disc and roll
disc. The roll disc helps rotate an entire spline IK joint chain. The roll disc exists at the start joint of
the spline IK handle. There are advanced IK spline controls, which can be used for perfect twists
along the chains.
 2Bone IK handle: This is used to pose short joint chains that consists of three joints and two
bones. It uses the 2Bone IK solver to solve the rotations.

Note

RP IK handle and SC IK handle are the two commonly used IK handles.

Quick Test 3.1

1. IK moves the joints in the joint chain based on the position of a goal called the
_________.
End Effector Keyframed IK joint chain IK handles
2. IK handles are usually located at the start of an IK joint chain. (True/False)
3. IK solvers perform the calculation based on the position of the _________.
IK handles Muscle Point Gimbal Lock Root Joint
4. ________ runs from the start joint of the IK chain to the IK handle’s end joint.
Handle Vector Handle Wire Rotate IK Handle Pole Vector

3.2.5 Types of IK Solvers

There are various kinds of IK solvers. Each brings a particular effect on an IK handle. Following are
some of the commonly used IK solvers:

 Single Chain (SC) IK Solver: An SC IK handle uses the SC IK solver to calculate the rotation of
all joints in the IK chain. This solver also calculates the overall orientation of the joint chain.
 Rotate Plane (RP) IK Solver: This is commonly used to create skeletons for characters. The RP
solver is similar to the SC solver. The pole vector differentiates the RP solver from the SC solver.
An extra circular icon appears in the chain that indicates the RP IK solver. Figure 3.4 illustrates
the Rotate Plane IK Solver. The RP IK solver is usually used to pose a joint chain when it has to
stay in the same plane. In Figure 3.4, the RP IK solver adds an additional control to know how the
chain rotates. It also tries to match the position of IK handle. The pole vector is indicated by the
white triangle in Figure 3.4. Note that changing the pole vector can also change the orientation of
the chain.
Figure 3.4: Rotate Plane IK Solver

 Spline IK Solver: The spline IK handle uses this solver to manipulate the NURBS curve.

Note

Single Chain, Rotate Plane, and Spline IK Solvers are loaded by default in Maya.
The following IK Solvers can be created by the user, in addition to the default Solvers:

1. 2Bone IK Solver: This is ideally used to set up a game character as this is the fastest IK solver in
Maya. It is known as the subset of the RP IK solver because it also solves the rotation of the joint
chains. The 2Bone IK solver is used to:

 Rotate short joint chains that include three joints and two bones. If the solver is used for a
longer joint chain, then it solves the rotations for only few joints.
 Pose joint chains that have to stay in the same plane. For example, the elbow has to rotate
while the shoulder, elbow, and wrist joints of an arm stay within the same plane. Note in this
case, the shoulder, elbow, and wrist joints should be driven by the RP IK handle.

2. Multi Chain IK Solver: This has to be manually loaded and is used to resolve multiple handles
simultaneously used for a complex motion, such as motion of tentacles of an Octopus.

For detailed step-by-step procedure, refer to demo IK Handle and Types of


Solvers from: eResources 4 Me>> My Varsity>> Rigging 3D models>> Show Me How

3.3 FK
In FK, each joint is rotated for a pose. This is cumbersome when posing a complex skeleton. It is faster
to pose it with IK, because the joint rotations are controlled by IK handles. FK is best used to create
non-directed motion such as shoulder joint rotation of a human model.

Both IK and FK can also be applied on the same skeleton. This kind of blending is called FK/IK blending.
When FK is applied to each joint for a pose, Maya starts the rotations from the root joint and then moves
to the child joints hierarchically.
For detailed step-by-step procedure, refer to demo Forward Kinematics FK from: eResources 4
Me>> My Varsity>> Rigging 3D models>> Show Me How

3.3.1 FK/IK Blending


FK/IK blending displays the joints and bones in the scene view differently. They are shown in three
colors. These colors can be default or user-defined. The default colors define the following:

 The blue joint chain includes pure FK animation.


 The brown joint chain includes pure IK animation.
 The magenta joint chain includes the kinematics blend.

Note

The colors and size of the FK/IK joint chains can be customized.

FK/IK blending can be applied on multiple frames or a single frame. Using FK/IK blending on several
frames prevents jerks in the animation. Figure 3.5 displays a pose that includes FK/IK blending.

To control the display, use the Preferences window. Under the Display category, click Kinematics and
set the options. Refer to Figure 3.6.

Figure 3.5: FK/IK Blending in a Walk Cycle Figure 3.6: Preferences Window

Click here to know more about unexpected joint flipping in FK animation.

For detailed step-by-step procedure, refer to demo IK_FK Switch from: eResources 4 Me>> My
Varsity>> Rigging 3D models>> Show Me How

3.4 Constraints
Constraint allows constraining the position, orientation, or scale of an object to other objects.
Constraint also allows automating animation processes and imposing specific limits on objects. A
point constraint can also be used to animate one object to follow a series of objects.
Types of constraints are as follows:
 Aim Constraint
 Orient Constraint
 Scale Constraint
 Pole Vector Constraint
 Parent Constraint

3.4.1 Aim Constraint


A point constraint can move an object to and make to follow position of another object, or average
position of several objects. This helps in making an object match the motion of other objects. The aim
constraint is used to aim a light or camera at an object or group of objects. In character setup, the aim
constraint is used to set up a locator to control eyeball movement.

Steps to create an aim constraint:

1. Select the target object or objects and the object that needs to constraint to them.
2. Select Constrain  Aim.

Figure 3.7 shows how an aim constraint is done.

(Image courtesy: http://robertdyke-nsd.blogspot.in/)

Figure 3.7: Aim Constraint

3.4.2 Orient Constraint


The rotation or orientation of a joint or an object should be controlled at times, while rigging. The
Orient constraint is used that matches the orientation of one object to one or more objects. This
allows easy orientation of several objects simultaneously. Steps to create an orient constraint are as
follows:
1. Select the target objects, followed by the object that will be constrained to them.
2. Select Constrain  Orient.

3.4.3 Scale Constraint


Scale constraint allows matching the scales of one object to one or more other objects. Several
objects can be scaled simultaneously using this constraint.
In a constrained object, scaling is driven by the scaling of the target object or objects. This scaling or
target objects is called target scaling.

Steps to create a scale constraint:


1. Select one or more target objects, followed by the object that will get constrained to them.
2. Select Constrain  Scale.

Figure 3.8 shows an example of scale constrain.

Figure 3.8: Scale Constrain

For detailed step-by-step procedure, refer to demo Scale constraint from: eResources 4 Me>> My
Varsity>> Rigging 3D models>> Show Me How

3.4.4 Parent Constraint


The parent constrain allows to relate the position, which include translation and rotation, of one object
to another. This makes the objects behave as a part of a parent-child relationship with multiple target
parents. The average position of multiple objects can also constrain an object’s movement.
Parenting can be used for locking the hands to the object in a character interacting with an object
such as pushing, pulling, or lifting an object. Parenting works better when the character and the object
are in constant contact with each other.
When a parent constraint is applied to an object, the constrained object does not become part of the
constraining object’s hierarchy or group, but remains independent and behaves as if it is the child of
its targets. The constraining object is also known as the target object.
Steps to create a parent constraint:
1. Select one or more target objects, followed by the object that will be constrained.
2. Select Constrain  Parent.
In Figure 3.9, ball is constrained with hand using parent constraint. Hence, wherever hand is moving
the ball will be with hand.
Figure 3.9: Parent Constraint

3.4.5 Pole Vector Constraint

A pole vector constraint can move the end of a pole vector to and follow the position of an object, or
the average position of several objects. This constraint also allow to point IK chains at an object. A
characters knee and elbow direction, while moving hands and legs, can be done by pole vector
constraint.

Steps to create a pole vector constraint:

1. Select one or more target objects, followed by the IK rotate plane handle whose pole vector you
want to constrain to them.
2. Select Constraint  Pole Vector.

Click here to know more about some other type of constrains.

3.5 Full Body Inverse Kinematics (FBIK)


Full Body Inverse Kinematics (FBIK) is used for FBIK skeletons. It is a very powerful system that
produces smooth animations quickly. Instead of using multiple IK chains on individual limbs, FBIK
creates IK handles that control an entire quadruped or biped skeletons.

Note

A FBIK skeleton can be setup within few seconds.

However, following are the disadvantages of using FBIK:

 The skeleton has to be created in a particular way.


 It is difficult to modify the animation curves. If you do modify, the altered joint loses its
synchronization with the rest of the skeleton.

Note

Use Autodesk’s MotionBuilder to animate FBIK rigs.


Two examples of full rigged FBIK skeletons are included in the Visor. To use, open the Visor window
and click the FBIK Examples tab. Import the example to load it. Figure 3.10 shows an example of a
full rigged FBIK skeleton.

Figure 3.10: Example of a Full Rigged FBIK Skeleton

For detailed step-by-step procedure, refer to demo FBIK from: eResources 4 Me>> My
Varsity>> Rigging 3D models>> Show Me How

Quick Test 3.2

1. An SC IK handle uses the ____________ to calculate the rotation of all joints in the IK
chain.

IK Solver SC IK solver Spline IK Solver Multi Chain IK Solver

2. ___________ is ideally used to set up a game character as this is the fastest IK solver in
Maya.
Spline IK Solver 2Bone IK Solver Multi Chain IK Solver Single Chain Solver

3. When both IK and FK are applied on the same skeleton, it is called _______________.
3.6 Custom Attributes
Rotate Plane Twist Disc Reference Plane FK/IK blending

A powerful rig can be created by adding custom attributes. Use the Add Attribute window to add
custom attributes. Refer to Figure 3.11.
Figure 3.11: Adding Custom Attributes Window

Several control handles can be added to the skeleton with the custom attributes. In addition, a custom
attribute can be added to toggle between IK and FK without any user input.

3.6 Summary
In this session, Inverse Kinematics and Forward Kinematics, you learned that:

 The IK handle affects and rotates all the assigned joints. IK handles are usually located at the end
of an IK joint chain.
 The end of the IK handle is called the end effector.
 The IK handle and its solver drives all the joints between the start and end joints.
 IK solvers are the mathematical algorithms that control the IK handles and calculate the rotations
of each joint in the joint chain.
 Constraint allows constraining the position, orientation, or scale of an object to other objects.
 Types of constraints are aim constraint, orient constraint, scale constraint, pole vector constraint,
and parent constraint.
 Keyframes are set on the IK handle to apply IK.
 Each joint is rotated for a pose in FK.
 FK/IK blending refers to the application of both IK and FK.
3.7 Exercise

1. Which one of the following affects the movement of joints in a joint chain in IK?

End Effector

Goal

Handle

Solver

2. Where is an IK handle usually located?

At the start of an IK joint chain

At the position of End Effector

At the position of the solver

At the end of an IK joint chain

3. Identify the function of an IK solver.

It sets keyframes

It applies IK and FK blending

It calculates the position and orientation of the End Effector.

It controls the display of IK and FK joints

4. Which one of the following is best used to manipulate the NURBS curve?

The RP IK solver

The Spline IK Solver

The 2Bone IK Solver

The Multi Chain IK Solver

5. Which one of the following statements is true?

Smooth animations can be created quickly using FBIK.

It is easy to modify animation curves with FBIK.

The Spline IK solver resolves multiple handles simultaneously.

Twist Disc is the plane relative to which the joint chain plane rotates.
Se ssi on 4
Skinning Geometry and the Maya Muscle System
Learning Outcomes
In this session, you will learn to:

 Describe the binding geometry


 Describe the types of binding

 Apply skin weights

 Copy skin weights

 Use Maya Muscle System

4.1 Introduction to the Skinning Geometry and the


Maya Muscle System

Skinning geometry is the process in which deformable objects, such as meshes are bound to joints.
This deforms the geometry when the joints are rotated.

The Maya Muscle system is a set of tools to deform geometry and simulate the behavior of actual
muscles. Use the system to show deformation such as the muscle bulge. It offers better control to
deform the skinned geometry surface.

Figure 4.1 shows some of the objects in the Maya Muscle system.

Figure 4.1: Certain objects in the Maya Muscle System


Note

Most of the functionalities of influence objects are replaced by the Maya Muscle system.

4.2 Binding Geometry


The binding geometry is also called the skinning geometry.

Note

Using multiple camera views ensures that the skeleton fits its object appropriately in all the
three dimensions. To control the size and shape of the skeleton, use the display grid.

To control IK handle, set all the rotations of the joints to 0 when skinning geometry to the skeleton. To
do so, first disable the IK handles. Set the value to 0. Next, bind the skin to the joints and then enable
the IK handles.

Figure 4.2: Binding Geometry

Figure 4.2 shows an example of binding geometry. Polygon and NURBS geometry can also be bound
to skeletons.

Tip

It is the polygon geometry that gives expected results.


The deformable objects are called skin objects. They include the following structures:

 NURBS curves and surfaces


 Lattice deformers
 Polygon meshes

4.2.1 Bind Pose


This refers to the pose of the skeleton in which the geometry is bound. It is easy to switch to the bind
pose after editing the geometry. To do so, select the skeleton’s root joint and click Skin → Go To
Bind Pose.

4.2.2 Types of Binding


Maya includes the following types of binding:
 Smooth skinning
 Rigid skinning
 Interactive Skin
 Binding
 Lattice skinning
 Wrap skinning
Smooth Skinning
In smooth skinning, several joints influence the same deformable object points. This results in smooth
deformation effects. The smoothing effects are automatically applied at skin binding. The smoothing
effect depends on the joint’s proximity to the deformable object points. Figure 4.3 illustrates smooth
binding. The default weight value of the joints can range from 0 to 1.0 means no influence. 1 means
full influence.

Figure 4.3: Smooth Binding

There can be a situation where a weight value needs to be changed. In such a case, when a weight
value is changed, Maya considers the relative influence and automatically adjusts the weight
influence on the other points. This process of scaling the weight influence on the basis of relative
influence is called normalization. Weight values can be normalized in the following two different ways:
 Post Normalization: This is the default normalization method. The post weights are calculated
after the bound mesh is deformed. This method does not change the existing weighted vertices.
 Interactive Normalization: Use this method to enter the desired weight value. Note that in this
case, the weights will always total to 1.
Rigid Binding
In rigid binding, only one joint influences each CV, vertex, or lattice point. This type of binding is
usually used to show bulge effects. The rigid binding deformation effects can be shown using lattice
deformers, cluster deformers, or flexors. Figure 4.4 illustrates rigid binding.

Figure 4.4: Rigid Binding

Flexors are special deformers that provide a variety of deformation effects. Maya includes the
following types of flexors:
 Joint Sculpt Flexors: This provides round deformation effect around joints.
 Bone Sculpt Flexors: This provides round deformation effect around the bones.
 Bone Lattice Flexors: This provides smoothing and bulging effects around bones.
 Joint Cluster Flexors: This provides weighted deformation control around joints.
 Joint Lattice Flexors: This provides smoothing effect around joints.
To create flexors, put the skeleton in the bind pose. Select the joints or bones. Next, use the Create
Flexor command.

Interactive Skin Binding


This defines smooth skin weights using volumes. These volumes can be adjusted to fit the model’s
geometry. The influence on vertices can be immediately seen.

Note

Interactive skin binding does not support NURBS surfaces.


Lattice Skinning
Lattice skinning refers to a structure of points that allows free form deformation on any deformable
object that is bound to the skeleton. These deformable objects are NURBS or POLYGONAL surfaces.
Lattice skinning is used to influence lattice points, such as polygonal or NURBS surfaces. It provides
smoothing effects to the limbs, armpit, or shoulder areas. A lattice deformation effect is the difference
between the base lattice points and the influence lattice points. To perform lattice skinning, determine
the number of control points.

Note

Lattice flexors help smoothen out the deformation done by rigid skinning. By default, their
influence is limited to the skin area near a particular joint.

Wrap Skinning
Use wrap skinning to influence objects of wrap deformers. This in turn influences other deformable
objects. With wrap deformers, objects with NURBS surfaces, NURBS curves, or polygonal surfaces
can be deformed.

For every wrap deformer that is created, Maya creates a Wrap deformer Node for every object. The
wrap deformer objects can be used with smooth or rigid skinning. They can also be deformed with
any other deformer.

With wrap skinning, low-resolution objects can be skinned for a low resolution model. This model can
be upgraded to a high-res model. Its object can be deformed with the low-res objects.

Maya makes a copy of the wrap influential object that is created. This becomes the base shape for
any deformation. If there is any difference in orientation, shape, or position between the base shape
and influence objects, deformation occurs. This can include one or more influence objects.

Note

Changing the number of deformable object points can cause unexpected deformation.

Click here to know more about Bind smooth skin with Heat Map.

4.2.3 Geodesic Voxel Binding


Geodesic Voxel binding works with meshes that may contain non-manifold, non-watertight,
intersecting triangles. This binding works with meshes that may be comprised of multiple connected
components. This often causes problems for automated binding algorithms, such as Heatmap bind.

The input geometry is voxelized in this method, to calculate binding weights. These weights are ones
derived from the geodesic distance between voxels on the skeleton and the mesh. This method also
allows selecting multiple meshes. This gives continuous weighting across the geometry, as all shapes
are treated as a single volume.

The Geodesic Voxel bind computes linear blend or dual-quaternion skinning compatible influence
weights. Two main requirements for using Geodesic Voxel binding has two requirements. These are,
firstly to enclose all joints influences inside the mesh volume. Geodesic distance will not be correctly
computed. Secondly, to keep the geometry front faces point outwards, normals should be oriented
accordingly.
Steps to set initial weights and bind geometry using a voxelization - based method:
1. Select the joints and mesh that will bind, then select Skin  Smooth Bind, click the Option
Box.
2. Set the Bind Method to Geodesic Voxel.
3. Set a Falloff Rate to control how rigid the bind applies to the geometry.
A value of 1 creates a more rigid bind, while 0 produces a smoother bind.
4. Specify the Resolution to increase the precision of the bind.
The higher the resolution, the more precision, but it will take more time to process.
5. Click Bind Skin.

Figure 4.5 shows how Geodesic Voxel binding works.

(Image courtesy: Autodesk.com)


Figure 4.5: Geodesic Voxel Binding

For detailed step-by-step procedure, refer to demo Geodesic Voxel binding from:
eResources 4 Me>> My Varsity>> Rigging 3D models>> Show Me How

For detailed step-by-step procedure, refer to demo Binding and Types Of


Skinning from: eResources 4 Me>> My Varsity>> Rigging 3D models>> Show Me How

4.2.4 Getting the Best Skinning Results

Consider the following points to get the best skinning results:

 While using the Bind Options menu for skinning, provide appropriate Max Influences and Maintain
Max Influences settings.
 The Max Influences settings determine the number of joints that moves a given vertex. If the
value is set to 1, only one joint influences a vertex. Do not select the Maintain Max Influences
option if the weight is to be distributed later for certain vertices. If the option is selected, only 1
joint influences a vertex.

Note

If the Maintain Max Influences option is not selected while binding the skin and if it is
essential to the skinning process, the skinning and the weight paint process needs to be
repeated.
 Add the required weight to a vertex. Else, the weight will go to a nearby joint or an unrelated joint.
Note that, a vertex responds to associated joint movement.
 Use the correct brush size to paint weight. To resize the brush, click and drag the mouse to
increase or decrease the brush size.
 After creating the skeleton, lock the transformations to determine the change in weights in real
time.

Quick Test 4.1

1. The binding geometry is also called the ____________.


Skinning geometry Polygon geometry NURBS geometry Lattice geometry
2. Using ________________ ensures that the skeleton fits its object appropriately in all the three
dimensions.
Multiple camera views Single camera view Dual camera views Large camera view
3. The deformable objects are called ________.
Skin objects Deformed objects Discarded Objects Muscle objects

4.3 Skin Weights


Proper skin weights are crucial to deform a model as desired. The amount of influence a joint has
over a vertex determines the amount of displacement of the vertex when the joint rotates. The total
influence of a vertex on the surface of a model is always 1 or 100%. This influence can be assigned to
only one joint or many joints.

Note

In a weight map of a model, a gray gradient between white and black colors indicates a
transition in weight.

4.3.1 Painting Weight Tools


Skin weights can be edited through several tools. Following are some of the common tools:
 Paint Skin Weights Tool: Use this tool to refine weights. The tool provides the Artisan brush
interface to set weights.
Depending on the weight influence on joints, it color codes the geometry. Figure 4.6 shows those
joints where weights have to be refined. Figure 4.7 shows the color coded geometry after refining the
weights.

Figure 4.6: Joints where Weights have to be Refined

Figure 4.7: Color Coded Geometry after Refining the Weights


Note

Ensure that the geometry has good UVs so that the weights give good results. In addition,
to paint smooth skin weights on a polygon mesh, the UV maps should be free of
overlapping UVs.

Figure 4.8 shows the Paint Skin Weights Tool window.

Figure 4.8: Paint Skin Weights Tool Window

Tip

Use the Add operation to increase a joint’s influence over a vertex.

The tool also helps replace, add, smooth, and scale weights in the required areas.

 Interactive Skin Binding Tool: Use this tool to change the area of weight influence of each joint.
 Component Editor: Use this tool to enter the weight values for the selected vertices. To enter
precise skin weights using the Component Editor, select the required vertices and select
Component Editor. Next, click the Smooth Skins tab to enter the weight values. Figure 4.9 shows
the Component Editor window.
Figure 4.9: Component Editor Window

Note
Each vertex should have a total weight value of 1. If the value is lesser than 1, the
remaining value is assigned to a different joint.

To prevent Maya from automatically changing the weight value, enable the Hold option. This locks the
weight value.

Note

To see the effect of weight values on deformation, rotate the joints slightly from their rest
position.

For detailed step-by-step procedure, refer to demo Paint Skin Weight Tool from: eResources 4
Me>> My Varsity>> Rigging 3D models>> Show Me How

For detailed step-by-step procedure, refer to demo Component Editor from: eResources 4
Me>> My Varsity>> Rigging 3D models>> Show Me How

4.3.2 Broken-Joint Skeleton


A broken-joint skeleton includes extra bones outside the main skeleton hierarchy. These extra bones
are deformers, which are constrained to the main hierarchy. These deformers use parent constraints
and the joints stay outside the main hierarchy. Such joints can be given special deformation effects. In
such a case, these extra joints along with the main skeleton hierarchy should be selected for smooth
bind operation.

4.3.3 Weighing Methods


Maya includes the following weighing methods:
 Bind method: This method follows the skeleton’s hierarchy or uses the closest joint to determine
the influence of joints on vertices.
 Include method: The method shows which vertices are included in the initial volumes. Skinning
method: There are two kinds of skinning methods. These methods include the following:
o Classic Linear: This does not preserve volume and shrinks geometry.
o Dual Quaternion: This preserves the volume of a mesh when a joint is moved.

4.3.4 Copying Skin Weights


Weights of a character can be copied onto another character. Even if the dimensions are not the
same, weights can be copied. To copy weights, use the Copy Weights tool. If the vertices are closer
to one another, the tool transfers the weights irrespective of geometry shape or vertex density. Once
the weights are transferred, they can be edited.

Note

Weights can be copied from the low-resolution model to the high-resolution model. The
initial weights can then be edited on the high-resolution model.

Even the bones of the weighted objects can be moved to match the new object. The results are the
best if both the objects are similar in shape and size.

4.3.5 Mirroring Skin Weights


Skin weights can be mirrored if there are symmetrical characters. Use the Mirror Skin Weights
command to mirror the weight values from one side of a symmetrical character to another. Mirroring
maintains consistency in weighting for both sides of a character.
For detailed step-by-step procedure, refer to demo Mirror Skin Weights from: eResources 4
Me>> My Varsity>> Rigging 3D models>> Show Me How

Quick Test 4.2

1. The total influence of a vertex on the surface of a model is always _________ or


_________.
50 or 100% 10 or 50 % 1 or 100% 1 or 50%
2. The _____________ provides the Artisan brush interface to set weights.
Interactive Skin Painting Skin Weight Tool Binding Tool Component
Editor
3. Use the _____ operation to increase a joint’s influence over a vertex.
Replace Add Smooth Scale weights
4.4 Maya Muscle System
The Maya Muscle System is a collection of deformation tools available on the Muscle tab. Figure 4.10
shows the tools on the Muscle tab.

Figure 4.10: Tools on the Muscle Tab

4.4.1 Capsules, Bones, and Muscles

The Maya Muscle System includes the following three main skin deformers:
 Capsules: Maya uses these pill shaped deformers along with the muscle deformers. It is
important to note that standard Maya joints cannot work directly with the muscle deformers. The
basic shape of muscles can be simulated with capsules. Figure 4.11 highlights capsules, which is
a white color bar on the left hind leg and tail.
 Bones: These are usually used to simulate the movement of special bones. Bones takes the
desired shape because they are converted from regular Polygon geometry, CVs.
 Muscles: These are used to copy the behavior of real-life muscles, such as stretching. Muscles
are created from NURBS surfaces. To achieve the real behavior of movements, these deformers
have two connection points at either end and these are attached to the character’s rig. So, when a
movement such as stretching occurs, the transition of the muscles automatically occurs. Figure
4.12 shows the Capsules (white bars), Bones (pyramid shapes), and Muscle (thigh).

Figure 4.11: Capsules


Figure 4.12: Capsules (White Bars), Bones
(Pyramid Shapes), and Muscle (Thigh)
The muscle deformers can be bound to the model’s skin geometry using weighting options. Following
are some of the weighting options:
 Sticky
 Sliding
 Displacement
 Force
 Jiggle
 Relax
 Smooth

Figure 4.13 shows the weighting options.

Figure 4.13: Weighting Options


To use the Maya Muscle System, existing joints should be replaced or converted with capsules or
Maya Muscle bones. Any existing skin weight can also be transferred to the muscle system.

For detailed step-by-step procedure, refer to demo Maya Muscle System from: eResources 4
Me>> My Varsity>> Rigging 3D models>> Show Me How

4.4.2 Creating a Muscle Using the Muscle Builder

The Muscle Builder helps create muscle deformers with ease. In the Muscle Builder interface, specify
the parts of the skeleton where each end of the muscle will be attached. These are the Attach objects.
Next, edit the muscle shape using the controls. Figure 4.14 shows the Muscle Builder window.

Figure 4.14: Muscle Builder Window

4.4.3 Create Muscle with Muscle Creator


Steps to build and work with Muscles using the Muscle Creator window:

1. Open the Muscle Creator window and create a muscle.


2. Set/store the muscle poses for Rest, Squash, and Stretch.
For Rest, Squash, and Stretch options, switch to the Edit tab and Bend the actual bones/joints that
the muscle is attached to into the Rest, Squash and Stretch states. Then click the Set Current State
As buttons for each state.

3. Go back to the default State/Bone positions. Adjust the Start/End locations for the muscle as
well as the red cubes to set up the default spline curve for the muscle in the rest state.
4. Go to the Squash state. In this state the control can be moved again, without moving the red
square, but instead moving its child, the Squash curve. This curve controls the centre line spline
when the muscle is in squash.
5. Repeat using the related St Curves for stretch.

For detailed step-by-step procedure, refer to demo Create Muscle with Muscle Creator
from: eResources 4 Me>> My Varsity>> Rigging 3D models>> Show Me How
4.4.4 Sculpt Muscles
The cross section curves can be edited after a muscle is created to sculpt the muscle into the desired
shape. The Sculpting section in the Edit tab allows execution of this editing task.

There are three built-in cross section curve sets in Muscle Creator, through which muscles that can
be edited are as follows:
 First one for the default rest position,
 Second one for the squash state,
 Third one for the stretch state.
Directly edit these curves in the scene view, or using the Muscle Creator window.

Steps to sculpt with the Muscle Creator window:


1. Select Muscle  Muscles/Bones  Muscle Creator from the main menu bar.
2. Click the Edit tab, and select any muscle or muscles that created with the Muscle Creator
window.
a. In the Sculpting section of the Edit tab, select axis of the cross sections to edit.
b. The default is X-Z since they are flat cross sections. The Rest, Squash, or Stretch cross
sections can also be edited. For example, to make a muscle more flat, turn X on and Z
off, or vice-versa.
3. Select which part of the muscle will affect using the Location slider.
4. Adjust the Sculpt slider to change the size of the muscle. As the slider is moved, the shape gets
adjusted.

For detailed step-by-step procedure, refer to demo Sculpt Muscles from: eResources 4 Me>> My
Varsity>> Rigging 3D models>> Show Me How

4.4.5 Grow a Muscle


The Muscle Creator window allows sculpting the muscle shapes by growing them. This is done by
selecting a muscle and ’grow’ its points outwards to the actual model surface. This speeds up the
muscle modelling task as manual editing of the muscle shapes is no required.

Steps to grow a muscle:


1. Select Muscle  Muscles/Bones  Muscle Creator from the main menu bar.
2. Click the Edit tab.
Alternatively, select the Muscle. This loads it into the Muscle Creator window.
3. Select the surface where the muscle will grow, typically a skin mesh. Click the Grow To Surface
button in the Grow section, to load that surface.
For reference, the window needs to know what joint or bones run down the closest to the length of the
muscle.
4. Select the main joint and click the Main Bone button.
For example, for a biceps muscle, select the UpperArm and Elbow joints respectively for the Main
and Tip bones.
5. Set the options in the Grow settings area of the Edit tab.
For example, use the Fat slider to set an offset to keep the grown points inside the surface.
6. Click Grow Muscle. If nothing is selected, all three cross sections, Rest, Squash, and Stretch
are affected by the Grow Muscle button.

For detailed step-by-step procedure, refer to demo Grow a Muscle from: eResources 4 Me>> My
Varsity>> Rigging 3D models>> Show Me How
4.4.6 Mirror Muscles

The Muscle Creator window allows using naming conventions to mirror muscles after being sculpted.
Further, muscle for each ’side’ should be parented to joints/nodes that follow a Left or Right naming
convention (or something similar, such as Front and Back). Each muscle must be created with the
same naming style. For example, if the naming convention is to differentiate between left and right
using _L and _R, the first muscle created should be named something such as Bicep_L or Bicep_R.

Steps to mirror a muscle:


1. Select Muscle  Muscles/Bones  Muscle Creator from the main menu bar.
2. Click the Create tab and find the Mirror section.
3. Select the axis that will be mirrored across.
4. Enter the naming conventions as desired to Search/Replace for.
Right-click the field to bring up some common cases.
5. Click Mirror Muscle from Selection tab.

For detailed step-by-step procedure, refer to demo Mirror Muscles from: eResources 4 Me>> My
Varsity>> Rigging 3D models>> Show Me How

4.4.7 Muscle Spline Deformers

The Muscle Spline deformer allows deforming any object based on a Muscle Spline. The previous
section on Muscle can be referred here, as the deformation is based on the spline information. As
discussed earlier, the deformer itself takes connections/inputs from a Muscle Spline object, and the
entire Jiggle is based on the spline jiggling. The geometry changes with the spline curve moves as the
object is deformed from the spline curve.

It has several main options including basic Squash and Stretch, and custom muscle/geometry
shaping based on spline length.

Steps to apply a Muscle Spline deformer on any object:

1. Select the object you want to apply the deformer to select Muscle  Simple Muscles  Apply
Muscle Spline Deformer from the main menu bar.
2. In the Muscle Spline Deformer window, do the following:
 Enter a unique Name for the deformer and related items.
 Enter the number of control points you want the spline to have.
 Select the shape you want for the control points from the Type drop-down menu.
 Click Setup Muscle Spline Deformer.
3. Move or animate the spline controls to deform the object based on the spline curve.

Figure 4.15 shows how deforming any object based on a Muscle Spline is done.

For detailed step-by-step procedure, refer to demo Muscle Deformers from: eResources 4
Me>> My Varsity>> Rigging 3D models>> Show Me How
Figure 4.15: Spline Deformer

Stretch Deformer
There is an alternative to the spline-based muscle deformer, called the Muscle Stretch deformer.
However, it has fewer squash and stretch options and allows only for three controls at the start,
middle, and end. The settings exist entirely on the deformer itself.

Steps to set up the Muscle Stretch deformer on an object:

1. Select the object you want to apply the deformer to select Muscle  Simple Muscles  Apply
Muscle Stretch Deformer from the main menu bar.

A Muscle Stretch deformer is applied to the object. Locators are created and rigged as controls. The
starting control and end control are represented by a cyan locator and an orange locator respectively.
Base locators can be created by moving the Base along with the Start or End locators. Here the
deformation does not change, but the base location of the movers can be easily edited. Middle mover
gets adjusted as the MidBase moves automatically. By moving or adjusting only the Start, Mid, or End
locators, the object are deformed with basic squash, stretch, and jiggle.

Figure 4.16 shows how Stretch Deformer works.

Figure 4.16: Stretch Deformer

Click here to know more about Understand muscle Jiggle.


For detailed step-by-step procedure, refer to demo for sculpt muscle, grow muscle, mirror muscle,
and muscle deformer from: eResources 4 Me>> My Varsity>> Rigging 3D models>> Show Me
How

4.4.8 Naming a Muscle Surface


The default name of the muscle surface is cMuscleBuilder_surf1. Do not change this while working in
the Muscle Builder interface. Change the name after converting the surface into a deformer. The
Muscle Builder will not be able to perform the conversion properly if the name is changed before.

4.4.9 Creating Muscle Shapes


It is best to keep the shape of the muscle close to its original shape. Consider the following important
points on muscle shapes:
 Do not modify the muscle shape too much. This will give awkward deformations.
 The muscle shape is very important because it deforms the skin depending on the position of the
control vertices.
 To minimize the shape’s impact on the skin, paint influence on the skin.
Figure 4.17 shows various deformed shapes of a muscle.

Figure 4.17: Various Deformed Shapes of a Muscle

Once the muscle shape is created, it is ready to be converted to a muscle deformer. The Finalize tab
of the Muscle Builder window helps convert a muscle shape into a muscle deformer.

4.4.10 Changing Muscles Parameters


Many of the settings in the Muscle Parameters section can be changed in the Channel Box or
Attribute Editor. Alternatively, the muscle surface’s controls vertices can be altered in the Muscle
Builder window even after finalizing the shape. All the normal components used with NURBS can be
modified.
Quick Test 4.3

1. Use ________________ to enter the weight values for the selected vertices.
Interactive Skin Binding Tool Component Editor Paint Skin Weights Tool
Skin weights
2. A __________ includes extra bones outside the main skeleton hierarchy.
Broken-joint skeleton Group of joint Joint skeleton Broken-bone
3. The ___________ skinning method does not preserve volume and shrinks geometry.
Dual Quaternion Classic Linear Bind method Include method
4. __________ are pill shaped deformers.
Capsules Bones Muscles Tablets

4.5 Sliding Weights


The Sliding Weights can be used to give sliding results. It uses a capsule, bone, or muscle to push
out the skin surface. The points are pushed out or they collide with it. For example when folding arms,
skin also pushes out along with the muscles and bones to show the bulge in the upper arm. Note that
the skin never slides with the rest of the lower body. Apply and limit the sliding weights calculation of a
given object to only the point where the weight is applied. This slides only that muscle or bone. This
process speeds up deformation of that geometry.
In Sliding weights, multiple muscles affect the same point 100%. When multiple muscles push out on
a point, it moves to the farthest location.
The speed of sliding depends on the following elements:
 The type of object involved
 The Muscle sliding quality setting

Note

Capsules provide the fastest speed for sliding; polygon objects provide reasonable speed;
NURBS muscles provide the slowest speed.

Best results can be achieved using a combination of sliding and sticky weights on muscles.

4.6 Collision
Maya Muscle comes with many collision options for applying on top of other deformer. For instance, it
allows applying a multi-collision or Muscle collision in order to get self-collision effects on top of a
skinCluster.
Maya Muscle provides three different types of collision:

 Smart Collision
 Self-Collision

 Multi-Object Collision
4.6.1 Smart Collision

This is a collision deformation that is part of the main Muscle deformer. This collision allows setting up
regions and a cSmartCollide plane node to determine how collisions can be handled. Result of
collision can be a simple planar collision effect, or can be switched to a true mesh-mesh collision for
more accurate results. In addition, several other weight types are also allowed by the cSmartCollide
node and deformation. This augments the basic skinning effects and can help bulk or bulge out parts
of a mesh, create wrinkle effects, slide points, or get better deformation at joint locations. These can
be done without using extra joints or muscles.
Fixing typical problems encountered with skinning is one of the main purposes of the Smart Collision
nodes. Smart Collision can be used without activating real collision. There are several attributes in the
Muscle Smart Collide node for movement. The strength or amount of motion applied on weighted
points is controlled by the attributes. Besides, each attribute has a corresponding weight map. For
example, the bulkA/bulkB attributes are related to the Smart Bulk weights that can be painted.

For detailed step-by-step procedure, refer to demo Smart Collision from: eResources 4 Me>> My
Varsity>> Rigging 3D models>> Show Me How

4.6.2 Self Collision

Self-Collision is a part of Muscle deformer that is automatically calculated, and is based on the
defined collision area groupings. Since, Self Collision runs over the entire mesh grouping that is
created, enabling it will make the process slower. However, Self Collision weights can be painted to
cull the uncalculated areas. This approach involves less setup work and fewer attributes to deal with
that is defined as self-colliding. Self-Collision is not time-based. Hence, the Muscle deformer can be
applied to a static model and leave it to resolve collisions. In the Muscle Paint window, there are
three paintable Self-Collision weights types as follows:

 Self-Collision weights that are used to cull parts of the mesh not needed to collide with. For
example, if the head of a character is effectively rigid, it can be removed from the collision
computations.
 Self-Rigidity weights allow to make parts of a mesh harder (more rigid) or softer (more elastic)
when they collide. For example, an arm may be harder than a belly area, so the arm would be
painted a higher weight.
 Self-Volumize weights allow painting what areas of the mesh can move or volumize out more than
other areas.

Figure 4.18 shows the effect of Self-Collision.

Figure 4.18: Self Collision


For detailed step-by-step procedure, refer to demo Self Collision from: eResources 4 Me>> My
Varsity>> Rigging 3D models>> Show Me How

4.6.3 Multi-Object Collision


A separate Muscle Multi Collide deformer is offered by the Maya Muscle that can be applied to
multiple objects or single object. This allows using Maya Muscle’s Self Collision ability on surfaces
and creating object-object collision effects.
There is only one paintable weight type, as this is a regular Maya deformer and this is the built-in
Maya deformer weights. These weights can set rigidity on the object, rather than for culling or
envelope effects.
Figure 4.19 shows the effect of Multi-Object Collision.

Figure 4.19: Multi-Object Collision

For detailed step-by-step procedure, refer to demo Collisions from: eResources 4 Me>> My
Varsity>> Rigging 3D models>> Show Me How

For detailed step-by-step procedure, refer to demo Multi-Object from: eResources 4 Me>> My
Varsity>> Rigging 3D models>> Show Me How

Note

Refer to Demo CD for reference. For guidance, consult your faculty.
4.7 Summary
In this session, Skinning Geometry and the Maya Muscle System, you learned that:

 A bind pose is the pose of the skeleton in which the geometry is bound.
 Smooth skinning, Rigid skinning, Interactive Skin Binding, Lattice skinning, and Wrap skinning are
the binding types.
 The process of scaling the weight influence on the basis of relative influence is called
normalization.
 After creating the skeleton, lock the transformations to determine the change in weights in real
time.
 Skin weights can be applied through Paint Skin Weights Tool, Interactive Skin Binding Tool, and
Component Editor.
 A broken-joint skeleton includes extra bones outside the main skeleton hierarchy.
 The weighing methods are Bind method, Include method, and Skinning method.
 Maya Muscle provides three different types of collision:
o Smart Collision: This allows setting up regions and a cSmartCollide plane node to
determine how collisions can be handled.
o Self-Collision: Self-Collision is part of Muscle deformer that is automatically calculated,
and is based on the defined collision area groupings
o Multi-Object Collision: A separate Muscle Multi Collide deformer is offered by the Maya
Muscle that can be applied to multiple objects or single object.
4.8 Exercise

1. Which of the following is true for the Maya Muscle system?

It is a set of tools.

It binds the meshes to joints.

It defines smooth skin weights.

It helps simulate the behavior of actual muscles.

2. Which one of the following is true for smooth skinning?

Only one joint influences each CV, vertex, or lattice point.

The deformation effects can be shown using lattice deformers, cluster deformers, or flexors.

The smoothing effect depends on the joint’s proximity to the deformable object points.

It is usually used to show bulge effects.

3. What are flexors?

Special bones

Special deformers

Special effects

Special pose

4. Which one of the following weighing methods uses the closest joint to determine the influence of
joints on vertices?

Include method

Classic Linear method

Dual Quaternion method

Bind method

5. Which of the following actions should be implemented to copy weights?

Import the model into another scene.

Adjust the settings in the Channel box.

Determine the original shape node.

Change the original shape node to Intermediate.


Answer Key

Quick Answers Exercise Answers

Quick Test 1.1 Exercise 1.4

1. False 2. Joints 1. Joints and bones 2. Maya Muscle


System
3. Child 4. Muscle Paint
3. Level of 4. It is best suited to
Quick Test 2.1
deformation create a non-
1. Root Joint 2. Enter directed motion.

3. Real 5. Circles

Quick Test 2.2 Exercise 2.12

1. Joint Attributes 2. Gimbal lock 1. Joint Tool 2. Shoulder joints

3. False 3. The resulting 4. They help retain


movements of both volume on
Quick Test 3.1 the rotations are the deformation.
1. End Effector 2. False same.

5. Disconnecting a
3. IK handles 4. Handle Vector
joint in a joint chain
Quick Test 3.2 that has an IK
handle, deletes the
1.SC IK solver 2.2 Bone IK Solver
handle, and Root
3.FK/IK blending joint cannot be
disconnected.
Quick Test 4.1

1.Skinning geometry 2.Multiple camera


views Exercise 3.7

3.Skin objects 1. End Effector 2. At the end of an IK


joint chain
Quick Test 4.2
3. It calculates the 4. The Spline IK
1. 1 or 100% 2.Painting Skin position and Solver
Weight Tool orientation of the
End Effector.
3. Add

Quick Test 4.3 5. Smooth animations


can be created
1.Component Editor 2.Broken–joint quickly using FBIK.
skeleton
Exercise 4.8
3.Classic Linear 4.Capsules
1. It is a set of tools 2. The smoothing
and It helps effect depends on
simulate the the joint’s
behavior of actual proximity to the
muscles. deformable object
points.

3. Special deformers 4. Bind method

5. Import the model


into another scene,
Determine the
original shape node,
and Change the
original shape node
to Intermediate.
Bibliography
Mastering Autodesk Maya 2012, Official Training Guide
- Author: Eric Keller, Wiley Publications
The Art of Rigging – Vol 2
- Author: K Ritchie, O Alexander, K Biri
Advanced Human IK in Maya, Digital Tutor
- Annik Harmel – Tourneur
How to Cheat in Maya, Tools and Techniques for Animation
- Author: Eric Luhta and Kenny Roy

You might also like