Professional Documents
Culture Documents
Rigging 3D Models - INTL
Rigging 3D Models - INTL
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.
APTECH LIMITED
Contact E-mail: ov-support@onlinevarsity.com
Edition 1 - 2014
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.
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
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.
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.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.
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.
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.
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.
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)
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.
Note
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
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.
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.
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.
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
2. Which one of the following includes the controls that deform the geometry?
Kinematics
Weights
FK
Level of rotation
Level of kinematics
Level of deformation
Level of contraction
Triangles
Circles
Squares
Rectangles
Se ssi on 2
Joint Hierarchies
Learning Outcomes
In this session, you will learn to:
Name joints
Mirror joints
Orient joints
Figure 2.1 highlights the 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.
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.
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.
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
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
For detailed step-by-step procedure, refer to demo Joint Display Size from: eResources 4 Me>> My
Varsity>> Rigging 3D models>> Show Me How
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.
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:
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
Use a prefix such as R_ to indicate the right side such as the right foot of a model.
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
Click here to know more about different ways of creating hierarchy in Maya.
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:
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.11 Summary
In this session, Joint Hierarchies, you learned that:
Roll bone
Joint Tool
Ankle joints
Shoulder joints
Knee joints
Wrist
Disconnecting a joint in a joint chain that has an IK handle, deletes the handle.
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.
Note
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.
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.
Note
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.
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.
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.
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.
Note
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
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.
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
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
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
1. Select the target object or objects and the object that needs to constraint to them.
2. Select Constrain Aim.
For detailed step-by-step procedure, refer to demo Scale constraint from: eResources 4 Me>> My
Varsity>> Rigging 3D models>> Show Me How
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.
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.
Note
Note
For detailed step-by-step procedure, refer to demo FBIK from: eResources 4 Me>> My
Varsity>> Rigging 3D models>> Show Me How
1. An SC IK handle uses the ____________ to calculate the rotation of all joints in the IK
chain.
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
It sets keyframes
4. Which one of the following is best used to manipulate the NURBS curve?
The RP IK solver
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:
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.
Most of the functionalities of influence objects are replaced by the Maya Muscle system.
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 shows an example of binding geometry. Polygon and NURBS geometry can also be bound
to skeletons.
Tip
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.
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.
Note
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.
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.
For detailed step-by-step procedure, refer to demo Geodesic Voxel binding from:
eResources 4 Me>> My Varsity>> Rigging 3D models>> Show Me How
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.
Note
In a weight map of a model, a gray gradient between white and black colors indicates a
transition in weight.
Tip
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
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.
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).
For detailed step-by-step procedure, refer to demo Maya Muscle System from: eResources 4
Me>> My Varsity>> Rigging 3D models>> Show Me How
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.
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.
For detailed step-by-step procedure, refer to demo Sculpt Muscles from: eResources 4 Me>> My
Varsity>> Rigging 3D models>> Show Me How
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.
For detailed step-by-step procedure, refer to demo Mirror Muscles from: eResources 4 Me>> My
Varsity>> Rigging 3D models>> Show Me How
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.
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.
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.
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.
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
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
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.
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
It is a set of tools.
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.
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
Bind method
3. Real 5. Circles
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