IntroductionWelcome | 00:04 | Hi! I am George Maestri and
welcome to Character Rigging in Maya.
| | 00:09 | In this course, we are going to start
off with the basic introduction of rigging
| | 00:12 | theory, and then we are going to dive
into Maya's Skeleton tools. After that we
| | 00:18 | will take a look at inverse kinematics
and the various Inverse Kinematics tools,
| | 00:22 | as well as Maya's Constraint tools, and
put all those tools together to create a
| | 00:29 | basic rig for your character.
| | 00:31 | Then we are going to start creating
advanced rigging control, such as forward
| | 00:36 | kinematics and inverse kinematics
switches, and then we are going to take a look
| | 00:40 | at facial animations; how to create
simple eyes, as well as how to create blend
| | 00:45 | shapes for your characters.
| | 00:47 | After that, we will attach our
character to the skeleton using Maya's Skinning
| | 00:53 | tools, and finally, we are going to do
some advanced facial riggings by creating
| | 00:58 | a control panel to manipulate all
of your character's expressions.
| | 01:03 | So let's go ahead and get
started with Character Rigging in Maya.
| | Collapse this transcript |
| Using the exercise files| 00:01 | Lynda.com premium subscribers will also
be able to use the exercise files that
| | 00:06 | come along with this course.
| | 00:08 | So if you are using the exercise files,
go ahead and download them and then
| | 00:13 | place the Exercise Files folder on your
desktop. And in this folder, we have one
| | 00:20 | folder per chapter of the course,
and within each of these folders are the
| | 00:25 | exercise files used for each particular lesson.
| | 00:29 | So go ahead and do that, and then we
will get started with Character Rigging
| | 00:33 | in Maya.
| | Collapse this transcript |
|
|
1. Getting StartedUnderstanding the basic rig| 00:01 | Before we get started, let's take a look at the
basic rig that we are going to create in Maya.
| | 00:07 | Now this is a custom Maya rig, we
are going to build this from scratch.
| | 00:12 | There are lot of ways to get and obtain
rigs for Maya, but building it yourself
| | 00:17 | is probably the most lengthy of the
processes, but it gives you a much better
| | 00:21 | understanding of rigging in general.
| | 00:24 | So this is a fairly straightforward rig.
We have blue controls on the left side
| | 00:30 | of character, green controls on
the right and red is in the middle.
| | 00:34 | If I select this node here, I can move
the character's hips around. Also notice
| | 00:39 | that the knees are pointing towards
these knee controls here, I am going to go
| | 00:44 | ahead and undo this.
| | 00:45 | If we go down to the feet, you will
see that I have this control here, which
| | 00:49 | allows me to position the foot, and
then I have one here at the ankle, which if
| | 00:55 | we rotate it, it lifts the character's heel,
and a similar one at the toe to lift the toe.
| | 01:02 | If we go up the body, you will see
that we have a couple of spine nodes here,
| | 01:07 | which allow us to bend the
character back and forth and left and right.
| | 01:14 | If we go into the arms, see that
right now the arms are set for forward
| | 01:19 | kinematics, so we can
rotate them using these controls.
| | 01:23 | If I select this arrow and move it,
you can see I can change it to inverse
| | 01:29 | kinematics, so notice how the IK
controls appear and now I can also move that
| | 01:35 | character via inverse kinematics.
| | 01:38 | If I select the character's wrist, you
will see I have a number of controls to
| | 01:43 | move the character's fingers, and then
moving up to the character's head, all of
| | 01:48 | the head controls are in
this Control panel here.
| | 01:51 | So I have these controls here which can
move the characters pupils, if we want
| | 01:56 | we also dilate those pupils up or down,
and I can blink the character's eyes, and
| | 02:03 | then down here along the bottom we have
all of the lower face controls for the
| | 02:08 | mouth. So I have this one here,
which controls his jaw, and then I have
| | 02:13 | additional ones for dialog controls, so
we can go from Oo! to Oh! to Em,
| | 02:21 | and then a consonant, or C-H type of
sound, and then here we also have
| | 02:26 | character smiles, so we can go left right
smile, or we can go frown, left and right frown.
| | 02:32 | We have additional ones here for sneering,
basically these are all the different
| | 02:36 | ways we can control the character's mouth.
| | 02:39 | So all of these will be
constructed and built in this course.
| | 02:43 | So if you stick with the course and go
through all of this, you should have a
| | 02:48 | fairly good understanding
of Maya's rigging toolkit.
| | Collapse this transcript |
| Rigging theory| 00:01 | Now the theory of rigging is to make the
character easier to manipulate for the animator.
| | 00:07 | A character is basically composed of a
number of pieces of geometry that are
| | 00:12 | connected together via a skeleton, and
then that skeleton is organized using a
| | 00:18 | rig. So this way the animator doesn't
have to dig down and actually animate the
| | 00:23 | character's skeletal bones, or find
blend shapes to animate, that sort of thing.
| | 00:28 | So basically what we're trying to do
is present an interface to the character
| | 00:33 | that makes it easy to manipulate.
| | 00:35 | Now not only does it have to be easy to
manipulate in the viewports, it also has
| | 00:40 | to kind of look nice and neat in the outliners.
| | 00:44 | So if we go into Window > Outliner,
you can see that I have all of my rigging
| | 00:49 | parts under this Master node.
| | 00:52 | We have the Skeleton here, in fact, I
can highlight it here in the layers, so
| | 00:58 | I have a skeleton and also I have the
character's geometry, and those are all separate nodes.
| | 01:05 | Everything we need to manipulate the
character should be under one Master node.
| | 01:11 | Now also we do have layering set up
for this character, so, I can turn off
| | 01:17 | things like Skeletons, I can template or
restrict the selection of the Geometry,
| | 01:24 | so that way all the animator has
to work with, is the rig itself.
| | 01:29 | So once we do get into the rig, we
want to present the controls in an
| | 01:33 | easy to understand format, so, one of
things I want to do is give everything a
| | 01:37 | proper naming scheme, and also make
sure that it's very identifiable and easy
| | 01:44 | to select.
| | 01:45 | Now once we go into the rig itself,
you can see that also I have additional
| | 01:50 | labels here that allow me to select
forward/inverse kinematics so, I can even put
| | 01:57 | labels on the character itself.
| | 02:00 | So just remember the basic theory of
rigging is to create an interface for the
| | 02:05 | animator, and it's supposed to make
the character easier to manipulate.
| | 02:09 | So always keep that in mind as
you start rigging your characters.
| | Collapse this transcript |
| Organizing with layers| 00:01 | As you rig your characters you are also
going to want to pay attention to layers.
| | 00:06 | Now layers in Maya is underneath
the Channel Box and the Layer Editor.
| | 00:11 | So if we go down here we will see we
have our Object Layers, we should be
| | 00:15 | familiar with this by now.
| | 00:17 | But let me go ahead and
expand this a little bit.
| | 00:19 | So right now this particular
character has a number of different layers.
| | 00:24 | We have the rigging
controls on this top layer here.
| | 00:27 | We have the character's Skeleton on this layer, and
usually the skeleton is hidden for the character.
| | 00:33 | We also have this character's Geometry,
which we can turn on and off, or we can
| | 00:38 | enable if we want to actually select
Geometry, but typically, we lock that down
| | 00:43 | so that we don't accidentally
select the character's geometry.
| | 00:46 | Now I have some additional ones,
I have some blend shapes here.
| | 00:50 | These can probably be deleted. They
are extra baggage that we have for the
| | 00:55 | character, they're not critical to
having this in the scene, but I'm keeping
| | 00:58 | them there so you have them as reference.
| | 01:00 | But if you were to distribute this,
you'd probably delete what's on this layer.
| | 01:04 | And then we also have another layer
here called BGLabels, which is basically
| | 01:08 | just all the text labels in the scene.
| | 01:12 | Now if we want, we could create additional
layers, a lot of characters have many layers.
| | 01:18 | So you have different layers of the
characters rig, you may also separate out
| | 01:23 | the geometry in two different layers.
| | 01:26 | But the main goal here is to make the
rig easy to understand and accessible.
| | 01:31 | So if somebody has to use your rig,
they will be able to get it without having
| | 01:36 | to consult you as to how to use the rig.
| | 01:39 | So remember, using layers is
very important in creating rigs.
| | Collapse this transcript |
| Naming conventions| 00:01 | Another important thing for
character rigging is to maintain nice
| | 00:05 | naming conventions.
| | 00:06 | So, as you go through the rig you want
to name things descriptively, and also
| | 00:12 | create names that you can recognize.
| | 00:14 | So, for example, in this character here,
if I turn on my skeleton, I can go and
| | 00:20 | you can see that all my skeleton
joints are named appropriately.
| | 00:24 | So I have elbow, shoulder, I also
have left and right, clavicle left,
| | 00:29 | spine, neck, and so on.
| | 00:33 | But if I go into my rig as well, you
can see that I also have those sorts of
| | 00:37 | naming schemes for my rig.
| | 00:40 | Now one of the conventions that I use,
now this may not be something that you
| | 00:44 | want to use, but I always put my
rigging naming conventions in upper case, and
| | 00:48 | that is more of a bold way of
saying this is the control that you use.
| | 00:52 | So if you see a left elbow in your
skeleton versus a left elbow in your rig,
| | 00:58 | you'll know that there are
differences between the two.
| | 01:01 | Another important thing is to
keep your names fairly short.
| | 01:05 | If you have really long names they are
going to be hard to read sometimes when
| | 01:09 | you're selecting them or when you're
working with them, so try and keep them as
| | 01:14 | short and as descriptive as possible.
| | 01:18 | So as you go through a rigging process,
you are going to be creating a lot
| | 01:21 | of different objects.
| | 01:23 | So as you create them, make sure
you enforce your naming schemes.
| | Collapse this transcript |
|
|
2. Skeleton ToolsUsing the Joint tool| 00:00 | In this chapter we're going to take a
look at how to build skeletons for our
| | 00:04 | character and before we actually
start fitting a skeleton to an existing
| | 00:10 | character, let's go ahead and just take
a look at some of the basic tools that
| | 00:13 | will need. And the main one that
we're going to look at is the Joint tool.
| | 00:19 | So we can find the Joint tool under
the Animation menu set, in fact, this is
| | 00:23 | where we're going to find most of our rigging
tools, and it's under Skeleton > Joint Tool.
| | 00:28 | Now you can also find it on the shelf
under Animation and it's this little icon here.
| | 00:36 | Now let's take a look at some of the
options that we have for our Joint tool
| | 00:39 | before we actually start building
anything. So I'm going to go ahead here and
| | 00:43 | click on this little box and
we'll get some of these options.
| | 00:46 | Now most of these options were going
to leave at default, but let's just go
| | 00:50 | through this so we understand what they are.
| | 00:52 | We have degrees of freedom, which is
how -- around which axis the joint can bend.
| | 01:00 | If you have a joint that's an elbow,
it's not going to bend quite in as many
| | 01:04 | degrees of freedom as say, a
shoulder or something like that.
| | 01:08 | How do we want to orient the joint, again,
we're going to leave that at default.
| | 01:12 | This little option here is pretty
handy, it's called Create IK handle.
| | 01:17 | Now we're not going to use this right
now, but later when we are creating IK
| | 01:21 | handles, you'll see how this can be
very handy and these are the options for
| | 01:25 | that IK handle. I am going to turn that off.
| | 01:28 | And the final one is Bone Radius
Settings. Now this can actually be very
| | 01:33 | important if your bones are showing
up a little too big or little too small
| | 01:38 | for your character.
| | 01:40 | The bones have kind of a fixed display
size in Maya, and if this doesn't quite
| | 01:46 | fit your character, then you can go
ahead and just adjust these up or down,
| | 01:51 | so that they do fit.
| | 01:52 | So I'm going to go ahead and close
this and let's go ahead and actually
| | 01:56 | start drawing a joint.
| | 01:58 | Now before we do that I want to get
to get into an orthographic viewport.
| | 02:03 | We typically draw skeletons in
orthographic viewports, because it allows more
| | 02:07 | control, it's kind of like drawing a curve.
| | 02:10 | You want to draw it in 2D first and then
if you need it to be in 3D, you can go
| | 02:15 | ahead and move it in a second step.
| | 02:17 | So I need to go into a side view.
| | 02:21 | In order to do that all I have to do
is go to a quad view, place my mouse over
| | 02:26 | the side view and hit the
spacebar, and I'm in the side view.
| | 02:30 | In order to draw a skeleton, all you have to
do is go Skeleton > Joint Tool, we're
| | 02:35 | going to leave it at default, and notice
how the cursor becomes a crosshair. This
| | 02:40 | is where we will lay down our joints.
| | 02:42 | All I have to do is left-click, and
you get a little circle and it tells you
| | 02:47 | that we've drawn a joint.
| | 02:49 | Now the joints themselves are
represented by circles, so if I draw a second
| | 02:54 | one, you'll see I get this second circle,
and again, it's highlighted in green,
| | 02:59 | draw another one and another one.
And so you can keep sketching out the
| | 03:05 | skeleton that you need.
| | 03:07 | When you're done you can either hit
the Select tool or hit Enter, and that
| | 03:12 | will highlight the skeleton. So let's take a
look at the skeleton and how it's constructed.
| | 03:17 | I'm going to go into my Outliner
window, so I'm going to go into Window >
| | 03:22 | Outliner, and this will bring up my
outliner and it'll show me that these joints
| | 03:27 | are actually sketched as a hierarchy.
| | 03:30 | So the first one, Joint 1 is this one at the
top, Joint 2 is this one, Joint 3 and Joint 4.
| | 03:39 | Now again, I want to point out that the
joints are the intersection, so it's not
| | 03:44 | the shin that we're drawing it's the
knee that connects the shin to the thigh.
| | 03:48 | For example, if this was a knee joint,
then we would have this be the shin and
| | 03:54 | above it be the thigh.
| | 03:56 | So the joints are circles and the
triangular portions connecting the joints
| | 04:01 | really are just Maya's way of telling
you how the hierarchy is constructed.
| | 04:06 | Now some people call these bones, but
they're really just kind of helpers to
| | 04:10 | show you how the whole thing is put together.
| | 04:13 | Now if I want to select a joint, I
can select either the joint itself or
| | 04:18 | anywhere below it on the bone, so if I
wanted to select this knee, for example,
| | 04:23 | I could select right on the knee or anywhere
on the shin we'll select that joint too.
| | 04:28 | Now if I want to, I can extend my
joints just by using the Joint tool.
| | 04:34 | So if were to just click on the Joint
tool, activate that, I could draw more
| | 04:40 | joints. If I get my cursor close to an
existing joint, it will extend the joint
| | 04:47 | chain that I've created.
| | 04:49 | So when I put my cursor down here near Joint 4,
it allowed me to draw Joint 5 and Joint 6.
| | 04:56 | Now another way to extend or to
modify a joint chain is under the Skeleton
| | 05:03 | tools, we have an Insert Joint Tool, so
if I wanted to, I could insert a joint.
| | 05:08 | All you have to do is click on the
joint and drag, and you can see how I can
| | 05:14 | drag out a division into that existing joint.
| | 05:19 | Similarly, I can also remove a joint, and
that will basically just get rid of that.
| | 05:25 | Now because joint chains are hierarchies,
we can also affect the way things are
| | 05:29 | constructed just by rearranging the hierarchies.
| | 05:33 | So in this case if I selected Joint 4,
and then middle click and drag that above
| | 05:39 | Joint 1, you'll see how this bone
connecting these two goes away, and that is
| | 05:45 | because now these are two separate joint chains.
| | 05:49 | So if I were to drag, for example,
this one down at the bottom of Joint 3,
| | 05:55 | it would connect them back up again. Or let's
go ahead and put that back the way it was.
| | 06:00 | Let's go ahead and do this the opposite way.
| | 06:03 | So if I wanted to, I could take Joint 1,
middle click, drag it over Joint 6, and
| | 06:08 | you can see I can rearrange it that way.
| | 06:11 | So those are other ways to
rearrange and reorganize the hierarchy.
| | 06:17 | Now one more thing I want to show you is how to
actually rearrange joints or how to shape them.
| | 06:23 | So all we have to do is use the Move
tool. So I'm going to go ahead and select
| | 06:26 | my Move tool, and I can just go ahead
and move my joints around to fit it to
| | 06:32 | whatever I'm working with.
| | 06:35 | Now typically you don't want to rotate
or scale joints while you're fitting them
| | 06:40 | to an object. You typically
want to use just the Move tool.
| | 06:45 | So those are some of the basics
on how to draw and create joints.
| | 06:51 | Now remember, joints are just a
hierarchy and you can rearrange joints later, so
| | 06:57 | sometimes if you can't draw it the way
that you want it, draw it as separate chains
| | 07:01 | and connect them up later.
| | Collapse this transcript |
| Modifying joint attributes| 00:00 | Once you've drawn your joints, you
may want to go through and affect them a
| | 00:05 | little bit further by
using the Attribute editor.
| | 00:08 | Let's go ahead and take a
look at this simple joint chain.
| | 00:11 | In fact, I'm going to open it up here
in the Outliner, and you can see that
| | 00:14 | I have a hip, a knee,
| | 00:16 | an ankle and a toe, at least
that's what I've named these.
| | 00:20 | So you can see how this is kind of like
a proto-leg skeleton. So let's go ahead
| | 00:26 | and see how we can further refine
bones using the Attribute editor.
| | 00:32 | So let's go ahead and select this
knee joint here, and I'm going to into my
| | 00:36 | Attribute editor, and I'm going to go
ahead and extend this here, so I can
| | 00:40 | see what I'm doing.
| | 00:42 | Now we have our transform attributes.
| | 00:44 | Now these are basically where the bone
exists in space, as well as rotation, and so on.
| | 00:51 | So if I were to rotate this, you can
see how I can rotate it along Z, which is
| | 00:57 | basically around the knee.
| | 00:59 | If I wanted to, I could rotate it, say
over the foot here, so this rotating the
| | 01:04 | knee and the foot, and that's
in the X direction, and so on.
| | 01:09 | Because this is a knee we might not
want it to rotate around every single
| | 01:14 | axis, and knee is kind of more like a hinge joint,
and in this case it rotates around the Z axis.
| | 01:20 | So if we want we can go down to our
Joint attributes here, and we have a
| | 01:25 | number of things here.
| | 01:26 | We have Draw Style; how do you
want this to be drawn in the scene?
| | 01:30 | The Radius, in another words, how big is
this bone, again, this goes back to the
| | 01:36 | Creation attributes here, and you can
actually change this, so if I wanted the bone
| | 01:40 | to be smaller I could say, type in .5,
and you can see how it gets smaller.
| | 01:44 | If I type in the number of 2, you can
see how it gets bigger, and I believe it
| | 01:49 | was at somewhere around .8 before.
| | 01:52 | Again, this is just a display attribute;
| | 01:55 | it doesn't affect anything other than
the way it shows up in the viewport.
| | 01:58 | Now the more important
one is, Degrees of Freedom.
| | 02:02 | So we can actually change or
restrict the freedom of this joint.
| | 02:08 | So if we wanted this just to be a knee
joint, or a hinge joint, I could limit X
| | 02:14 | and Y, and now when I select this I
can't rotate around X or Y, but I can rotate
| | 02:21 | around that blue or Z axis. And I
could to do that again for really anything.
| | 02:27 | If I wanted to I could good rotate only
around Y or really whatever axis you want.
| | 02:33 | This really is great for kind of
restricting how the animator can move a joint.
| | 02:39 | If you really want to joint to move
on a hinge then you can go ahead and
| | 02:42 | restrict it to that.
| | 02:44 | You can also create things such
as preferred angles and stiffness.
| | 02:48 | Now this gets into inverse kinematics;
you can have some joints bend more than
| | 02:53 | others and that's what stiffness is.
| | 02:55 | Now another really cool thing is that
we have what's called joint labeling.
| | 02:59 | So we can actually have Maya kind
of assign a label to these joints.
| | 03:06 | Now this can come in very handy if
you're doing things like working with motion
| | 03:10 | capture data, and you need to tell
Maya that this is a knee or this is a hip.
| | 03:16 | You can do that right here.
| | 03:18 | So you can tell which side this joint is on.
| | 03:21 | Okay, so let's say this is a right leg,
we can make this a right side leg, and
| | 03:27 | the type, this is going to be a knee.
| | 03:30 | So once we have that, Maya knows
now that that is a right knee, and if
| | 03:35 | you import motion capture data, it'll be
able to assign that little bit more accurately.
| | 03:40 | Now if you want we can also click this
on and draw a label, and you can see that
| | 03:46 | right here, it's saying that this is a
knee and then in parenthesis it says,
| | 03:51 | right. We can do that again for the hips.
| | 03:53 | So let's go head up to the hip here
and make this a right hip, and let's draw
| | 03:58 | that label as well, and you can see
that a little bit better, you can see that
| | 04:02 | this is a right hip.
| | 04:03 | I'm going to go ahead and select the
knee again, and we have another option here
| | 04:09 | called Limit Information.
| | 04:11 | So under Limit Information we can
actually limit how translation, rotation
| | 04:17 | or scale works.
| | 04:18 | Now with this joint, we're pretty much
going to be working with rotation, so
| | 04:22 | if we wanted to, we could
limit how the joint moves.
| | 04:26 | Now notice how these two are kind of
shown in blue, and that's because we turn
| | 04:31 | those off in terms of degrees of
freedom. So if I turn on Y, you can see how
| | 04:36 | that gets active there.
| | 04:38 | If I turn it off, you'll see how
that's restricted, but if I have a degree of
| | 04:44 | freedom on that joint, I can
also limit how far it can rotate.
| | 04:48 | So, for example, this knee, I might just
want to rotate it from say 0 to maybe a
| | 04:52 | little over 90 degrees, so I can rotate here
from 0, let's go ahead and type in 0, to,
| | 04:59 | go ahead and click this
box here, and let say 90 degrees.
| | 05:04 | So now I can only rotate it through that 90
degrees. I can't rotate it any more or any less.
| | 05:12 | Again, you're restricting the motion of
that knee to make it behave more anatomically.
| | 05:18 | Now a lot of times this is great,
because you don't hyperextend things like the
| | 05:22 | knee or anything like that. Sometimes
animators don't like it, because in order
| | 05:27 | to get something exactly right,
they may have to break some rules.
| | 05:31 | Be a little careful with this, but you
can see it could be very effective in
| | 05:35 | controlling how your skeleton works.
| | 05:39 | Now below that we have one more little
rollout here called Display. And this
| | 05:44 | allows us to display a selection
handle, display the local axis.
| | 05:49 | Now this can be very important if your
debugging something here, and what this
| | 05:53 | does is it shows exactly where the X,
Y, and Z axis is in the skeleton.
| | 05:59 | Now by default, and really how it
should be is, we want that X axis pointing
| | 06:04 | straight down the bone. If it's
not in that orientation, you may have
| | 06:09 | problems down the road.
| | 06:11 | Now if you just draw using the standard
tools you shouldn't have a problem, but
| | 06:14 | if you start reorienting your joints,
that sort of thing, you may have issues
| | 06:19 | and this is a great way to debug that.
| | 06:21 | And you can also have a selection
handle, like I said, and this is a size of
| | 06:25 | that selection handle, and of course if
you want, you can turn visibility on and
| | 06:29 | off, or you can template the
joint if you don't want to select it.
| | 06:34 | So those are some of the attributes
that you'll find when working with skeletal
| | 06:39 | joints. Play with this a little bit
and we'll be using these a little bit down
| | 06:43 | the road when we start
building a skeleton for our character.
| | Collapse this transcript |
| Creating the lower-body skeleton| 00:00 | Now let's go ahead and start
adding a skeleton to our character.
| | 00:04 | In this case we're going to start with
the lower part of the character; we're
| | 00:08 | going to do the legs and the feet, but
before we actually get started, let's go
| | 00:12 | ahead and do some housekeeping here.
| | 00:14 | We need to setup layers to make
it easier to build the skeleton.
| | 00:18 | So first thing I want to do is put all
the character's geometry on one layer and
| | 00:22 | then create a second layer for the skeleton.
| | 00:25 | So I'm going to go ahead and use my
Selection tool, and just rubber band select
| | 00:29 | everything in the scene, and under
Layers, go Create Layer from Selected.
| | 00:35 | Now all I have to do is double-click
on this layer and give it a proper name,
| | 00:40 | and in this case we're
going to call it Geometry.
| | 00:43 | And we'll hit Save and there it is.
| | 00:45 | Now one of the reasons we're creating a
layer is so that we don't accidentally
| | 00:50 | select things we don't want to select.
| | 00:52 | So we can do that here by either turning
if off, which we don't want, but we can
| | 00:56 | also set this to R, which allows us
to see this as a rendered object in the
| | 01:03 | viewport, but not allow us to select it.
| | 01:07 | This will be great for working with the
skeleton, because we can work with the
| | 01:11 | joints without accidentally
selecting the geometry.
| | 01:14 | So let's go ahead and start
drawing the joints of the character.
| | 01:18 | In order to do this we need to go
into an orthographic viewport, in this
| | 01:22 | case the side view.
| | 01:24 | So I'm going to go into my quad view,
place my mouse over the side view, hit the
| | 01:29 | spacebar and I should be in a side view.
| | 01:32 | Now in this case I'm going to do this
in wireFrame, so I'm going to hit the
| | 01:36 | number 4 key, and put it into wireframe,
and let's go ahead and zoom in on those hips.
| | 01:42 | Now in this case we need to
understand exactly where the skeleton of the
| | 01:48 | character is in reference to the body.
| | 01:52 | It's kind of important and depends on
how realistic your characters are, but
| | 01:56 | the more realistically you place your
bones, the more realistic your character
| | 02:01 | will deform and animate.
| | 02:03 | So this can be a very critical step is
getting the bones in the right place.
| | 02:08 | Now in this particular character he's a
little bit more stylized so we're not so
| | 02:12 | concerned with it, but let's go ahead
and make sure that the hips are located at
| | 02:16 | the right place, so his hip bone will
probably be located pretty much at the
| | 02:20 | center of this sphere.
| | 02:22 | His knee will be right around here, in
fact, let me go ahead and turn off the
| | 02:28 | grid here, so we can see
this a little bit better.
| | 02:30 | So we have one, two, three edge loops
here, so this middle edge loop is a great
| | 02:35 | place to put the knee,
the ankle and then the toe.
| | 02:39 | So let's go ahead and select our Joint
Tool, and start drawing the initial skeleton.
| | 02:44 | I want put the hips right around this
point here, but when I draw this, I'm
| | 02:51 | actually going to draw these
hips slightly behind the centerline.
| | 02:56 | And the reason I do that is mostly
because we're going to be animating these
| | 02:59 | legs using inverse kinematics.
| | 03:02 | So I'm going to go ahead and click here
and then go down to where the knee is,
| | 03:05 | and in this case I'm actually going to
place the knees slightly in front of this
| | 03:10 | centerline, and what we're looking
to do is create a bend in the knee.
| | 03:15 | Just a slight bend, but enough to tell
the Inverse Kinematics system that the
| | 03:20 | knee is going to bend forward, rather than back.
| | 03:24 | So let's go down to the ankle, and again,
we're going to place this right around
| | 03:27 | the top of the shoe, and again, I want
to make sure I get a nice little bend in
| | 03:31 | that knee joint there, so I'm going to
go ahead and put this slightly behind
| | 03:35 | that centerline. So now I
have this nice little bend here.
| | 03:39 | And now let's go to the foot.
| | 03:41 | Now the foot is going to bend pretty
much right around where the toe is, or the
| | 03:46 | ball of the toe, and so that'll be
somewhere before this little kind of bump
| | 03:51 | here, which represents
kind of the bump for the toe.
| | 03:53 | So I'm going to go ahead and put that
right about there on that edge loop, and
| | 03:58 | then one more, right out past the
front of the shoe to create the toe.
| | 04:04 | And once I do this all I have to do is hit
Enter, and you'll see we have our skeleton.
| | 04:09 | Now I'm going to go back into my
Perspective view here, and I'm going to turn on
| | 04:14 | Shading, and this will show us
where we drew our little skeleton.
| | 04:20 | Now the one thing is because we drew it
in that side view, we also drew it along
| | 04:26 | the centerline, so we will
need to move this into place.
| | 04:30 | But I want to see how this is
positioned in relation to the character.
| | 04:34 | So I can keep wireframe on, or another
way to do this under Shading is to do
| | 04:39 | what's called X-Ray Joints, and
that will allow you to see the joints
| | 04:44 | superimposed over a
rendered view of the character.
| | 04:47 | I'm also going to go ahead and turn
Wireframe on Shaded on, which will give me a
| | 04:52 | little bit more of a reference
for how to position these legs.
| | 04:54 | So I'm going to go ahead and select that
top joint and just move that into position.
| | 05:02 | Now I really just want this along the
center of that leg, so I'm basically
| | 05:08 | looking at the centerline here, in fact,
let me go into a front view here, so we
| | 05:13 | can see this a little bit more clearly here.
| | 05:16 | So I just want this
basically along the centerline.
| | 05:19 | Now once we have this, all we have to do
is duplicate it to create the other leg.
| | 05:27 | We can do that just by going Edit >
Duplicate, or Ctrl+D, and once I do that it
| | 05:33 | creates a duplicate of that leg
structure and then all I have to do is move that
| | 05:38 | second leg into place.
| | 05:41 | And again, I'm trying to get this
right down in the middle of that leg.
| | 05:46 | Now that I have this, let's go ahead
and take a look at it, so you can see how
| | 05:51 | it pretty much works within
the context of the character.
| | 05:56 | Now what we have to do is just
rename these with descriptive names.
| | 06:00 | Now, if you already have your naming
scheme setup, that's great, but I'm
| | 06:04 | just going to go ahead and call this
Hip_L for left, hit Enter, and now I
| | 06:12 | have a descriptive name.
| | 06:14 | Now if I want, I can go into the
Attribute Editor and do a little bit more.
| | 06:19 | So if I want I can scroll down to Joint
Labeling, make it a left-side hip.
| | 06:25 | And if I wanted I can even draw a label
over that, I'm not going to do that.
| | 06:29 | But now we have that incase
we want to use that later on.
| | 06:34 | Now all I have to do is just proceed
down both, right and left legs, and make
| | 06:40 | sure I name these descriptively, and
then we can go on to the next step.
| | Collapse this transcript |
| Creating the spine skeleton| 00:00 | Now let's go ahead and draw the spine
and start developing the upper part of
| | 00:06 | this character's body.
| | 00:08 | Now I already have the leg skeletons in
place and we're going to start working
| | 00:13 | with the character's spine.
| | 00:15 | Now before we do that let's take a
look at how this character is constructed.
| | 00:20 | I'm going to turn on Wireframe on Shaded
here, so that way we can see that these
| | 00:25 | characters actually two separate
objects, his hips and his legs are one piece
| | 00:30 | of geometry, and his shirt and his
hands are a separate piece of geometry.
| | 00:36 | Now the cool thing about this
character is that the upper part of the
| | 00:40 | body rotates around the lower part,
which will give us kind of a nice
| | 00:46 | cartoony effect.
| | 00:48 | It's a nice way to have the character,
have his shirt kind of move over the
| | 00:53 | other geometry without too much complication.
| | 00:56 | But also notice how we have just a
couple of edge loops here, we have one for
| | 01:00 | the bottom of the shirt and then two in
the middle, and then a couple of more to
| | 01:05 | develop his chest area, and then
also the head itself is separate.
| | 01:10 | So when we draw this, we want to make
sure that the hip, or the base of the
| | 01:15 | spine is kind of at the center of these hips,
so that way that shirt will rotate properly.
| | 01:21 | So I'm going to go ahead into my side view,
and we're going to start placing joints.
| | 01:28 | So I'm going to go into Skeleton >
Joint Tool, and the first joint I want to
| | 01:34 | place is at the center of this little
ball that is our character's hip. So I'm
| | 01:39 | going to place it right about here, and
then we need to place one joint per edge loop.
| | 01:46 | This will make deformation very easy.
| | 01:49 | So I'm going to go ahead and place one here.
| | 01:51 | Now I'm actually going a little
bit behind the centerline here.
| | 01:55 | Now if this was a realistic character, I
might go even further back, because the
| | 02:00 | backbone of the character does go
along the character's back and you want to
| | 02:04 | draw this anatomically correct.
| | 02:07 | Now this character is kind of a
cartoony character, so we're not as concerned.
| | 02:11 | But I'm going to go ahead and place a
bone at this edge loop, one up around
| | 02:16 | here where his arm kind of comes out, and
then we also need to do the head and the neck.
| | 02:23 | So I'm going to create one kind of in
the middle of his turtleneck to control
| | 02:27 | this area, another one kind of at the
base of the skull, and then we need to
| | 02:33 | control his head as well.
| | 02:34 | So I'm going to place one here,
slightly back and then one all the way out
| | 02:40 | towards the tip of the nose.
| | 02:42 | So this will control the nose of
the character as he turns his head.
| | 02:47 | And once we have all this, we can hit
Enter, and we can take a look at our skeleton.
| | 02:51 | Now the one thing I haven't done is anything
to control the front part of the character.
| | 02:59 | As the character kind of bends and moves,
you want to make sure that as he bends
| | 03:05 | forward or arches back, that the
front of the character behaves properly.
| | 03:10 | And the easiest way to do this
is to create some helper joints.
| | 03:13 | Let's go ahead and do that, I'm going to
deselect this, go into Skeleton > Joint
| | 03:20 | Tool, and then hover over this
joint right here along this edge loop.
| | 03:27 | Click there, that gets me started
at that bone, and I'm going to create
| | 03:32 | another joint out here, so we have a bone
going all the way out basically to his belly button.
| | 03:37 | And what that will do is that will
control that geometry so that when he twists
| | 03:44 | and turns, the front of the
character will twist and turn realistically.
| | 03:48 | So I'm going to hit Enter, and we're going to
do that one more time for the next edge loop.
| | 03:53 | So again, I'm going to click over there,
make sure that's activated, and again,
| | 03:57 | click out to the edge of that edge loop.
| | 04:00 | And let's do one more time for the
chest area, so I'm going to hit Enter,
| | 04:04 | Skeleton > Joint Tool, make sure I get this.
| | 04:08 | This is a little complex here with
all this geometry here, so I've got that
| | 04:12 | there and then select right there.
| | 04:16 | Let me go ahead over this one more
time so you can see how this works.
| | 04:21 | We have these additional joints out
here at the front of the character.
| | 04:25 | And what these do is they create
kind of like an accordion effect.
| | 04:30 | So if I skin this, this geometry
will follow each of these bones.
| | 04:36 | So if I were to rotate this left and
right, the front of that character would
| | 04:42 | move left and right more realistically,
so basically it keeps the character moving
| | 04:47 | the way that we want him.
| | 04:49 | Now we have basically the middle part
of the character, the spine and the head,
| | 04:56 | and we have the legs, but we
need to connect it all together.
| | 05:00 | So the easiest way to do that is to
just use the Outliner and create the
| | 05:05 | hierarchy that we want.
| | 05:06 | So I'm going to go into Window >
Outliner, and we have our left and right hip, as
| | 05:12 | well as joint 1, which is the base of
our spine, in fact, we can go ahead and
| | 05:17 | just rename that, and we can call that
Spine Root, to make everybody know that
| | 05:23 | it's a first joint of the spine.
| | 05:26 | And then what we can do is Shift+
Select the left and right hip bone, middle
| | 05:31 | click and drag that over the base of the spine.
| | 05:34 | And if you notice what happens there is
it creates two additional bones and those
| | 05:39 | bones basically tell us that everything
is now connected, and the root of that
| | 05:43 | character is that spine.
| | 05:46 | So now that we have the basics of the
legs and spine, next step is to start
| | 05:53 | creating the arms and we'll
do that in our next lesson.
| | Collapse this transcript |
| Creating the arms| 00:00 | Now let's draw the skeleton for the arms.
| | 00:03 | We're going to start with the left arm.
| | 00:07 | We're basically just going to draw
this straight out, so we're going to start
| | 00:10 | at around this joint, create a clavicle and
then a shoulder, and then the rest of the arm.
| | 00:16 | Now one of the things you'll notice is
that because we have these little helper
| | 00:20 | bones sticking out when I actually see
this from the front, you have two bones
| | 00:26 | overlapping, in fact, you
can see that here on this.
| | 00:29 | So you don't know if you're selecting the
actual spine bone or the bone in front of that.
| | 00:35 | When we draw this, you want to make
sure that you're drawing this over the
| | 00:40 | Spine03 bone, so let's go ahead and do that.
| | 00:43 | We're going to do Skeleton > Joint Tool,
and just position it over that bone
| | 00:48 | there, and you can see once I've
done that I've selected Spine03.
| | 00:52 | So I'm actually selecting it slightly
above where these two joints intersect and
| | 00:56 | that gave me the proper bone.
| | 00:59 | And now we're going to draw a little
bit of clavicle. So I'm just going to go
| | 01:02 | ahead and left click here, and
basically what we want is enough of a clavicle
| | 01:08 | here, so that he can shrug his shoulders,
but this is the actual shoulder, this
| | 01:12 | is kind of a clavicle, so we can
move his actual whole arm up and down.
| | 01:18 | The thing about the shoulder is that
it needs to be placed fairly precisely.
| | 01:24 | We have an arm that has
this amount of thickness.
| | 01:29 | So when the arm rotates 90 degrees, so that
it's at the character side, I want to make
| | 01:35 | sure that this arm is lying
flush to the character's side.
| | 01:39 | And this means that we need to place
that joint in a very specific place.
| | 01:44 | If we place it too far out, we'll have
space, if we place it too far in, it
| | 01:49 | will penetrate the body.
| | 01:51 | So what I typically do is I figure out
how much is half of that arm, and I go out
| | 01:57 | that much and then up, which is right
around here on this edge loop, and then
| | 02:02 | I'll go ahead and click.
| | 02:04 | And now the rest is actually fairly
simple, just click in for the elbow;
| | 02:09 | we're going down to the center of
the arm here, and for the wrist.
| | 02:14 | Now once I have these, I have the
skeleton drawn from the front view.
| | 02:19 | But since this starting bone was a
little bit towards the back of the
| | 02:23 | character, it's not lining up
vertically here, so you can see that this is
| | 02:27 | actually at the back of the arm.
| | 02:30 | Let's go into our top view and align that.
| | 02:33 | So I'm going to go ahead and select this
bone here which represents our shoulder,
| | 02:37 | and then just move that
towards the middle of the arm.
| | 02:41 | In fact, if I want,
| | 02:42 | I can also move that
clavicle in just a little bit.
| | 02:46 | If you want to use IK on your arms,
you'll also want to put a little bit of a
| | 02:51 | bend in the arm, so that
the IK system works properly.
| | 02:56 | So in this case, I'm going to go ahead
and move the shoulder a little bit forward
| | 02:59 | of this centerline, take the elbow, move
it back, and again, put the wrist right
| | 03:06 | around center. So that way we have just
a slight bend in the arm, which is just
| | 03:11 | enough to tell IK that this is the
way that this arm is going to bend.
| | 03:15 | So now that we have that in place,
| | 03:19 | you can see the arm is located fairly well.
| | 03:23 | Now we're not going to do the right arm,
we're actually going to draw the hand,
| | 03:26 | and then we're going to mirror everything over.
| | 03:29 | So go ahead and fine-tune your
positioning and also get your bones named
| | 03:34 | properly according to your naming scheme.
| | Collapse this transcript |
| Creating hand skeletons| 00:00 | Now let's go ahead and create the hand skeleton.
| | 00:04 | Now the hand is probably the
most complex part of the character.
| | 00:09 | And I've tried to make this a little
bit simpler by doing a three fingered
| | 00:13 | hand, rather than a four fingered hand, but
the process is pretty much the same for any hand.
| | 00:18 | What you want to do is take a bone
from the wrist to the knuckle, and then one
| | 00:24 | for each knuckle of the finger, so we
are going to do 1, 2, 3, 4, 5 bones per
| | 00:29 | finger, and then also the thumb.
| | 00:33 | So the best way to start
this is to go into the top view.
| | 00:36 | So I am going to go into my top view here.
| | 00:39 | Let me go ahead and turn off Grid so
we see this a little bit more clearly.
| | 00:44 | Again, I want to draw from here to this
knuckle, and then each of these knuckles.
| | 00:49 | Now what I've done is I've actually
surrounded each of these knuckles with three
| | 00:52 | edge loops, so we want to
aim for that center edge loop.
| | 00:56 | So let's go ahead and select our Joint
tool, click on the wrist, highlight that,
| | 01:02 | place one joint right around that knuckle,
another one at this one, one more and
| | 01:11 | then one at the tip.
| | 01:13 | Hit Enter, looks pretty good.
| | 01:16 | Okay, so let's just keep going.
| | 01:18 | I'm going to do one here for this
middle finger, again, one at the knuckle, and
| | 01:23 | then each joint in the
finger, and one more for the tip.
| | 01:27 | Hit Enter, select the Joint tool
again, and let's just keep going.
| | 01:35 | And there's our index finger, and again,
we are trying to make sure that these
| | 01:40 | go down the center of the
finger as much as possible.
| | 01:44 | Now the thumb is a little bit different.
| | 01:47 | The joint kind of goes sideways a little bit.
| | 01:50 | So I've got a joint here, as that
thumb hits the fleshy part of the hand, so
| | 01:55 | somewhere around here, and then one
for each joint again. So we are going to
| | 02:00 | select the Joint tool.
| | 02:02 | I'm going to put a joint right about
here, one here, here, and then again, at
| | 02:10 | the tip of the thumb, hit Enter.
| | 02:12 | We've got the joints basically laid out,
but only laid out from the top view.
| | 02:18 | We still need to adjust them in 3D, so that
they go through the fingers at the proper place.
| | 02:25 | The easiest way to do that is to
go into either a front view or a
| | 02:29 | perspective view, or both, just
however you need to work in order to get
| | 02:34 | these aligned properly.
| | 02:36 | I'm going to work in the perspective window
and just show you some of the basic techniques.
| | 02:40 | I am not going to tweak this
entirely, but let's just show you some of
| | 02:44 | the workflow for this.
| | 02:45 | So let's go ahead and look at the pinky.
| | 02:48 | I've got X-Ray turned on.
| | 02:50 | One thing you might also want to turn
on is Wireframe on Shaded, which will
| | 02:54 | give you a little bit better view as to
where the detail is, and where you need
| | 02:58 | to have these working.
| | 02:59 | Now I know that bones are aligned from a
top view, so all I really need to do is
| | 03:06 | to move these bones down or up in order
to get them in the center of the finger.
| | 03:12 | That's probably the most key part of doing this.
| | 03:14 | So, typically I will just hit my W key, but I'm
just going to be working in the vertical axis.
| | 03:21 | Also notice, how these fingers are
kind of curving up just a little bit,
| | 03:25 | but that's really just to give kind of a
nice flair to the fingernails on the character.
| | 03:30 | So let's go ahead and do this one more time.
| | 03:32 | Again, you probably only will have to
move these up or down to adjust them,
| | 03:36 | because they are adjusted in the X-Z
axis, we are just moving them along Y and
| | 03:44 | again, for this index finger.
| | 03:49 | And again, you may need to spin this
around just to make sure that it's working.
| | 03:53 | And if you can look at the thumb, we
can see the thumb is totally off here.
| | 03:57 | Now I am just doing a very rough tweak of this.
| | 04:01 | So you may spend a little bit more
time than I'm doing to getting this right.
| | 04:06 | But again, you can see what the process is.
| | 04:10 | We get it correct from the top, and then we
try and tweak it from the other directions.
| | 04:17 | Now if you look at this here, this thumb is a
little bit off, you can see I can move it there.
| | 04:25 | So those are some of the basics of how to
get a hand skeleton blocked out and tweaked.
| | 04:32 | Now I'm going to leave it up to you to
fine-tune the positioning of your bones
| | 04:37 | and also go ahead and name these appropriately.
| | Collapse this transcript |
| Mirroring joint chains| 00:00 | Now that we have one arm built, we
can use that to create the other arm.
| | 00:06 | My character is modeled symmetrically,
and this will only work if you've modeled
| | 00:12 | your character symmetrically.
| | 00:14 | And also the other thing that we need
to make sure of is that the character is
| | 00:18 | centered to the world.
| | 00:21 | All we have to do to create a second
arm skeleton for the right arm is to
| | 00:26 | mirror the left arm.
| | 00:28 | And we do that very simply by
doing Skeleton > Mirror Joint.
| | 00:34 | The first thing I need to do is
select the joints I want to mirror, so I am
| | 00:38 | going to start at the left clavicle.
| | 00:41 | I'm not going to select here, I'm going
to select here at the left clavicle, and
| | 00:45 | then I am going to flop
those over to the other side.
| | 00:48 | Let's go under Skeleton > Mirror
Joint and select the options here.
| | 00:53 | And let's get everything
arranged so we can see it.
| | 00:58 | We have a couple of options here,
one is, how do we want to mirror?
| | 01:01 | Do we want to mirror across XY, YZ or XZ?
| | 01:07 | Now the easiest way to figure this out is to
figure out which way the joint is pointing.
| | 01:11 | In this case, if I look at my little
gizmo here, you can see that it's actually
| | 01:16 | pointing along the X axis, so the two
left over are Y and Z, so that's what it's
| | 01:21 | going to mirror across.
| | 01:24 | And then Mirror function, Behavior or
Orientation; in this case we're doing right
| | 01:29 | to left, or left to right, we
want to keep that at Behavior.
| | 01:33 | In terms of replacement names, we
can actually search and replace names.
| | 01:38 | So if you notice here in my naming
scheme, I always have an _L or an _R to
| | 01:45 | determine left and right.
| | 01:47 | If I want to, I can search for _L and
replace it with _R for right, and let's go
| | 01:55 | ahead and hit Mirror, and boom, there it is.
| | 01:59 | Once we have this mirrored, you can check this.
| | 02:01 | We can see that that's
Shoulder_R, so, my rename did work.
| | 02:05 | And let's go ahead and just check,
make sure that our placement is accurate.
| | 02:10 | Those hands look pretty good, and it looks great.
| | 02:15 | Now we have a basic skeleton
in place for our character.
| | Collapse this transcript |
|
|
3. Inverse Kinematics Working with inverse kinematics (IK)| 00:00 | Now that we understand the Joint tool
and how to use it, let's take a look at
| | 00:05 | tools that allow us to
manipulate joints more easily.
| | 00:08 | Now this chapter is basically just
going to go through some of the tools, and
| | 00:12 | then we'll use them later to rig the character.
| | 00:16 | So the first tool I want to look at is
probably one of the most important tools
| | 00:20 | you need to know in character
animation, and that's the IK Handle tool.
| | 00:25 | In this one we're just going to take a
look at inverse kinematics and how it
| | 00:29 | works, and basically how to set it up.
| | 00:32 | So inverse kinematics is one of two
ways to manipulate joints in a skeleton.
| | 00:39 | The first way is called forward
kinematics, and that is basically rotation.
| | 00:45 | So you rotate the joints into place,
and that's probably the more natural way to
| | 00:51 | manipulate joints, because the bones in your
body basically just rotate around each other.
| | 00:57 | Every motion in your body is in
some way a rotation of joints.
| | 01:02 | Inverse kinematics introduces the
concept of a goal, in other words, a place
| | 01:07 | where all the joints need to rotate to, so
this allows you to position the end of a joint.
| | 01:15 | So the easiest way to remember it is,
forward kinematics is when you rotate joints,
| | 01:19 | inverse kinematics is based on position.
So you tell the joints where you want
| | 01:24 | to be in space, and then
they rotate to that point.
| | 01:28 | Let me give you a quick demonstration.
| | 01:31 | I've got two sets of joints,
they are identical joint chains.
| | 01:34 | One is unencumbered, it has no inverse
kinematics on it, so this is manipulated
| | 01:41 | using forward kinematics.
| | 01:43 | The one on the right has this little IK
handle on it, and that allows us to
| | 01:48 | manipulate the joint using inverse kinematics.
| | 01:52 | So I'm going to go out to a side view
here, and I'm going to zoom in a little,
| | 01:57 | so that we can see what we're doing,
and forward kinematics again, is rotation.
| | 02:03 | So if I wanted to take the end of this
joint chain and place it on the origin, I
| | 02:09 | would have to rotate all the joints into
place, so let's do that very quickly,
| | 02:13 | I'm going to hit E, to get into Rotate mode.
| | 02:16 | As you can see, when we start rotating,
it's kind of hard to actually hit that
| | 02:22 | target, so I have to rotate this one
away, and maybe this will towards it, and
| | 02:27 | this one towards it again, and then
maybe we rotate this one in. I'm basically
| | 02:32 | estimating, I'm not really being very
accurate in the way that I place these
| | 02:39 | joints, because rotation and position,
they don't match up really well. But
| | 02:45 | inverse kinematics, it
makes it much more easily.
| | 02:47 | If we want to be exactly on the origin
with this inverse kinematics chain, all I
| | 02:53 | have to do is select this little cross
at the bottom, and that's called ikHandle1,
| | 02:57 | then just hit W to go into Move mode,
and just translate this to the origin,
| | 03:03 | and it was just simple as that.
| | 03:04 | Maya automatically rotates the joints
evenly to make them hit that target.
| | 03:12 | Now if I go beyond the target, obviously
we're going to have a problem with that
| | 03:16 | not going as far as we want, but
generally within the range of the lengths of
| | 03:21 | the joints, everything will sync up.
| | 03:24 | So as you can see, each
one has a different purpose.
| | 03:28 | Typically, forward kinematics is a
little bit more natural, because it's based
| | 03:33 | on rotation, so will naturally give you
those arcs you want to see in character
| | 03:37 | animation, but they both have their place.
| | 03:41 | So now that we understand how this works,
let's show you how to set it up very quickly.
| | 03:47 | So I'm just going to do a File > New
Scenes, so that way we'll just clear
| | 03:51 | out what we have, and again I'm just
going to go into my side viewport, and select
| | 03:57 | Skeleton > Joint Tool, and let's just
do a very simple joint chain and I'm just
| | 04:01 | going to do a two-bone chain, so I'm
going to go ahead left click here, left
| | 04:06 | click a little bit ahead of this middle
line here, and then click again to give
| | 04:12 | it that nice bend. And the reason we're
giving it a bend is to tell it which way
| | 04:16 | we want inverse kinematics to bend the joint.
| | 04:19 | Now we did this a little bit before
in the previous chapter, and let's show
| | 04:24 | you why we do this.
| | 04:25 | So now that we have a joint chain,
we can set up inverse kinematics.
| | 04:31 | So all we have to do is do Skeleton >
IK Handle Tool, or if you're on your shelf
| | 04:36 | you can select it using this icon,
either way it'll work, and then what we want
| | 04:41 | to do is select the first joint we want
in the IK chain, in this case, it's the
| | 04:46 | top joint, and then the last joint,
and in this case it's the bottom joint.
| | 04:52 | We don't have to -- we can actually have
IK chains in the middle of a string of
| | 04:57 | joints, but in this case we want it to the end.
| | 04:59 | And what it does is it creates this IK
Handle, and once we have that we can
| | 05:06 | select it, hit W, go into Move
mode, and as you can see the joint is
| | 05:11 | bending in that direction.
| | 05:15 | Now if I were to draw the joints
straight, it wouldn't understand what
| | 05:18 | direction the joint is in, and it won't
be able to bend it, that's why we give
| | 05:23 | it a little bit of a bend.
| | 05:24 | Now if we take a look at this in the
Outliner, you'll see we have our joints
| | 05:29 | here, but the IK Handle is actually a
separate object that's outside of that
| | 05:35 | joint chain, and this is what allows
it to move it separately, so that it can
| | 05:40 | position the end of that joint.
| | 05:43 | So those are some of the basics of IK
Handles and inverse kinematics in Maya, so
| | 05:48 | just remember we have two ways to
manipulate joints: forward and inverse
| | 05:53 | kinematics, and each has their place.
| | Collapse this transcript |
| Understanding IK solvers| 00:00 | Now that we understand the basics
of IK, let's get into some of the
| | 00:05 | technical nitty-gritty about how it works, so
I'm going to talk a little bit about IK solvers.
| | 00:12 | Now Maya has two basic IK solvers for
these types of joint chains, and let's
| | 00:18 | take a look at how both of those work.
| | 00:20 | An IK solver is really just the
algorithm that Maya uses to determine how to
| | 00:26 | rotate the joints to hit the IK handle.
| | 00:30 | So we can create different solvers when
we create the IK chain, or we can swap
| | 00:35 | them out later in the Attribute Editor.
| | 00:38 | So let's go ahead and add
an IK handle to this chain.
| | 00:43 | Before we do that, let's go ahead and
look at some of the options we have here.
| | 00:47 | So if we go to the IK handle Tool and hit
the Options button there, you'll see we
| | 00:51 | have our current solver is the
SCsolver, and we also have an RPsolver.
| | 00:59 | The SCsolver is the single chain solver,
| | 01:03 | the RPsolver is called the rotate
plane solver, and let me show you the
| | 01:09 | differences between how they work.
| | 01:11 | So we're going to start with the
SCsolver, so I'm going to go ahead and click
| | 01:16 | on that, leave everything else at
default, and then I'm just going to click at
| | 01:20 | the top of this chain and at the bottom.
And what we do is we've created an IK handle.
| | 01:27 | Now I can move this IK handle anywhere
I want, but let's say, for example, this
| | 01:33 | was a character's knee, and I wanted to
adjust the rotation of the knee left and right.
| | 01:39 | With the single chain solver, this is
done by rotating the IK handle, so if I
| | 01:46 | rotate this handle, I can rotate the knee.
| | 01:49 | Now this may work for some applications,
but it's not super accurate in terms of
| | 01:57 | its performance. This is why they've
created the RPsolver to give you more
| | 02:03 | detailed controls of the
direction of that chain.
| | 02:07 | So let's go ahead and create a second
one here. I'm going to go ahead and select
| | 02:12 | my IK handle and hit Delete.
| | 02:16 | So we're going to go back in the
Skeleton > IK Handle Tool, and this time for
| | 02:21 | current solver I'm going to
choose the RP or rotate plane solver.
| | 02:26 | I'm just going to click at the top and
the bottom of this chain, and notice how
| | 02:31 | when this comes up, it looks a
little bit different, it's got this little
| | 02:34 | circle at the top, and this is what we
call the rotate plane, this is how we
| | 02:39 | can rotate this chain.
| | 02:42 | Probably the easiest way to affect this
is to use the Manipulator tool, so if I
| | 02:46 | select this, that means I can actually
rotate this by just rotating this object
| | 02:52 | around this plane, and it allows
you to precisely position the knee.
| | 03:01 | Now when we do this, you'll notice how
the pole vector in X is what's changing,
| | 03:07 | so we can actually change that using these
pole vector X, Y and Z in the channel box.
| | 03:14 | We can also use a constraint to point
the knee at a specific object, which
| | 03:19 | we'll do in a little bit.
| | 03:22 | All IK handles, both the rotate plane
and the single chain solver, have a number
| | 03:28 | of attributes as well that we can work
with, so I'm going to hit Ctrl+A, and go into
| | 03:32 | my Attribute editor, and
keep my IK handle selected.
| | 03:36 | Now if you notice, we have
our Transform Attributes.
| | 03:40 | In other words, where is this IK
handle located, in fact, let's go into Move
| | 03:44 | mode here, so you can see that as we
move this, it translates, and that's the
| | 03:48 | same for any object.
| | 03:51 | We also have info as to what part of the
skeleton is being affected by this IK chain.
| | 03:57 | Now the next one is called Snap. We
can enable snap to particular objects.
| | 04:03 | The other one is called Stickiness.
| | 04:06 | When Stickiness is off, let
me show you how this works.
| | 04:11 | When we select the actual joint chain
itself and move it, notice how the IK
| | 04:16 | handle is moving with the master joint.
This probably doesn't work for something
| | 04:23 | like a leg, so if I wanted to keep my
leg planted, I would have to find a way to
| | 04:31 | keep that IK handle stuck. So that's
what sticky does, is it sticks the IK
| | 04:38 | handle and kind of separates it
from the movement of the joint chain.
| | 04:42 | So when I turn on sticky, I can select
the top of the joint chain and you notice
| | 04:48 | how my IK handle sticks.
| | 04:50 | Now this is just one way to make the
IK handle stick, if we put the IK handle
| | 04:57 | into a hierarchy with something else,
or constrain it to another object, that
| | 05:02 | will also make it stick.
| | 05:03 | Now down here we have a number of
other things such as Po Weight, which is
| | 05:09 | Position Orientation weight.
| | 05:11 | In other words, do you want to
prioritize the position of the IK handle or the
| | 05:16 | orientation, which is the rotation of
that IK handle. And then also down here we
| | 05:21 | have IK Solver Attributes, and this is
where we can switch between different
| | 05:25 | types of IK solvers.
| | 05:27 | So if I've created that using the
RPsolver and want to change it to the SCsolver,
| | 05:32 | I can switch between those two.
| | 05:35 | Now notice how we have a third one
here called the hikSolver, and that's for
| | 05:40 | human IK, and that's for anything that's
characterized or in the human IK system.
| | 05:46 | Now we're not going to
deal with that at this point.
| | 05:49 | And then finally, we have the IK
Blend control, which allows us to turn IK
| | 05:56 | on and off during animation.
| | 05:59 | Now these are in the Attribute editor.
| | 06:02 | Also a lot of these are in the channel
box, such as Pole Vector and IK Blend, so
| | 06:08 | you can get to those a little bit more
easily through the channel box as well.
| | 06:13 | Now you can also get additional IK
solvers; people distribute them as plug-ins,
| | 06:18 | and so on, but the two main IK solvers
in Maya are again, the single chain and
| | 06:25 | the rotate plane solver, and the
big difference between those is how it
| | 06:29 | calculates the rotation of the joint chain.
| | Collapse this transcript |
| Blending between inverse and forward kinematics (FK)| 00:00 | When we start animating IK chains in
Maya, there will be instances where we'll
| | 00:05 | need to turn IK off. And we can do that
using the standard Maya IK solvers with
| | 00:12 | the attribute called IK Blend. So
let's take a look at how IK Blend works.
| | 00:18 | Now I have a simple chain
with an IK handle at the bottom.
| | 00:23 | If you notice here we have
an option called IK Blend.
| | 00:29 | When IK Blend is at 1, IK is on.
| | 00:33 | When it's at 0, IK is off.
| | 00:37 | Right now, by default, it's at 1, so
that means I can move the IK handle, but if
| | 00:44 | I try to rotate the joints I can't.
| | 00:48 | If I select that IK handle again, and
turn IK Blend to 0, notice how I can now
| | 00:56 | rotate those joints, and notice how
they can rotate off of that IK handle.
| | 01:01 | I'm going to undo that for right now,
and let's select this IK handle again
| | 01:07 | and just turn it to 1.
| | 01:09 | Now the real benefit of this is when
we get into animation, because there are
| | 01:14 | times when we want to position
something, then rotate a joint off of that and
| | 01:19 | then maybe even return back to that position.
| | 01:22 | So let's do a little bit of animation.
| | 01:24 | I'm going to select this IK handle, and
let's make sure we have Auto Key turned
| | 01:30 | on. I want to go ahead and turn this on
here in the bottom right corner, and I'm
| | 01:34 | going to set a key for the IK handle.
| | 01:38 | Now notice when we Set Key, it sets
keys for everything, including IK Blend.
| | 01:43 | I'm going to move forward to frame 6
and go ahead and set one more key, so now
| | 01:49 | we have two keys with the IK Blend at 1.
And when IK Blend is at 1, we can't
| | 01:55 | rotate the joints, but I can
set keyframes for those joints.
| | 02:00 | So I'm going to go ahead at frame
6 and set some keyframes for those
| | 02:04 | joints, even though I can't rotate them, I'm
going to have one for them in that position.
| | 02:11 | So let's move forward to frame 10, and
I'm going to select the IK handle again.
| | 02:17 | This time I'm going to turn the IK
Blend to 0, when I do that, it sets
| | 02:23 | another key, because I changed a
parameter, and now I can rotate these off
| | 02:29 | of the IK handle.
| | 02:32 | I can actually rotate my
joints and I can animate them.
| | 02:39 | I can actually animate my
IK handle when IK is at 1.
| | 02:45 | So when the IK handle is at 1, you can see
my IK Blend is at 1, and I'm controlling
| | 02:52 | those joints. But notice how we also
have a little bit of a ghosting effect here,
| | 02:58 | and that's because these joints already
have keyframes on them, they were keyed to
| | 03:04 | that original position.
| | 03:06 | So if I were to turn IK off, they'll
basically transition to that position. This
| | 03:14 | is really just Mayas way of telling you
that if IK is turned off, this is where
| | 03:18 | the bones will wind up.
| | 03:21 | And then as I animate IK Blend off,
again, it goes to those positions.
| | 03:27 | Now notice how when I'm rotating these
joints, the IK handle moves along with it.
| | 03:33 | We can change that by
using the Attribute editor.
| | 03:38 | So if I go into the Attitude editor and
select my IK handle, you'll notice that
| | 03:44 | I have an option here called Snap Enable.
| | 03:47 | If I turn that off, the
IK handle will now stick.
| | 03:52 | If I rotate my joints, the IK
handle now sticks to wherever it was.
| | 04:01 | So now I'm rotating off of that.
| | 04:05 | Again, that parameter here for the IK handle
is called Snap Enable, it's either on or off.
| | 04:12 | So if you want the IK handle to
follow your joint chain, then keep it on.
| | 04:17 | If you want your IK handle to
stay locked in space, keep that off.
| | 04:21 | So now once I have this, I can again
animate IK Blend back on, and you can see
| | 04:30 | how now I've moved the joint, moved it off
of the IK handle, and then brought it back.
| | 04:37 | So those are some of the basics about
how to turn inverse kinematics on and off.
| | 04:42 | Now we're going to go into some more
sophisticated ways of controlling this
| | 04:45 | as well later, but I want you to make
sure that you understand the concept of
| | 04:50 | IK Blend.
| | Collapse this transcript |
| Using spline IK| 00:00 | There is a second type of inverse
kinematics that Maya provides and that's
| | 00:06 | called Spline IK, and it works a
little bit differently in that it constrains
| | 00:11 | the shape of the IK chain,
rather than just the position.
| | 00:16 | We're going to start here with just a
blank Maya scene, and lets just go ahead
| | 00:20 | and show you how this works.
| | 00:22 | I'm actually going to go into a side
viewport, because it's probably easier to
| | 00:25 | show you in a side viewport here, and
we're just going to draw a very simple
| | 00:31 | skeleton. We're going to use our
Joint tool, and instead of just a straight
| | 00:35 | skeleton, we're going to draw something
that's a little bit more windy or curvy.
| | 00:40 | So I'm going to kind of draw this S-shape curve
here, and then just hit Enter to finalize that.
| | 00:48 | Now if I were to use a standard IK
handle, it would just constrain the end
| | 00:54 | points of this chain.
| | 00:55 | So if I go into my IK Handle tool,
click on the first joint and the last
| | 01:01 | joint, well, the IK handle does work,
but it's going to try and retain the
| | 01:06 | shape of that joint.
| | 01:08 | If we want to actually animate the
shape of this, we can't do it using
| | 01:12 | the standard IK handles.
| | 01:14 | So I'm going to go ahead and hit Delete on
that handle, and we're going to create a new one.
| | 01:19 | So we're going to go under Skeleton and
choose IK Spline Handle Tool, let's go
| | 01:25 | ahead and take a look at the option for this.
| | 01:27 | Now we have number of options here,
we're going to leave most of this at
| | 01:30 | default, one is called Root on curve,
and that's really where's the root of
| | 01:34 | this joint chain sitting, do we want to
auto parent it to a curve, do we want to
| | 01:40 | automatically create a curve? Yes,
we want do that and simplify a curve.
| | 01:45 | The next one is the number of spans, in
other words, how detailed do you want the
| | 01:50 | curve to be created?
| | 01:52 | By default, it's at 1, but to show you
this a little bit more precisely, I'm
| | 01:55 | going to turn this up to 3, and then
we're going to create the joint chain
| | 02:00 | just like we did before.
| | 02:02 | I am going to click on the first joint
in the chain and the last joint in the
| | 02:06 | chain, and let's go ahead and close this.
| | 02:09 | Now we have an IK handle here, and if
we want we can select this IK handle and
| | 02:15 | if we go into our Move tool, you'll
see that well it doesn't work. That's
| | 02:19 | because this type of IK chain works
very differently than the ones we were
| | 02:26 | working with before. Let
me show you how this works.
| | 02:29 | Probably the best way to see this is to
go into the Outliner, so I'm going to go
| | 02:34 | into my Outliner, and you'll see that I
have my joint chain, just like we had
| | 02:39 | before, I have an IK handle just like
we had before, but I also have a separate
| | 02:46 | curve. And this curve is actually
now the controller of this IK chain.
| | 02:54 | So in other words, the joints of this
chain are constrained to follow this curve.
| | 03:01 | So if I want to manipulate the
shape of the chain, I have to manipulate
| | 03:05 | the shape of the curve.
| | 03:07 | So if I right-click over the curve, I
can go into control vertex mode and you'll
| | 03:12 | see that we have a number of CVs for this curve.
| | 03:16 | So I can select one of these and move
it and as you can see, it's actually
| | 03:22 | changing the shape of this IK chain.
And you can see how this can be very, very
| | 03:28 | handy for precisely controlling an
object or shape. You can have the joints
| | 03:34 | manipulate the mesh, say the tail of a
character, a snake, really anything; a
| | 03:39 | hose, and then the curve
is controlling the joints.
| | 03:43 | Curve controls the joints which control
the deformation. Because this is just a
| | 03:48 | standard curve, we can use all
sorts of tools to deform that curve.
| | 03:53 | We can just manipulate the control
vertices directly, or we can use things such
| | 03:59 | as clusters, or blend shapes, to
more precisely control this curve.
| | 04:05 | Now another thing I want to show you is
that when I manipulate this curve, the
| | 04:11 | joints themselves maintain the same length.
| | 04:15 | So if I shorten this curve, you'll see
that this joint kind of protrudes beyond
| | 04:19 | the end of the curve.
| | 04:20 | If I lengthen the curve, you'll see
that the joints still stay the same length.
| | 04:26 | Now this can be very important in
character animation, because the tail of your
| | 04:30 | character will always be the same
length. You're not going to be stretching and
| | 04:35 | squashing it, and this can be very
important for realistic animation.
| | Collapse this transcript |
|
|
4. Constraints Point constraints| 00:00 | In this chapter we are going
to take a look at constraints.
| | 00:03 | Now constraints are very important for
rigging, in that they allow you to create
| | 00:08 | external controls to your skeleton.
| | 00:12 | Now constraints are contained in the
Constrain menu, we have a Point constraint,
| | 00:18 | which constraint the
position of one object to another.
| | 00:22 | We have Aim, which allows you
to point one object at another.
| | 00:27 | Orient, which basically matches the
rotation of one object to another.
| | 00:33 | We also have a bunch of other ones, such
as Scale, which obviously allows you to
| | 00:37 | constrain the scaling.
| | 00:38 | Parenting, which allows you to turn
on and off hierarchies within Maya, and
| | 00:44 | another important one for character
rigging is Pole Vector constraint, which
| | 00:50 | allows you to constrain the
orientation of a joint chain.
| | 00:54 | So let's get started by taking
a look at the Point constraint.
| | 00:58 | Point constraints allow you to
constrain the position of one object to another.
| | 01:04 | So before we actually use them, let's go
ahead and set up an object to control another.
| | 01:10 | So I have a simple IK rig, I have
an IK handle, and a joint chain.
| | 01:16 | So let's go ahead and set up a control for this.
| | 01:18 | We are going to do this by creating a curve.
| | 01:22 | So we are going to go ahead and do
Create > NURBS Primitives > Circle.
| | 01:26 | And then I'm just going to go ahead
and drag out a circle on the grid.
| | 01:30 | Now when we get into actually rigging a
character, we're going to create a lot of our
| | 01:34 | controls using curves, this is because
they don't render and you can see them in
| | 01:39 | the viewport. They're kind of a handy
little way of creating external controls that
| | 01:44 | the animator can see, but
the renderer doesn't see.
| | 01:48 | I can use this to actually create
a control to control the IK handle.
| | 01:54 | So if we look at this structure in the Outliner,
we see we have an IK handle and NURBS circle.
| | 02:02 | So let's go ahead and constrain the IK handle
to the NURBS circle using a Point constraint.
| | 02:08 | So first thing I want to do is select
the NURBS circle, the constraining object
| | 02:12 | or objects first, then select
the constrained object last.
| | 02:19 | Then I can go into Point constraint here,
and I'm going to go ahead and show you
| | 02:24 | some of the options here.
| | 02:25 | So the options for this are, do
we want to maintain the offset?
| | 02:30 | Now I just drew this circle randomly,
it's not snapped to the IK handle.
| | 02:36 | If I want to maintain that offset, all
I have to do is click this, and this way
| | 02:41 | the IK handle won't move, and won't
snap to the center of that circle.
| | 02:46 | I'm going to leave that off.
| | 02:48 | Do we want to use animation layers?
| | 02:49 | I am not really going to be doing
that right now, but you can have
| | 02:53 | constraints go on and off in specific
animation layers, and then under which
| | 02:58 | axes do you want to constrain?
| | 03:00 | You want to constrain X, Y,
and Z, or just individual axes.
| | 03:04 | And there's also a Weight control, so you
can actually turn constraints on and off.
| | 03:10 | This is really handy when you have
things such as a character picking up an
| | 03:14 | object, or something like that.
| | 03:15 | You can constrain how that
character is connected to that object.
| | 03:20 | Anyways, I'm going to leave these
at the default, and let's press Add.
| | 03:24 | Now if you do that, you will see that
the IK handle snapped just a little bit
| | 03:29 | to that NURB circle, and now, when I
move that NURB circle, the IK handle moves
| | 03:36 | with it.
| | 03:39 | And this is the basis of a lot of rigging.
| | 03:42 | At this point, I can move the IK
handle off of the NURB circle, but we can
| | 03:48 | change some of that by checking
into the attributes of that constraint.
| | 03:53 | So if I select the NURB circle and go
into the Attribute Editor, you will see I
| | 03:57 | have a tab here called pointConstraint,
and that's the one that I added.
| | 04:01 | In fact, if you look over here on the
IK handle, it also has a pointConstraint on
| | 04:08 | it, of the same name.
| | 04:09 | So this, basically if you want to
know which constraint is affecting this
| | 04:13 | IK handle, you can see it here and it's
also in the tab under the nurbsCircle.
| | 04:19 | So under IK handle, under this constraint,
we have our Transform Attributes, let
| | 04:25 | me go ahead and make this bigger here.
| | 04:27 | Point Constraint Attributes, those
are the most important ones, and the one
| | 04:30 | you want to take a look at, and this
is probably one of the more important
| | 04:32 | ones is Lock Output.
| | 04:34 | And what that does is it basically locks
that IK handle from moving.
| | 04:39 | So now I can't move that IK handle,
but I can move the NURBS circle.
| | 04:45 | Now here we have a translate, and this
is basically how far did it have to move
| | 04:50 | that IK handle to match the center
of that NURB circle when I snapped it?
| | 04:55 | So that's one way of creating a constraint.
| | 04:58 | Now if we want, we can actually
constrain the top of this IK chain as well.
| | 05:04 | So all I have to do is select my NURB circle,
and let's go ahead and just duplicate it.
| | 05:08 | So I am just going to do Edit >
Duplicate, or Ctrl+D, and that just creates a
| | 05:13 | second NURBS circle with no constraints.
| | 05:17 | It just copies the circle itself.
| | 05:20 | Now if I want to constrain the top
of this joint chain to the circle, we
| | 05:23 | can certainly do that.
| | 05:24 | So I have to select the circle, Shift+
Select the top joint here, which is called
| | 05:29 | joint1, and you can see that highlights,
and then again, do a Point constraint.
| | 05:34 | And you can see how that snaps again
to that object, I kind of created that a
| | 05:40 | little bit high, but I can
certainly push that down a little bit.
| | 05:42 | You can see now I have two constraints.
I have a constraint for the top and the
| | 05:49 | bottom of this chain.
| | 05:51 | And that's going to be really, really
handy when you go to rig a character,
| | 05:55 | because, now you have two objects
outside of this hierarchy that you can use to
| | 06:01 | position your character's joints.
| | 06:03 | And this is kind of almost a
fundamental basis of a lot of rigging.
| | 06:07 | Constraints can also be used to
position things in between other objects or to
| | 06:12 | average the position of objects.
| | 06:15 | So right now I have, individual objects,
one object connected to one object.
| | 06:20 | So I have basically one-to-one ratio here.
| | 06:23 | I have one joint connected to this circle, and
I have one IK handle connected to this circle.
| | 06:30 | But we can also use Point constraints to
position objects in between other objects.
| | 06:36 | So I'm going to go ahead and duplicate
this circle one more time, so I am going
| | 06:40 | to do Edit > Duplicate.
| | 06:42 | And so now I have a third
circle, so I have 1, 2 and 3.
| | 06:48 | Now in this case, I actually want
this third circle to be positioned in
| | 06:52 | between the other two.
| | 06:54 | And this is just another
function of how constraints work.
| | 06:57 | So I'm going to go ahead and select the
first two circles, and then again select
| | 07:03 | the constrained object last, so I'm
going to select that third nurbCircle last.
| | 07:07 | You can see that it's highlighted in
green, and I don't have to just do two, I
| | 07:12 | can actually do multiple
objects, and then just do Constrain > Point.
| | 07:17 | And what this does is it actually
constrains that circle to be between
| | 07:23 | the other two.
| | 07:25 | So wherever these move, this will
get exactly halfway between them.
| | 07:30 | And this can be very handy.
| | 07:31 | You can use this in character
animation if you want to keep, for example, the
| | 07:35 | hips between the feet or something like that.
| | 07:38 | These can be very, very handy ways to
use constraints, and you don't even have
| | 07:42 | to use them in character animation.
| | 07:44 | I'm sure you can see other uses
for them in other forms of animation.
| | 07:49 | And we will be using these a little bit
more specifically when we start building
| | 07:53 | the rig in the later chapters.
| | Collapse this transcript |
| Aim constraints| 00:00 | The Aim constraint is another
important constraint that we use in
| | 00:04 | character animation.
| | 00:05 | And it allows one object to be aimed at another.
| | 00:09 | You may have encountered the Aim
constraint when doing lighting and rendering.
| | 00:14 | It's used often to aim a light at an
object or camera, so that the camera or the
| | 00:21 | light will follow an object through the scene.
| | 00:24 | We can also use Aim constraints in
character animation to position things such
| | 00:29 | as the eyes, to make the eyes
point at a specific locator.
| | 00:34 | So in this scene, I have two eyes and a
single locator here that we can use as an aim.
| | 00:42 | So let's take a look at how to set
up an Aim constraint for the eyes.
| | 00:46 | I am going to select my locator
first and then Shift+Select eye right.
| | 00:52 | Remember, the constrained object is
always selected last and it should be
| | 00:55 | highlighted in green.
| | 00:58 | And then I am going to go
over to Constrain > Aim.
| | 01:01 | Now in these options, we have Maintain
offset, which allows you to basically
| | 01:06 | maintain the initial position of the eye.
| | 01:10 | We also have the Aim vector, and
that is along which axis is this aiming?
| | 01:16 | Is it aiming along X, Y or Z,
or a combination of any of those?
| | 01:21 | And then also, you know, what
is your up vector for the object?
| | 01:25 | In other words, it's aimed at an object,
but also how is it rotated along that axis.
| | 01:30 | World vectors as well, and then of course,
along which axes we want to constrain.
| | 01:35 | Now in this case, I'm just going to go
ahead and click on Maintain offset, and
| | 01:41 | let's go ahead and add that,
so we can see how that works.
| | 01:43 | And when we do that, basically
nothing changes, and the eye just stays in
| | 01:48 | place and now we can go ahead and
move this and you can see how it kind of
| | 01:54 | moves to match the locator.
| | 01:57 | But if you notice here because we set
maintain offset, it's actually not looking
| | 02:02 | directly at that locator.
| | 02:03 | It's looking a little bit to the side.
| | 02:07 | Now this can be very handy if that's
what you want, but let's go ahead and do
| | 02:12 | this a little bit more precisely.
| | 02:15 | Let's go ahead and delete
this constraint and re-create it.
| | 02:18 | Probably the easiest way to delete a
constraint is to go into the Outliner, find
| | 02:23 | the object Eye_Rt, which has a
constraint, and you will notice that the
| | 02:28 | constraint is underneath the object.
| | 02:30 | So all we have to do is select that and hit
Delete, and that gets rid of the constraint.
| | 02:36 | So now when I move this,
the object does not constrain.
| | 02:40 | So let's go ahead and re-create this constraint.
| | 02:43 | So again, I'm going to select the
locator, Shift+Select the eyeball, again, the
| | 02:48 | constrained object is last, go into
Constraint > Aim constraint, and let's go
| | 02:53 | into our options here.
| | 02:54 | And in this case, I'm going to turn
off Maintain offset, and just leave
| | 02:59 | everything else at the default.
| | 03:00 | And let's go ahead and hit Add.
| | 03:03 | And as you can see, the eye
jumps a little bit to its right.
| | 03:08 | Now the reason it's doing that is
because right now we are aiming along the
| | 03:13 | default axis, which is the X axis.
| | 03:16 | Now we can change that in
that Aim constraint option here.
| | 03:21 | We have the Aim vector is right now 1
along X, 0 along Y and Z, but if we want
| | 03:29 | to change it later, we can
always go into the Attribute Editor.
| | 03:32 | So I'm going to make sure my eye is
selected, go into the Attribute Editor, and
| | 03:36 | find the Eye_Rt_aimConstraint.
| | 03:40 | Then all we have to do is find that Aim vector.
| | 03:43 | In this case, you can see the red axis, or
the X axis, is pointing towards that locator.
| | 03:49 | We want the blue axis or the Z axis to point.
| | 03:54 | So let's go ahead and 0 out the X axis,
and notice how that already snaps.
| | 03:59 | And then let's go ahead and make it 1
along Z. So now that I have this, you can
| | 04:06 | see it's pointing towards that
locator a lot more precisely.
| | 04:10 | And usually, this is the way
that we want to set these things up.
| | 04:14 | So now that we know exactly how to
set it up, let's go ahead and set it up
| | 04:18 | for the second eye.
| | 04:19 | So I'm going to click on this eye here
and you can see that the blue axis again
| | 04:24 | is the axis we want, so I'm going to
select my locator, Shift+Select Eye_Lt, go
| | 04:29 | into Constrain > Aim constraint, and
in this case I don't want this to be
| | 04:35 | constrained to X, I want it to be
constrained to Y, hit Add, and there we go.
| | 04:43 | So now, I can select my
locator and the eyes will follow.
| | 04:49 | So obviously, this guy is a little
bit cross-eyed, but we can certainly do
| | 04:53 | multiple locators if we want, and
we'll get into that a little bit more
| | 04:57 | precisely, in the later chapters.
| | 05:00 | But as you can see, the Aim constraint
can be used to point up one object at
| | 05:05 | another, and there is a number of
ways to use this in character rigging.
| | Collapse this transcript |
| Orient constraints| 00:00 | When rigging, there are many times
when you'll need to control the rotation
| | 00:04 | or orientation of a joint or another object.
For that we can use the Orient constraint.
| | 00:11 | So let's take a look at this
very simple joint chain here.
| | 00:14 | We have a three joint chain and let's go ahead
and constrain the middle joint of that chain.
| | 00:20 | I'm going to create a constraining
object, so that's going to be a NURBS
| | 00:25 | circle, so I'm going to go ahead and
select NURB circle, draw a very simple
| | 00:29 | circle, and then just move that into place.
| | 00:32 | In fact, let's go ahead and snap
this to that joint to make it precise.
| | 00:35 | So I'm going to turn on Snap here, move
that, so that it snaps to that joint and
| | 00:40 | then turn off Snap again.
| | 00:43 | In order to set up the constraint, it's
a very familiar process by now, all we
| | 00:47 | have to do is select the constraining
object or objects, and then Shift+Select
| | 00:52 | the constrained object last.
| | 00:55 | And let's go, Constrain > Orient
constraint, let's go ahead and take a look
| | 00:59 | at our options here.
| | 01:00 | Before an Orient constraint, we do want
to make sure we turn on Maintain Offset,
| | 01:05 | that's probably the easiest way to use that.
| | 01:09 | Particularly with joints, because
joints always have to have the X axis
| | 01:14 | pointing along the axis of the joint,
and that can create some issues when you
| | 01:20 | go to constrain them.
| | 01:21 | So I'm going to go ahead and
click on Maintain Offset, and hit Add.
| | 01:25 | Now when you do that we get the constraint.
| | 01:29 | Now I'm going to go ahead and click
off of this and then just select the
| | 01:32 | NURB circle, and as you can see when I
rotate that circle, I can rotate the joint.
| | 01:39 | Now you have to be careful not to
double select, so if I select the joint and
| | 01:45 | the circle, and I rotate, you're going to
get all sorts of havoc here. And that's
| | 01:50 | because we're double-rotating,
we're rotating the circle and the joint.
| | 01:55 | We can eliminate the possibility of
that problem by selecting the joint itself,
| | 02:00 | going into the Attribute Editor, under
Orient Constraint, and then go down to
| | 02:07 | Lock Output, and make sure we have that
turned on, so that way the joint can't
| | 02:11 | rotate separately from the circle, and
now the circle completely controls the
| | 02:16 | rotation of this joint.
| | 02:19 | Now if you don't want to use
offset, you can get it to work.
| | 02:24 | Let me show you how this would work.
| | 02:26 | I'm going to go ahead and select my circle,
and let's go ahead and delete that circle.
| | 02:31 | And we're going to go ahead and redo this.
| | 02:35 | So let's go ahead and create another
NURBS curve here, and position it in place.
| | 02:43 | Now the problem with this is that, as
you can see, the NURBS curve, it depends on
| | 02:48 | how you create it as to
where the X axis is pointing.
| | 02:52 | So in this case the X axis is pointing
left and right, and in this joint the X
| | 02:58 | axis is pointing straight down, so if I
constrained orientation and turned off
| | 03:04 | Maintain Offset, the joint is going
to snap to the X axis of that circle.
| | 03:10 | And that's not really what we want, so
what we have to do is we're not going to
| | 03:14 | use Offset, we have to make sure
that the X axis of whatever it is your
| | 03:18 | constraining, is pointed
along at an appropriate direction.
| | 03:22 | So let's go ahead and delete this, and
in this case I'm going to go ahead and
| | 03:27 | create this circle in the side view.
| | 03:30 | I'm going to go ahead and select my
NURBS circle, make sure I have Snap turned
| | 03:33 | off here, and then just go ahead and draw that.
| | 03:37 | Now when what I draw it in a side
view, the X axis is actually positioned
| | 03:42 | properly along that circle.
| | 03:45 | So all I have to do is
rotate that circle into place.
| | 03:48 | So let's go ahead and rotate it 90 degrees or
actually in this case -90 degrees, and then just
| | 03:54 | move that in to place, in fact,
we can snap that to that joint.
| | 03:58 | So now I have a circle with the X axis
pointing down, and I also have a joint
| | 04:05 | with the X axis pointing down, so if I
select my circle, Shift+Select my joint,
| | 04:10 | do Constrain > Orient constraint, make
sure Offset is off, now this is going to
| | 04:16 | be aligned with that circle.
| | 04:20 | I can just select the circle itself and
we have that working without an offset.
| | 04:27 | Orient constraints allow you to control
the rotation of objects, and this can be
| | 04:33 | used a lot in character animation and rigging.
| | Collapse this transcript |
| Pole vector constraints| 00:00 | The final constraint we're going
to look at is called the Pole Vector
| | 00:03 | constraint, and it allows you
to point IK chains at an object.
| | 00:08 | It's kind of similar to an Aim
constraint, but for IK chains.
| | 00:13 | Now I have a very simple setup here.
In fact, this is very similar to the one
| | 00:17 | that we used for the Point constraint,
and I actually have two objects here.
| | 00:23 | I have two circles that are actually
constraining the top and bottom of this IK chain.
| | 00:30 | Now if I want, I can further constrain
this chain to point at this object, so
| | 00:35 | let's say, for example, this was the
leg of a character and this was the knee.
| | 00:39 | And I want to control the
direction of the character's knee.
| | 00:43 | I can do that using the Pole Vector constraint.
| | 00:46 | Let's set this up the way that we setup
any other constraint, we'll select the
| | 00:50 | constraining objects first, and then
we Shift+Select the constrained object
| | 00:56 | last, so the IK handle is selected last.
| | 01:00 | We go into Constrain > Pole Vector, and
let's go and take a look at the options here.
| | 01:05 | We only have one option and that's the
weight of that, do we want to turn this on or off?
| | 01:10 | Well, we're going to obviously want to leave this on,
so let's go ahead and just add that.
| | 01:15 | And notice how this creates this little line
here that tells you that this IK chain is
| | 01:21 | constrained to this object.
| | 01:22 | So now when I select this object, you
can see that it moves to point at the
| | 01:29 | object, and it really is
only moving along that one axis.
| | 01:34 | It's only really moving along the Y
axis, so even if I put this forward or
| | 01:39 | up or down, or something like that, it's
not going to affect it much, it's really
| | 01:43 | this left-right motions.
| | 01:45 | So if I wanted to I could move it this
way and it's really just the motion in
| | 01:52 | this plane that creates
the rotation of that chain.
| | 01:57 | Now if you want you can leave this the
way it is, or you can add in something a
| | 02:02 | little bit more interesting here.
| | 02:04 | We can actually make this a child of
the object that's already controlling the
| | 02:09 | final position of this.
| | 02:10 | So if we want to, we can go into our
Outliner, and you'll see that I have my
| | 02:15 | locator, this circle here, nurbsCircle2 is the
one for the top of the chain,
| | 02:21 | nurbsCircle1 is the one that's
controlling the bottom of the chain.
| | 02:25 | Now if I take this locator and middle
click and drag it over nurbsCircle1,
| | 02:32 | you'll see that it becomes a child
of that, and now when I move this, it
| | 02:37 | moves along with it. But more importantly,
when I rotate that object, I can
| | 02:44 | actually rotate the knee.
| | 02:46 | In all practical purposes, I now have
one object that is completely controlling
| | 02:52 | the lower half of this character.
| | 02:54 | I have my NURB circle, which I can
move up and down to position this, and if
| | 03:01 | I rotate this along Y, I can control the
direction of the character's knee as well.
| | 03:09 | So as you can see, Pole Vector
constraints can be very handy in controlling the
| | 03:14 | direction of a joint chain, and
we'll be using these a lot later.
| | Collapse this transcript |
|
|
5. Creating Basic RigsSetting up IK| 00:01 | Now that we understand the basic
tools used in rigging characters, let's go
| | 00:04 | ahead and create a basic rig for our character.
| | 00:08 | Now typically, I like to start with
inverse kinematics and set up my IK chains,
| | 00:13 | but you can really start wherever you
feel is appropriate, but let's go ahead
| | 00:17 | and get going with IK.
| | 00:20 | Now with a character like this, you
have to decide where you want to put IK.
| | 00:26 | Now typically the obvious
place is to put IK on the legs.
| | 00:30 | I also like to add IK chains to the feet,
and as you'll see in the next lesson,
| | 00:34 | this can help you control foot direction and
that sort of thing. And then also
| | 00:39 | you need to decide whether or not
you want to put IK on the arms or not.
| | 00:43 | Do you want to have FK, IK;
| | 00:46 | do you want to be able to switch between them?
| | 00:48 | Now what we're going to do in this rig
is we're actually going to put IK on the
| | 00:52 | arms and then add in a separate switch
to turn it on and off. So let's go ahead
| | 00:57 | and start with the legs.
| | 00:59 | So I'm going to just kind of zoom
into my legs here, and the first thing we
| | 01:05 | need to do is create an IK chain for the thigh
and the shin, for basically the leg hierarchy.
| | 01:12 | So we can do that just by using our IK
Handle tool, so I'm going to go ahead
| | 01:16 | and select that, click on the top where
the hip is and then click on the ankle
| | 01:22 | or the foot, and then that should
give me an IK handle that I can move to
| | 01:28 | adjust that foot. And if we go into
the Outliner, you can see that the IK
| | 01:34 | handle shows up here.
| | 01:36 | Now one of things I like to do is to
create a second or a third IK handle on the
| | 01:41 | foot, and what this does is it
allows you to control foot orientation.
| | 01:46 | So let me show you why we need this.
| | 01:48 | In this particular rig, when I move my
IK handle, you'll see that the foot bones
| | 01:53 | are kind of not really moving along with that.
| | 01:56 | We can correct that just by
adding in a second IK handle.
| | 02:01 | So all I have to do is go Skeleton > IK
Handle, I'm going to click here at the
| | 02:07 | ankle, and then at the ball of the foot
here, and so now I have two IK handles,
| | 02:12 | one here to control the foot, and
the other one to control the ankle.
| | 02:19 | Now you can see I'm still getting
that same effect, but if I select them
| | 02:23 | together and move them, you can
see that I actually have a much more
| | 02:28 | controllable foot, because this second
IK handle can also be used to control
| | 02:33 | left and right motion of the foot. And
we're going to rig that into some controls
| | 02:37 | a little bit later, so let's go
ahead and get our right legs set up.
| | 02:42 | Again, I'm going to go IK Handle tool,
hip to ankle, and then we have that
| | 02:49 | one here, and then we can go IK Handle tool
again, from ankle to the ball of the foot.
| | 02:56 | So now I've four IK handles.
| | 02:59 | Now if I want, I can start naming these a
little a bit more descriptively, so again,
| | 03:04 | I can just double-click on that, and go
iKHandle_LA, iKHandle_LF, and so on.
| | 03:13 | Let's go ahead get this one,
iKHandle_RA and iKHandle_RF.
| | 03:21 | Now we have some nice descriptive names,
so we can keep our scene organized.
| | 03:25 | Now in addition to this, I can also
add in IK handles for the arms, and that
| | 03:30 | again is just very simple, we can
just add an IK Handle tool, click on the
| | 03:35 | shoulder and on the wrist, and now I
have that, and then let's go ahead and do
| | 03:40 | that for the other arm as well.
| | 03:42 | And we're going to come back to the
arm a little bit later in terms of
| | 03:45 | turning on and off IK.
| | 03:47 | So let's go ahead and just
turn that on for this one here.
| | 03:51 | and so now we have IK for
the arms and the legs.
| | 03:55 | Now notice how these are highlighted in
kind of a brownish color, and that tells
| | 03:59 | you that those are controlled with IK.
| | 04:01 | So, we've set up the basic IK chains for
our character and now the next step is
| | 04:07 | to add in external controls to be able
to manipulate those, and we'll do that
| | 04:12 | in the next lesson.
| | Collapse this transcript |
| Setting up foot controls| 00:00 | Once you have some basic IK handles
in place, you can certainly use those to
| | 00:05 | animate, but we're going to make it
a little bit easier and create some
| | 00:08 | additional controls for the feet to
allow you to manipulate those a lot more
| | 00:14 | easily, and this will make it
nice and animator friendly.
| | 00:18 | Now I have my basic character here,
and I've added in some additional little
| | 00:23 | curves here, and these are what we're
going to use to control the feet. In fact,
| | 00:27 | if I go over to my Layers panel here
and turn my geometry on to Template, you
| | 00:32 | can see that, and all I have to do is
highlight these and go into the Outliner
| | 00:36 | and we can see them.
| | 00:38 | So down here I have a Foot control,
and that allows me to place the foot.
| | 00:43 | I'm also going to use that
to rotate the foot at the heel.
| | 00:46 | We have a Heel control and this
lifts the heel up from the foot, and then
| | 00:52 | finally, we have a Toe control.
| | 00:54 | and this is going to lift the toe up or down.
| | 00:57 | So if the character is tapping his foot,
for example, this is the one we would use.
| | 01:01 | What we need to do is take these IK
handles that we've created and attach them
| | 01:06 | to these controls to allow
you to manipulate the foot.
| | 01:10 | So the easiest thing to do is to just
take these and re-architect the hierarchy.
| | 01:15 | So if I select the left ankle and the
left foot control, I can middle click and
| | 01:21 | drag those over left foot, and you can
see that now I have this one control here,
| | 01:26 | and I can move that foot, but I want
to be able to also rotate that foot.
| | 01:33 | So if I rotate it right now, you can see
it's rotating around the middle of this heel.
| | 01:38 | We want it to rotate around the back of
that character's heel, and that we can
| | 01:42 | do simply by selecting this, hitting
Insert or Home on the Mac, and going into
| | 01:49 | move the pivot. So I'm going to go ahead
and move this pivot back to the tip of
| | 01:55 | the character's heel, right about here,
and then I'm going to get out of that
| | 01:59 | mode, and so now you can see that this foot
is going to pivot along the back of the heel.
| | 02:06 | So now we've got this basic control
setup, but I want to be able to do some
| | 02:11 | other stuff, I want to be able to,
for example, lift the character's heel.
| | 02:15 | So I can rotate him at the heel this way,
but if he wants to go up on his toes,
| | 02:21 | I need to be able to rotate at this
joint here, so at the ball of the foot.
| | 02:26 | So we can use this second control here
called Left Heel to create that, so I'm
| | 02:32 | going to go into Move mode, and again,
move my pivot, Insert or Home, and then
| | 02:38 | I'm going to turn on Snap, and
snap this to that joint right there.
| | 02:44 | And so what this is going to do is
this is going to rotate this, if I go into
| | 02:48 | Rotate mode here, it's going to
rotate this around the ball of the foot.
| | 02:54 | Now in order to actually get this to
work however, I need to take this IK handle
| | 02:58 | at the ankle, and put it underneath the heel.
| | 03:01 | So I'm going to go ahead and grab
this IK handle_LA, middle click and drag
| | 03:06 | it over the left heel.
| | 03:08 | So now, when I rotate that left heel, you
can see it moves that ankle control there.
| | 03:16 | Okay, so this basically will lift
the heel when we start deforming that
| | 03:21 | geometry. But we have a bit of a problem
here, in that, I want to make sure that
| | 03:25 | I turn off Snap, and then I'm going to
go ahead and move this left foot, and
| | 03:29 | you'll see that when I move the foot,
it's just moving this IK handle, I want
| | 03:34 | this one to control everything.
| | 03:36 | So I can left click on this heel,
middle click, drag it over the left foot and
| | 03:42 | make that a child of the left foot.
| | 03:45 | So now when I select this, you can see
it selects both this and the heel, both
| | 03:49 | IK handles are selected,
and now this moves the heel.
| | 03:54 | If I rotate it, it rotates the heel as
well, and then if I select this left heel
| | 03:59 | control and rotate it, it lifts that foot.
| | 04:02 | So I've got the back of
the foot pretty much set up.
| | 04:06 | I still need to setup the
front of the foot or the toe.
| | 04:10 | Now again, I want this to move along
with this footnote, so the first thing I
| | 04:14 | need to do is to just go ahead and
middle click here in the Outliner and drag it
| | 04:19 | over the left foot to make it a child.
| | 04:21 | Now we want this to be able to control
the tip of this foot, in other words, I
| | 04:27 | want the tip of the foot to rotate with
this left toe control, so in order
| | 04:31 | to do that we need to do a couple of things.
| | 04:33 | First thing I need to do is I need to
create something that controls this joint
| | 04:37 | shape, and we can do that by
just adding in another IK handle.
| | 04:41 | So I'm going to go into Animation >
Skeleton > IK Handle tool, I'm going
| | 04:45 | to select here, and then at the tip of the
foot, and now I've got a third IK handle.
| | 04:51 | In fact, let's go ahead and rename that
ikHandle_Toe, and then just middle click
| | 04:58 | and drag it under left toe.
| | 05:01 | So now, when I rotate left toe, you
can see it starting to move that, but
| | 05:06 | obviously this pivots in the wrong place.
| | 05:08 | So I'm going go ahead and undo this and
then just hit Insert to move that pivot,
| | 05:13 | turn on Snap, and snap it again to the
ball of the foot. And now when I do that,
| | 05:19 | it moves that along the way that I
want, so now I have a complete foot.
| | 05:25 | So I can make sure I turn off Snap here,
I can move the foot here, I can rotate
| | 05:31 | the foot at the heel, I can rotate
the toe, and I can lift the heel as well.
| | 05:41 | So that's the basics of how
to set up a foot skeleton.
| | 05:44 | So go ahead and mirror this
process on the right foot.
| | 05:49 | Now remember to snap your vertices to
the bones, and also set up your hierarchy
| | 05:56 | in the proper order.
| | Collapse this transcript |
| Keeping rigs organized| 00:00 | Now let's take a look at how to
keep things organized in a rig.
| | 00:05 | We have a basic foot rig already
constructed and let's go ahead and start using
| | 00:10 | some tools to keep things tidy
as we start to build our rig.
| | 00:16 | Now the first thing you want to do
is, again, enforce a naming scheme.
| | 00:20 | So if I go into my Outliner, you'll see
that under my right foot, my left foot,
| | 00:25 | I have actually named
them with a descriptive name.
| | 00:29 | Another thing I did was I named
all of my rig parts in uppercase.
| | 00:33 | Now this isn't particularly necessary,
but it's just a nice little added
| | 00:38 | thing that you can do to make sure
that people understand that this is part
| | 00:41 | of the rigging controls and not geometry, or
a skeleton, or some other object in the scene.
| | 00:47 | Uppercase tells you it's important.
| | 00:50 | Some people do this, some don't,
but it's just one of many methods.
| | 00:54 | Another thing you can do is to
start layering your rig, so create a
| | 00:58 | separate layer for your rig.
| | 01:01 | So, we can do that by selecting and Shift
+Selecting the right and the left foot,
| | 01:05 | go into Layers > Create Layer from Selected.
| | 01:10 | So now I have a layer here that I
can turn on and off for my rigging
| | 01:14 | controls, and if I double-click on that,
I can rename it, so in this case I'm
| | 01:19 | going to name it RIG.
| | 01:19 | Now another way to stay
organized is by using color.
| | 01:25 | We can separate out left and right by
color, so that way you know looking at a left
| | 01:31 | or right foot, or right arm, that sort of
thing, so each one of these curves can
| | 01:36 | have its own unique color.
| | 01:38 | Now for this rig I'm going to use green
for the right side and blue for the left
| | 01:44 | side, and then red for anything that is centered.
| | 01:48 | All of these are already green, so I'm
going to go ahead and just do the left
| | 01:52 | foot and change their color to blue.
| | 01:55 | We can do that in the Attribute editor.
| | 01:57 | So if I go into the Attribute
editor and go all the way down to Drawing
| | 02:03 | Overrides, you'll see I have a color
slider here, and all I have to do is just
| | 02:08 | pick the color that I want,
in this case I want blue.
| | 02:12 | So again, color overrides,
and then just pick the color.
| | 02:16 | So I'm just going to make sure that I have
all of my right side controls colored in blue.
| | 02:22 | Now finally, another way to keep
things organized is to restrict how
| | 02:28 | things move.
| | 02:29 | So those are some very basic and simple
ways that you can keep your rig organized.
| | 02:35 | Now as you start building your rig,
just go ahead and assign the proper color
| | 02:40 | for the part, make sure that your
naming scheme is in place, and make sure
| | 02:44 | that everything is assigned to the
proper layer, and you'll have a much more
| | 02:48 | organized rig.
| | Collapse this transcript |
| Hiding unused attributes| 00:01 | In addition to keeping your rigs
organized, you'll also want to start
| | 00:05 | restricting how the rigs operate.
| | 00:08 | And what we can do is hide those attributes
that were not going to be used in
| | 00:12 | controlling the character.
| | 00:14 | Now this foot is a great example.
| | 00:17 | I have a couple of controls for this
foot, so I have, for example, the foot
| | 00:21 | control here, and this control
allows you to move or rotate the foot.
| | 00:28 | But if we go to the other control here,
let's say a toe control, well, you don't
| | 00:34 | really want to move that, because
that's going to move along with the foot.
| | 00:37 | And this really should only rotate along
one direction, in other words, the foot is
| | 00:43 | only going to move up and down.
| | 00:44 | We are not going to twist the foot
left or right, or anything like that.
| | 00:49 | So, in order to make the rig more
understandable and easier to use, we want to
| | 00:54 | hide those attributes that we
don't want the animators to touch.
| | 00:59 | So let's go ahead and select this left
toe here, and we're going to hide those
| | 01:03 | attributes that we don't
want the animators to touch.
| | 01:06 | So I'm going to go ahead and
select the Translate nodes, and we can
| | 01:11 | right-click over those, and the first
thing we want to do is lock them, so
| | 01:15 | that way they're not animated.
| | 01:17 | We can do the same here, we can just
left-click and drag, and right-click and
| | 01:23 | lock everything, but Rotate X.
| | 01:26 | And Rotate X is what moves that toe up and down.
| | 01:29 | So when I select this toe, I can't
rotate it except around the direction that I
| | 01:34 | want to, and I can't move it.
| | 01:36 | So that really restricts how this operates.
| | 01:40 | So when the animator comes to this
particular part of the character's body, they
| | 01:44 | will know that all I can
do is rotate this along X.
| | 01:46 | Now if we want to make this even more
clear, we can start hiding attributes, so I
| | 01:51 | can left-click and drag over
Translate, right-click and do Hide Selected.
| | 01:57 | We can do the same for these
attributes as well, again, left-click and drag,
| | 02:02 | right-click, Hide Selected.
| | 02:05 | So now when I select this left toe
control, all I can do is rotate along X and
| | 02:11 | that makes it very clear to the
animator or whoever else is using this rig.
| | 02:16 | Now there are times when you may accidentally
hide an attribute that you want to show later.
| | 02:22 | So let me show you another way to do
this where you can actually hide and
| | 02:26 | show attributes at will.
| | 02:28 | And that's found under Window > General
Editors, and it's called Channel Control.
| | 02:34 | And this is just a nice little
interface that allows you to see exactly which
| | 02:38 | attributes are hidden and locked.
| | 02:41 | So these are Keyable and Locked, so if I
select my left toe here, you will see
| | 02:46 | that Rotate X is the only keyable parameter.
| | 02:50 | If I wanted to rotate around other
axis, I could scroll down this hidden
| | 02:55 | list here, select what I want and then just
click this Move button and that moves them over.
| | 03:01 | And you can see here, how they are now visible.
| | 03:04 | We also have a Locked panel here,
and again, I can select those and move
| | 03:10 | those to the unlocked.
| | 03:12 | And again, you can see how it does
the exact same thing as lock and unlock
| | 03:17 | in the Channel Box.
| | 03:19 | So, what we can do is now we can
restrict or control exactly which parameters
| | 03:26 | the animator can use.
| | 03:28 | So go ahead through the rest of your
foot rig and hide and lock those parameters
| | 03:33 | that you don't want the animators to touch.
| | Collapse this transcript |
| Creating a hip control| 00:01 | Now we are going to start moving up the
body and actually create a rig for the
| | 00:05 | hips of the character.
| | 00:06 | Now the hips are really kind of the
interface between the legs and the upper body.
| | 00:12 | It's really where all of the upper
body weight is transferred to the legs.
| | 00:16 | So, I've created a hip control here.
| | 00:19 | You can see I have selected
it here, it's called Hips.
| | 00:23 | And this is really just a curve, but
I've made the curve a little pointy, so
| | 00:27 | that way we can tell which
direction the character is pointed.
| | 00:32 | Also, I've made the curve a little bit
more 3D, so that when you see it from a
| | 00:37 | side or a front view, you have a better
clue as to which control to grab onto.
| | 00:43 | So I'm going to go ahead
and move this to the skeleton.
| | 00:46 | I'm going to go ahead and hide my geometry,
so that would make this little bit more clear.
| | 00:51 | And I'm going to select my Hip Node
and move it so that it is right here at
| | 00:56 | the base of the spine.
| | 00:59 | Probably the easiest thing to do is to
just turn on Snap and move it so that
| | 01:03 | it's snapped to that joint.
| | 01:06 | I'm going to go ahead and turn off Snap here.
| | 01:09 | Now when I move this, you can see how
my translations are now no longer 0, and
| | 01:15 | for any control on a character, you
really do want to keep everything at 0. This
| | 01:21 | makes it very easy to return the
character to a normal default state.
| | 01:27 | So I'm going to keep this hip selected
and under Modify, I'm just going to go
| | 01:32 | Freeze Transformations.
| | 01:34 | And that sets everything to 0.
| | 01:35 | So now if I accidentally move this, I
can get exactly back to where I want, just
| | 01:41 | by putting 0 into the values.
| | 01:45 | So now, I wanted the root of
the spine to this hip controller.
| | 01:49 | And so the way that we do this is
the way that we constrain anything.
| | 01:53 | I select the hip, and then I
Shift+Select this bone here.
| | 01:57 | So let me show you this in the
Outliner, just so you can see what we have.
| | 02:01 | I have the HIPS selected first, Spine_Root
selected second, and you can see that
| | 02:06 | it's green, which means that it's
the last thing that we have selected.
| | 02:09 | And now all we have to
do is add in a constraint.
| | 02:11 | Well, first I'm going to add in a
Point constraint to constrain position.
| | 02:16 | And I want to make sure that I
have Maintain Offset clicked on.
| | 02:20 | If you look at this Spine_Root,
you'll see that the Translation is not 0.
| | 02:24 | I want to make sure I maintain that offset.
| | 02:28 | So let's go ahead and click Add, and
when I do, these turn light blue, which
| | 02:33 | tell me that it's constrained.
| | 02:36 | And now when I select my HIP node, and
now I can move the upper body separate
| | 02:40 | from the feet, and this lower part
of the skeleton controls the feet.
| | 02:44 | Now one thing that the hips can't do
is rotate the upper body yet, but we can
| | 02:49 | fix that by adding in one more constraint.
| | 02:52 | And we are going to use an Orient
constraint, so again, I'm going to select the
| | 02:57 | hips first, Shift+Select Spine_Root
second, Orient constraint, and again, I want
| | 03:03 | to make sure I have Maintain Offset clicked on.
| | 03:06 | Again, the rotate now turned light blue,
which means they are constrained, and
| | 03:12 | I've got this all working now.
| | 03:13 | So I can now rotate my hips, and I
can move them, and if I want to get
| | 03:20 | everything back to normal, all I
have to do is select the hips, highlight
| | 03:24 | everything, hit 0 and we are back to normal.
| | 03:28 | Now again, we want to keep things
organized, so in this case, I don't need to
| | 03:32 | scale the upper body and I don't need to
control visibility of this rig, so, I'm
| | 03:39 | going to go ahead and select these,
right-click, lock them, and hide them.
| | 03:44 | So now all I have is translation and rotation.
| | 03:47 | So let's turn on our geometry and you
can see now we have our hips in place.
| | Collapse this transcript |
| Controlling knee direction| 00:01 | Now let's go ahead and
control the knees of the character.
| | 00:05 | As you can see, I've got the hips in
place here, but when I bend the character,
| | 00:09 | I don't really have any control over
knee direction, and we can do that by
| | 00:14 | creating another rigging control.
| | 00:16 | Now I already have the icon in place
here and it's just this little set of
| | 00:21 | arrows, and it's just kind of visual
reference. We are doing this just so that
| | 00:24 | it looks good and it communicates whatever
information we need, and I've named this L_KNEE.
| | 00:31 | I want another one for the right knee, so
let's go ahead and just duplicate this now.
| | 00:35 | I'm going into my front viewport
here and I am just going to do Edit >
| | 00:40 | Duplicate, and move that one over, so
that it's pretty much over that right knee.
| | 00:47 | And I'll go ahead and rename it, R_KNEE.
| | 00:51 | I want to Freeze Transformation, set
everything to 0, and then I also want to
| | 00:56 | change the color to green.
| | 00:59 | So now we have green for the right side,
blue for the left side, and everything
| | 01:04 | should be pretty much in place.
| | 01:07 | So now I have this all set up and ready to go,
we can start constraining knee direction.
| | 01:11 | Now we did this once before and we do
it using the IK handle and it's called a
| | 01:17 | Pole Vector constraint.
| | 01:19 | So the easiest way to get to these IK
handles is just to go into the Outliner,
| | 01:24 | and you'll see that under the L_FOOT here,
we have an IK handle for the
| | 01:29 | left foot, but the one that we actually want is
the left ankle control, which is under the heel.
| | 01:35 | And what this does is this controls the
chain that goes from the hips to the ankle.
| | 01:41 | Now once we've located that, we
can now set up our constraint.
| | 01:44 | Now remember, we need to select this
last, so, I'm going to select my L_KNEE
| | 01:51 | control and then Ctrl+Select that left ankle.
| | 01:57 | And I want to make sure that that's
selected last, so you can see it's here.
| | 02:00 | And then under Constrain, we are
going to do a Pole Vector constraint.
| | 02:06 | And that's all we need to do.
| | 02:07 | Now once we've done that, you can see
now I'm controlling my knee direction.
| | 02:12 | So, if I bring this down, you can see
that this controls the direction of my knee.
| | 02:19 | I'm going to go ahead undo my way out
of this, and let's do this one more time,
| | 02:24 | just so that we can get the process down.
| | 02:27 | So again, I'm going to select the R_KNEE,
and then on my R_FOOT under the
| | 02:33 | R_HEEL, I'm going to Ctrl+Select
the right ankle.
| | 02:38 | And again, that's the one that I
want, Constrain > Pole Vector, and we
| | 02:43 | should be good to go.
| | 02:44 | So now again, this controls that. There we go.
| | 02:48 | So now we have controls for pretty much
the entire lower body of the character.
| | 02:54 | We've got the feet, the hips and the
knees, all under control for our character.
| | Collapse this transcript |
| Creating spine controls| 00:01 | Now that we have the lower body pretty
much rigged, let's go ahead and start
| | 00:04 | moving up the spine and rig the upper body.
| | 00:08 | We are going to start with the spine.
| | 00:11 | Now I've created a couple of different
controls here to manipulate the spine.
| | 00:16 | And you can see that they have their
own unique shape, and I have a kind of a
| | 00:20 | little point at the front.
| | 00:21 | So you can tell which way
the hip joints are facing.
| | 00:25 | So let's go ahead and move these
into place and get everything hooked up.
| | 00:30 | So the first thing I want to do is
snap these to these spinal joints.
| | 00:35 | I'm going to turn off geometry here in
my visibility, just so we can see this a
| | 00:39 | little bit more clearly.
| | 00:40 | I'm going to select my lower joint
here called SPINE_1, turn on Snap, and go
| | 00:46 | ahead and move that into place and
snap that to the SPINE_1 joint, same for
| | 00:52 | SPINE_2 and again for SPINE_3.
| | 00:57 | So I want to make sure that those
are snapped, and when I move those
| | 01:00 | obviously, we need to freeze
transformation, so I'm going to go ahead and
| | 01:04 | turn off Snap here.
| | 01:05 | Shift+Select all of these, Modify >
Freeze Transformations, and that sets
| | 01:11 | everything to 0, so that
we are all kosher on that.
| | 01:15 | So now all we have to do is start constraining.
| | 01:18 | Now in this case, I really just want to
constrain orientation, I don't want to
| | 01:24 | constrain position.
| | 01:26 | So I'm going to select this object
here, SPINE_1 and then Shift+Select
| | 01:33 | Spine01, which is my joint.
| | 01:36 | Again, I want to select the
constraining object first, the constrained object
| | 01:40 | second, and in this case, we are
just going to do an Orient constraint.
| | 01:46 | Make sure we have Maintain
Offset clicked on, hit Add.
| | 01:50 | So now I can select this
control and rotate those joints.
| | 01:55 | Now I don't want to move the spine
joints, so orient is all I really need.
| | 02:02 | So let's go ahead and do this
again for the other two joints.
| | 02:05 | Again, I'm just going to go into Select
mode here, and then I'm going to select
| | 02:10 | my Spine02 and the corresponding joint,
Constrain > Orient, do it one more time,
| | 02:19 | select SPINE_3, Shift+Select
this joint, Constrain > Orient.
| | 02:27 | Okay, so now I should have
good control over all of these.
| | 02:33 | Now because we are not going to do
translation with these, we do want to make
| | 02:38 | sure that we lock and hide
the appropriate attribute.
| | 02:42 | So I am going to select my Spine_01
and Shift+Select everything but Rotation,
| | 02:50 | right-click, lock, right-click Hide.
| | 02:54 | Let's do that one more time, select
Spine_02, left-click and drag, hold down the
| | 03:01 | Ctrl key, left-click and drag again,
right-click Lock, right-click Hide.
| | 03:09 | Okay, one more time, I'm going to left-
click and drag, hold down the Ctrl key,
| | 03:16 | left-click and drag again,
right-click, Lock and Hide.
| | 03:23 | So now these can only be rotated.
| | 03:25 | Now we still have a little bit of an
issue here, in that, nothing is hooked up.
| | 03:30 | So, when I move this, you can see that
these don't move with my spine joint.
| | 03:36 | Well, I want those all to be part of
that same hierarchy and I want them to
| | 03:42 | move in a hierarchy.
| | 03:43 | So I need to go into my
Outliner and organize this.
| | 03:47 | I'm going to go into my Outliner here,
I'm going to scroll down here, I want
| | 03:52 | SPINE_1, SPINE_2 and SPINE_3 to
be part of that same hierarchy.
| | 03:57 | So I'm going to middle-click, drag SPINE_3
under SPINE_2, SPINE_2 under SPINE_1.
| | 04:05 | So now, when I rotate these, they
are going to rotate together, and then
| | 04:11 | middle-click and drag SPINE_1 under my HIPS.
| | 04:15 | So now, I should have everything in place.
| | 04:18 | So now when I move my hips, the spine
controls move with them, and then each
| | 04:24 | successive spine control
moves the object on top of it.
| | 04:30 | So now, I've got my spine in place
and now we can move on to the arms.
| | Collapse this transcript |
| Controlling forward kinematics on the arms| 00:01 | Now let's move on to the character's
arms and we're going to set up forward
| | 00:05 | kinematic controls for the arms first,
and then we'll worry about IK later.
| | 00:10 | Now we've already put some IK handles
on this character's arms, but we'll turn
| | 00:15 | that off when we actually go to rig it.
| | 00:17 | So let's go ahead and zoom in
here and let's see what we have.
| | 00:21 | I have three controls for each arm:
| | 00:24 | I have a Shoulder control, an Elbow
control, and a Wrist control. Now each one
| | 00:30 | of these will just control rotation.
| | 00:32 | So we're actually going to be
working with Orient constraints.
| | 00:36 | And again, remember forward
kinematics is all about rotation, inverse
| | 00:40 | kinematics is all about position, so
these are going to be controlling rotation
| | 00:45 | or the Orient constraint.
| | 00:47 | Now before we do anything we do
need to turn off inverse kinematics.
| | 00:51 | So I'm going to go into my Outliner,
find the IK handle for this left arm,
| | 00:58 | scroll down in my Channel Box here, find IK
Blend, and let's go ahead and type in a zero.
| | 01:05 | So we're going to turn off IK for that,
and we can also do the same for the right
| | 01:09 | arm, because we'll be
getting to that in just a bit.
| | 01:12 | So now what we need to do is basically the
same procedure that we did for the spine.
| | 01:17 | We need to snap these into place, freeze
transformations, and set up our constraints.
| | 01:22 | So I'm going to go ahead and turn off my
Geometry layer here, so we can see this
| | 01:26 | a little bit more clearly.
| | 01:28 | So I'm going to select my left
shoulder, turn on Snap to points, and then
| | 01:35 | snap that into place.
| | 01:36 | So let's do that for the
elbow and the wrist as well.
| | 01:40 | So I want to make sure these are all snapped.
| | 01:42 | Turn off Point Snap, select them
all, and let's do Modify > Freeze
| | 01:48 | Transformations, get everything to zero.
| | 01:51 | Now all we have to do is
set up our Orient constraints.
| | 01:54 | Very much the same
process we did with the spine.
| | 01:57 | Let's go ahead and select the
controlling object, the shoulder.
| | 02:01 | And now I'll select the shoulder joint,
Constrain > Orient, and make sure that
| | 02:06 | we have Maintain Offset clicked on.
| | 02:10 | Same for the elbow, Orient constraint,
same for the wrist, Orient constraint.
| | 02:18 | So now that we have these
in place we can rotate them.
| | 02:22 | So if I rotate the wrist, you can
see that that's all rotating properly.
| | 02:26 | But if I go to the shoulder you'll
see that, well it's rotating but these
| | 02:32 | other joints aren't really
following along, and that's because the
| | 02:35 | controlling objects aren't
following along, and that's because these
| | 02:38 | controllers aren't following along.
| | 02:40 | So I just need to set up a hierarchy in
order to get everything moving the same way.
| | 02:46 | We go into our Outliner again and just
quickly drop everything into the proper hierarchy.
| | 02:53 | So I've got my left wrist, middle-
click and drag that over the left elbow,
| | 02:58 | select the left elbow, middle-click
and drag that over the left shoulder.
| | 03:02 | So now I have a shoulder hierarchy
here, and everything should work.
| | 03:06 | Let's make sure that elbow works. Great!
| | 03:10 | But we are still not
connected to the rest of the body.
| | 03:13 | So if I were to rotate my hips,
my arms aren't moving with it.
| | 03:17 | So I need to make sure that this
shoulder connects up to the top of the spine,
| | 03:21 | which would be SPINE_3.
| | 03:25 | So again, select my left shoulder,
middle-click and drag over
| | 03:28 | SPINE_3, and we should have everything in place.
| | 03:32 | So now when that spine
moves, the upper arm moves.
| | 03:36 | So this is all great and if all we had
to do was forward kinematics, this would
| | 03:42 | be a perfectly acceptable rig, but we
are going to use inverse kinematics.
| | 03:48 | So let me go back into my Outliner here,
select my left arm and turn on IK,
| | 03:54 | so I'm going to show you a little
issue that comes up when we start doing IK.
| | 03:59 | So when I turn on my IK Blend to 1,
and I go into Move mode, you'll see that I
| | 04:05 | can move my arm using IK but
everything doesn't follow along.
| | 04:10 | My controllers don't follow my arm.
| | 04:13 | Well, I can fix that simply by using a
constraint, but instead of constraining
| | 04:19 | the joints to the controller, which is
what I've done before, I'm going to do
| | 04:24 | with the backwards.
| | 04:25 | I am going to constrain these to the joints,
so that way they follow in terms of position.
| | 04:31 | So basically we'll have
constraints going two ways.
| | 04:34 | I'll have rotation of these joints --
is going to be controlled from this to
| | 04:39 | this, but the position is going
to be controlled the opposite way.
| | 04:43 | Let me show you how this works.
| | 04:45 | I am going to select my elbow joint
and then Shift+Select the controller, the
| | 04:51 | left elbow, so this is going to be
green and the joint is going to be white.
| | 04:57 | Then we are going to do Constrain >
Point, make sure we have Maintain Offset
| | 05:02 | set on, and hit Add.
| | 05:05 | Now watch what happens.
| | 05:06 | When I select this left arm IK
handle, that position is now controlled by
| | 05:13 | that constraint.
| | 05:16 | So this is controlling rotation
but the position of the controller is
| | 05:21 | controlled by that joint.
| | 05:23 | So let's do the same thing again for the wrist.
| | 05:25 | I'm going to select my left
wrist joint, Shift+Select the wrist
| | 05:30 | controller, Constrain > Point.
| | 05:33 | So now when we are using IK, the
controllers go along for the ride.
| | 05:38 | If I go down here, turn off IK, and now
these are what are driving the bus here.
| | 05:46 | So you can see that it's a little bit
complicated, but it's not too hard to understand.
| | 05:53 | So, let's just reiterate here.
| | 05:55 | For forward kinematics, we're going to
use Orient constraints to control the
| | 06:00 | orientation of the joints, but when we're
using inverse kinematics, we're using positions.
| | 06:07 | So the position of the controllers is
now controlled by the joints themselves.
| | 06:12 | So go ahead and use this technique to
set up the right arm, and then we'll go
| | 06:17 | ahead and move on from there.
| | Collapse this transcript |
| Creating a master node| 00:01 | At this point we're getting
our rig pretty much built.
| | 00:04 | Now we are just working on the rig, we
haven't skinned the character to the rig at all.
| | 00:10 | But let's go ahead and
organize our rig a little bit further.
| | 00:15 | If we take a look in the Outliner
you'll see that I've got a number of
| | 00:20 | different control nodes here.
| | 00:22 | I've got the hips of the character here,
which can control the skeleton's hips.
| | 00:27 | I've got the right foot and the left
foot, which obviously control that, and then
| | 00:31 | I also have my knee direction controls.
| | 00:34 | But this is getting kind of messy and
if we want to move the character around
| | 00:38 | and place it somewhere in the scene,
we either have to move all of this stuff
| | 00:43 | and that's going to get a little messy.
| | 00:45 | So let's go ahead and just create a
master node or a master container for our
| | 00:50 | character, and then get everything organized.
| | 00:53 | So I'm going to go ahead
and create a NURBS > Circle.
| | 00:58 | Go ahead and draw that right around
the origin, and in fact, if we want we
| | 01:02 | can make sure all of our translations are
zero, so that the master node is at the origin.
| | 01:08 | And let's go ahead and name this, I'm
going to name it MASTER, and that's the
| | 01:13 | name of our master node, and then all
we have to do is go into the Outliner and
| | 01:18 | select all of our controls, middle-
click and drag them over that master node.
| | 01:24 | So now when I select that
node I can move my rig around.
| | 01:28 | Now remember, we haven't skinned the
character to the rig so we're just dealing
| | 01:32 | with the rig at this point.
| | 01:34 | But now that we have this, we have one
master node and underneath that is all
| | 01:39 | the controls for our character.
| | 01:41 | Now we also need to make sure that
we get this into this rig layer. I'm
| | 01:47 | going to make sure I have everything
selected, right-click over this, and hit
| | 01:51 | Add Selected Objects.
| | 01:53 | So now I've got my rig on one layer and
I can turn that on and off along with my
| | 01:59 | skeleton and my geometry.
| | 02:03 | So now we have a basic rig set into place.
| | 02:07 | I've got controls for my feet, my spine
and my arms, and I also added in another
| | 02:14 | control for the head, which is identical
to the way that we connected the spine
| | 02:18 | and we just did an Orient
constraint for the head.
| | 02:21 | So now that we have this basic rig,
we can start adding advanced rigging
| | 02:26 | controls, which we'll do in the next chapter.
| | Collapse this transcript |
|
|
6. Advanced Rigging ControlsWorking with set-driven keys| 00:01 | Now let's talk about some advanced rigging
controls, most specifically, set-driven keys.
| | 00:06 | Now these can be used to really
add a lot more control to your rig.
| | 00:13 | Now you may have used set-driven keys
before, but let's go ahead and do a quick
| | 00:17 | refresher on how to use them, and then
we'll go ahead and start using them for
| | 00:23 | more character animation related tasks.
| | 00:26 | So I've got a simple joint chain here and
I've got an arrow that we can use as a control.
| | 00:33 | Now this arrow, we can move it up or down,
and we can use that to, for example,
| | 00:39 | control the rotation of these joints.
| | 00:42 | And we're going to do it using
what's called a Set Driven Key.
| | 00:46 | Now you can find set-driven keys
under the Animation menu under Animate.
| | 00:50 | We have something here called Set Driven Key.
| | 00:53 | In fact, let's go ahead and open up the
menu, and when we hit Set it brings up
| | 00:59 | this Set Driven Key menu, and then that
allows you to use the attributes of one
| | 01:04 | object to drive attributes in another.
| | 01:08 | If we take this joint, we can
drive the rotation of this joint by the
| | 01:13 | position of this arrow.
| | 01:15 | So, for example, if I wanted to rotate
this joint around say, the Z axis, I could
| | 01:21 | load this as the Driven object.
| | 01:25 | It's kind of like a constraint,
whereas you have the constraining object and
| | 01:30 | the constrained object.
| | 01:31 | So in this case, we have
the Driver and the Driven.
| | 01:35 | So I'm going to load this joint as
the Driven object, and then I'm going to
| | 01:38 | click on this arrow and load that as the Driver.
| | 01:43 | So in this case, I want the joint's Z
axis to be controlled, or to be driven, and
| | 01:50 | then I want to be able to
move the object along the Y axis.
| | 01:55 | So I want Translate in Y to control
Rotate in Z. So I can go ahead and hit
| | 02:04 | a Key.
| | 02:05 | And when I do, you'll see that this lights
up and that says that it's actually keyframed.
| | 02:10 | And if I click on this joint, you'll see
that the Rotate Z actually has a keyframe.
| | 02:15 | So now I can move this object to a
different position, then select the joint
| | 02:24 | and rotate it to how ever far I want that to
be rotated when this object is at that position.
| | 02:31 | Then all I have to do is hit Key again,
and now we've got two set-driven keys.
| | 02:38 | So when I move this object, you'll see
that when it's at zero, which was the
| | 02:43 | original position, this also
is at its original position.
| | 02:48 | And then as I move this up, it goes only
to that point where I set the key, and
| | 02:54 | then it stops moving.
| | 02:56 | Now I don't need to use this just for
two keys, I can also do multiple keys.
| | 03:00 | So if I wanted to I can move this down
below zero, select the joint again, and
| | 03:07 | maybe rotate it the other way and hit Key.
| | 03:10 | So now I have three set-driven keys.
These are basically like animation keys.
| | 03:16 | So when the arrow is here, the joint
is here, goes through zero and then
| | 03:23 | here, and then it stops.
| | 03:25 | So this can really give you precise
control over how an object behaves, and you
| | 03:31 | can also tie objects together
in a one-to-one relationship.
| | 03:36 | Now if I select my joint which has
the set-driven key, and go into my Graph
| | 03:43 | Editor, you'll see that I actually have
an animation curve, and when this object
| | 03:49 | here is at its maximum, then this
curve here is also at its maximum.
| | 03:55 | So you can see how Rotate
here is connected to Translate.
| | 04:00 | And I can select these curves, and if I
want to I can actually move them around,
| | 04:05 | and actually change the way
that that in between work.
| | 04:08 | So I have a lot of control over this.
| | 04:11 | Now I can also have one
object control many objects.
| | 04:16 | So if I wanted this to bend more than
one joint I could just set a set-driven
| | 04:22 | key on this second joint, and
have both of them rotate as well.
| | 04:28 | So those are some of the basics of set-driven
keys and we're going to be using
| | 04:33 | them in the next few lessons
to control the character's hand.
| | Collapse this transcript |
| Creating custom attributes| 00:01 | Now let's go ahead and actually use
set-driven keys to add controls for
| | 00:06 | our character's hand.
| | 00:08 | Now on this rig, we have rigged it all
the way up to the character's wrist. We
| | 00:11 | haven't done the fingers or the thumb yet.
| | 00:14 | Now if I wanted to, I could keep going,
using the same techniques that we have
| | 00:18 | used before, and that's just adding
in control objects and using an Orient
| | 00:24 | constraint to control the
rotation of the fingers.
| | 00:27 | But we are actually going to
use a more advanced method.
| | 00:30 | We are going to use the
wrist as a control object.
| | 00:33 | So I am actually going to select the
wrist, and under this, in addition to the
| | 00:37 | Rotate controls to move the actual hand,
I'm going to add controls to adjust
| | 00:43 | the individual fingers.
| | 00:45 | Now we can do this in a number of ways.
| | 00:48 | We can create one control that just
bends every joint of the finger evenly, or
| | 00:54 | we can create an
individual control for each joint.
| | 00:58 | So in order to keep this simple, I am
just going to create one control per
| | 01:02 | finger and then something
to spread the fingers apart.
| | 01:07 | So let's go ahead and start
adding in Attributes for this wrist.
| | 01:12 | We can do that under the Modify panel.
| | 01:15 | We have an option here called Add Attribute.
| | 01:18 | So as long as I have the left wrist selected
and select Add Attribute, this menu will come up.
| | 01:24 | Now what this does is it allows us to
create our own custom attributes that will
| | 01:31 | show up in the Channel Box.
| | 01:33 | So, for example, I can create one
called index finger curl, or Index_Curl, and
| | 01:39 | that's a control to actually curl the
index finger forward, and then all I have
| | 01:44 | to do is make sure that the attribute
is keyable. And what type of attribute is
| | 01:49 | it? Is it a Vector? Is it a Boolean?
We are going to leave this on Float.
| | 01:54 | What type is it? Is it a Scalar or
is it a particle? That sort of thing.
| | 01:58 | We also have Minimum and Maximum attributes.
| | 02:02 | So if I want 0 to be the finger straight out
and 10 to be completely curled, I can do that.
| | 02:08 | And then once we have all this in,
I am going to go ahead and click OK.
| | 02:12 | And notice how we have a new
value here that shows up.
| | 02:17 | We can scroll it from 0 to 10,
but it's not connected up yet.
| | 02:23 | So let's go ahead and add in additional
controls and then in the next lesson we
| | 02:27 | will connect them up.
| | 02:29 | So again, I am going to keep the
wrist selected, go Add Attribute.
| | 02:33 | I am going to add in a couple of more.
| | 02:35 | I am going to add one in for the middle
finger to curl, and again, just that same
| | 02:42 | values here, and we are going to
create a minimum and a maximum of 0 and 10.
| | 02:47 | If we hit the Add button, it adds
it in and keeps us in this menu.
| | 02:51 | So we can also do one for Pinky_Curl,
again 0 to 10, Add, and one for let's say,
| | 03:03 | Finger_Spread, to spread the fingers apart.
| | 03:08 | And again, with this one, we want to
actually be able to push the fingers
| | 03:11 | together or pull them apart.
| | 03:12 | So let's do from -10 to +10, and then
we can also add ones for the thumb. We
| | 03:20 | could do Thumb_Bend, and thumbs also
go up and down along the plane, so let's
| | 03:28 | go ahead and do one called Thumb_UpDown, and
again, that's kind of like a spread control.
| | 03:36 | So now that we have these in place,
whenever I select the wrist, I have all of
| | 03:42 | these attributes that I can now
use to create action on the hand.
| | 03:48 | I am going to do that using set-driven
keys in the next lesson.
| | Collapse this transcript |
| Wiring joints to custom attributes| 00:01 | Now let's go ahead and finish our
hand rig by wiring up the joints to the
| | 00:07 | attributes that we added in the last
lesson, and let's go ahead and zoom in here.
| | 00:13 | So what we want to do is actually take
these attributes, Index, Mid and Pinky
| | 00:19 | Curl and wire them to the joints of
these fingers, so that when you dial that up
| | 00:25 | to 10, the finger joints will curl.
| | 00:29 | So in order to do this we need to
start using set-driven keys.
| | 00:33 | I am going to select the index
finger 01 joint on this left hand, and
| | 00:39 | under Animate I am going to do a Set
Driven Key > Set, and that brings up
| | 00:44 | my Set Driven Key menu.
| | 00:46 | Now we need to figure out which value
we wanted to affect, and so if I select
| | 00:53 | this and just hit Rotate, you can see that
I am actually rotating around the Z axis.
| | 00:59 | So Z is what we need to use to rotate that.
| | 01:04 | So we want to hook this up to
the index finger Curl control.
| | 01:09 | So I am going to select my left
wrist and load that as the driver.
| | 01:15 | So I want to select Index Curl and
Rotate Z. Now let's make sure Index Curl
| | 01:21 | is at 0 and the finger is straight out and
we will go ahead and select and press Key.
| | 01:26 | Now once I do that, if you select the
index finger joint, you will see that I
| | 01:31 | have a keyframe set.
| | 01:33 | So let's go ahead and set
the next set-driven key.
| | 01:37 | Again, I am always starting with
the driver when I do set-driven keys.
| | 01:42 | So I am going to go ahead and set my
Curl up to 10, and then in the second step,
| | 01:48 | rotate this to where I want it.
| | 01:51 | So I am thinking it's looking like
around -80, -85, so I am actually just going
| | 01:56 | to type in -80 to give it a nice
round number, and then press Key.
| | 02:02 | So now I should be able to get my
index curl -- should be able to bend this
| | 02:07 | finger, and it does.
| | 02:09 | Now we need to do this
for each joint in the hand.
| | 02:13 | Now if we want we could create
additional attributes for each joint, but I am
| | 02:18 | going to have this control all of the joints.
| | 02:21 | So I am going to go ahead and select
my second joint, Indx02, load that as
| | 02:27 | Driven and again, select Rotate Z,
because that's what we are going to do and
| | 02:32 | make sure everything is at 0 and then hit Key.
| | 02:35 | You can see that keyframe comes up and
again, I have got Index Curl selected
| | 02:40 | here, so I have made that connection
between Index Curl and Rotate Z of that
| | 02:46 | second index finger joint.
| | 02:48 | So I am going to select my wrist and
again take my Driver and put it up to
| | 02:52 | Maximum, to 10, then select
my Driven and rotate that.
| | 02:57 | So I am going to go ahead and select
this and rotate it, and in this case, I'm
| | 03:01 | not going to do it all the way to 80, I
think I am just going to do it to -60.
| | 03:07 | And again, hit Key.
| | 03:09 | So now I should be doing both joints here.
| | 03:12 | So now, when this is at 0, the hand is
straight out and now it's bending those
| | 03:17 | joints evenly. And let's go ahead
and do the same task for the last one.
| | 03:22 | So again, select Indx03, load that as
Driven, select Rotate Z, make sure I have
| | 03:30 | Index Curl selected on the wrist, and hit Key.
| | 03:35 | And again, you can see the keyframe comes up.
| | 03:37 | Go to the Driver, set that to its Maximum.
| | 03:41 | Go to the Driven, which is the index finger
joint, and let's go ahead and rotate that in.
| | 03:47 | And again, I think I am going to rotate
this to say -60 degrees, which should be about
| | 03:51 | right, and then again hit Key.
| | 03:54 | So now we have a pretty good finger curl
there and now when I go to my wrist you
| | 04:00 | can see how I can rotate that.
| | 04:04 | So the next step is to do
this for every joint in the hand.
| | 04:10 | So now I've gone ahead and added in the
exact same controls for each of the fingers.
| | 04:17 | So I have index finger curling,
middle finger curling and a pinky curl.
| | 04:24 | If I want, I can select all of
these and curl the entire hand.
| | 04:28 | This makes it very easy to
do this sort of animation.
| | 04:31 | But we also want to be able
to spread the fingers as well.
| | 04:35 | So I want to be able to move the
fingers this way, left and right.
| | 04:40 | So again, we can do that using a set-driven key.
| | 04:44 | So I am going to go ahead again to my
index finger, and the spread control is
| | 04:48 | going to be the Y control.
| | 04:50 | So I am going to start with 0 here and
we are going to select Finger Spread, and
| | 04:57 | I am going to load this finger as the Driven.
| | 04:59 | Okay, so I have Indx01_L, make sure
that's selected, and I want to have Rotate
| | 05:05 | Y as my Driven object, and I am going
to go ahead and hit Key, and that should
| | 05:11 | key that index finger.
| | 05:13 | Now I am going to select my wrist,
again select the Driver, and in terms of
| | 05:18 | Finger Spread, I can go to positive or negative
10, so let's go to positive 10, select
| | 05:24 | that index finger and rotate it
as far as we think it will go.
| | 05:29 | And so in this case, I am thinking maybe -30 degrees,
somewhere around there, and again press Key.
| | 05:37 | So now I have this Finger Spread going
from 0 to 30, but we also want it to go in,
| | 05:44 | so that the fingers come together.
| | 05:46 | So again, I am going to bring Finger
Spread into -10, again, affect the Driver
| | 05:51 | first, select the Driven object, which
is Indx01, and rotate that in. So let's
| | 05:57 | say about 18 degrees, that would be a
good number, and then again hit Key.
| | 06:03 | So I actually have three
set-driven keys on this.
| | 06:06 | So if I select my wrist, my Finger
Spread will go from 0 all the way in.
| | 06:12 | So now I have got that coming in, but we
can also do that for the pinky as well.
| | 06:17 | So let's go ahead and select that.
| | 06:20 | So again, I want to make sure my left
wrist is selected, Finger Spread, and then
| | 06:25 | just Load Driven, and I want to actually
use Pinky01_L, and I want to drive Rotate
| | 06:32 | Y from Finger Spread.
| | 06:34 | So let's go ahead and hit a Key for the
neutral position, select the wrist, put
| | 06:40 | Finger Spread all the way up to 10,
select that joint, and then rotate that out.
| | 06:46 | Let's say we are going to rotate out, say maybe
not quite 30 degrees, maybe 20 degrees.
| | 06:51 | There we go, and press Key.
| | 06:54 | Select the wrist again.
| | 06:55 | So now you can see from 0 to 10 we've got
that kind of coming out, and then for -10
| | 07:02 | we want to bring that in again.
| | 07:04 | So again, I am going to select the pinky
joint, rotate that in, say -16 degrees,
| | 07:11 | sounds about right, and hit Key.
| | 07:13 | So now I have got controls
to spread the fingers as well.
| | 07:18 | So I can spread the fingers and I can
curl the fingers, and I can curl and spread
| | 07:25 | the fingers as well.
| | 07:26 | So I've got a lot of control over this hand.
| | 07:29 | Now we can do the exact
same thing for the thumb.
| | 07:33 | We can use the Thumb Bend control to
curl the thumb in, and we can use the Thumb
| | 07:39 | Up and Down control to again, move it
up and down almost like a Spread control.
| | 07:45 | And I am going to go ahead and leave
that you, and I will do that so we can see
| | 07:49 | how it works in the next lesson.
| | 07:51 | But again, remember when you're adding
these set-driven keys, you will always move
| | 07:56 | the Driver first and then move
the Driven, and set the keyframe.
| | Collapse this transcript |
| Creating an FK/IK switch| 00:01 | Now that we have our hands wired up,
let's go ahead and continue doing some more
| | 00:06 | advanced controls by setting
up an FK/IK switch for the arms.
| | 00:12 | Now, the first step is to actually
create an object that turns IK on and off.
| | 00:19 | Now, I have created these little arrow
icons and we can use those to actually
| | 00:24 | turn FK and IK on and off.
| | 00:27 | So all we have to do is basically just
move these left and right along the X axis.
| | 00:33 | So the first thing we need to do is actually
find the IK handle for the hands or the arms.
| | 00:39 | So in this case, I am going to select
the IK handle for the left arm, and we're
| | 00:45 | going to scroll down and the
control that we want is IK Blend.
| | 00:48 | We want this to go between 0 and 1, as
this moves left and right, and we can do
| | 00:54 | this again with the set-driven key.
| | 00:58 | So I'm going to go in Animate > Set
Driven Key > Set, and the Driven is going
| | 01:05 | to be the IK Blend parameter, and the Driver is
going to be this object that's called Left FK-IK.
| | 01:14 | And we're going to use the X
Translate to flip the switch.
| | 01:18 | So I'm going to go ahead and Load Driver,
X Translate, and right now, this is at
| | 01:25 | 0 and my IK Blend is also at 0, I believe.
| | 01:32 | So let's make sure.
| | 01:33 | So let's go ahead and select our
handle for the arm, and IK Blend is at 0, so
| | 01:38 | let's go ahead and hit Key.
| | 01:40 | You can see that it shows up in red,
| | 01:42 | that means it has a keyframe attached to it.
| | 01:45 | And now, all we have to do is move this over,
and let's just go ahead and move this
| | 01:49 | to 1, and then select our IK handle
on our left arm, set IK Blend to 1.
| | 01:59 | Now again we can set a Key.
| | 02:01 | So now as this goes between 0 and 1,
you'll see that the IK handle -- let's go
| | 02:09 | ahead and close this, that
the IK handle goes from 0 to 1.
| | 02:17 | In fact, you can see it turn on here.
| | 02:19 | You can see it go brown when this goes to 1.
| | 02:23 | So you can see we're switching on
and off the IK, and that's pretty cool.
| | 02:28 | Well, one of the things about this
is that, while we can move this really
| | 02:32 | anywhere, we need to rein this in just
so that it moves only where we want it.
| | 02:37 | So I'm going to go ahead and set my
Translate to 0 here, and then for all of
| | 02:43 | these other parameters, I'm going to go
ahead and right-click and lock them, and
| | 02:48 | then right-click again and hide them.
| | 02:50 | So all we have is Translate
X. So that's all we can do.
| | 02:55 | Then let's go ahead and limit
its travel only from 0 to 1.
| | 02:59 | So I'm going to go into the Attribute
Editor, and then under L_FKIK, you see
| | 03:07 | that Translate is the only value that
can be animated, and we have what's
| | 03:12 | called Limit Information.
| | 03:15 | So we limit Translate here, and
you'll see that under X, and this is only
| | 03:20 | one that we can actually manipulate here,
we can set a minimum, and a maximum for this.
| | 03:25 | So the minimum is going to be 0,
the maximum is going to be 1.
| | 03:30 | So now this only moves between 0 and 1.
| | 03:34 | So the next thing we want to do is when
we actually have IK on, we want to have
| | 03:40 | a handle with which to actually move
that arm joint, and this is going to be
| | 03:45 | very similar to what we have here on the foot.
| | 03:49 | So again, I have this object here
already set in place, it's called L_HAND.
| | 03:55 | If we go into our Outliner, you'll see
it's here, and we have our IK handle for
| | 04:01 | our left arm. All we have to do is middle
-click, drag it over L_HAND, and now
| | 04:07 | when IK is on, we can move this left
hand, and the skeleton will move.
| | 04:16 | We turn IK off and we move
this, well nothing much happens.
| | 04:21 | But when we turn it on, you can
see how it snaps to that IK handle.
| | 04:27 | So that's the basic way of
setting up an IK/FK switch.
| | 04:31 | We're going to do a little bit
more on this in the next lesson.
| | Collapse this transcript |
| Setting up elbow controls| 00:01 | Now that we have an IK/FK switch on the
arm, we need to add one more control, and
| | 00:06 | that's to control the
direction of that elbow joint.
| | 00:10 | Now, this is going to be very
similar to what we did with the legs.
| | 00:14 | We have these controls here which
control the knee joints, and they do that using
| | 00:20 | what's called a Pole Vector constraint.
| | 00:23 | So we're going to do the same thing
here for the elbows, and as you can see, I've
| | 00:27 | already put in our little icon here
it's called L_ELBOW_AIM, and basically
| | 00:33 | we're going to set this up like any constraint.
| | 00:35 | We're going to select the constraining
object, the constrained object and then
| | 00:39 | apply the constraint.
| | 00:41 | So in order to select these, I
probably need to go into the Outliner.
| | 00:46 | Now, I can see this object very easy.
| | 00:48 | This is my constraining object.
| | 00:50 | It's called L_ELBOW_AIM.
| | 00:52 | My constrained object is my
little IK handle way down here.
| | 00:56 | Probably the easiest way to get to
this is just find it in the Outliner and I
| | 01:01 | can Ctrl+Select it here,
it's called IkHandle_LArm.
| | 01:05 | Now that we have them selected in the
proper order, Constrain > Pole Vector, and
| | 01:10 | that's really all we need to do.
| | 01:11 | Now, I want to make sure that this is in IK Mode.
| | 01:14 | So I'm going to go ahead and select this
slider here and just move it over to 1,
| | 01:20 | and then we can move our arm, and we
should be able to move our IK control, and
| | 01:26 | then when we IK back, goes back to normal.
| | 01:29 | So you can see how that works.
| | 01:30 | So I'm going to go ahead and just
undo this and reset this all to 0, and now
| | 01:35 | let's go ahead and do the
same thing for the right arm.
| | 01:39 | So again, I'm going to select my R_ELBOW_AIM,
and then select my IK handle for my right arm,
| | 01:45 | Constrain > Pole Vector, and there we go.
| | 01:49 | So that's basics of that, very
similar to how we did the knees.
| | 01:53 | Now, we probably can do one more
little step and that's add some additional
| | 01:57 | controls to make things appear and
disappear to keep it a little bit more clean.
| | 02:01 | And we're going to do that in the next lesson.
| | Collapse this transcript |
| Hiding and showing controls| 00:01 | Now let's go ahead and add one more
little control to our FK/IK switch, and
| | 00:06 | that's the ability to turn off those
objects which we're not using, and also
| | 00:11 | let's add a little indicator to
tell whether we're in FK or IK mode.
| | 00:17 | So I've added in a little text icon
here, and basically, we're going to turn
| | 00:23 | them on and off depending on whether
we're in FK or IK mode. And then in
| | 00:27 | addition to that, we're going to turn
off these two controls which control IK.
| | 00:32 | So when we're in FK mode, we're just
going to have the FK controls available,
| | 00:37 | and then in IK mode, we're going to go
ahead and bring up the IK positioning controls.
| | 00:43 | So we can do this in a number of ways.
| | 00:46 | The first one I'm going to use is just
a set-driven key, and then I'm going to
| | 00:49 | show you another way using the
Connection Editor, that might be a little bit
| | 00:53 | faster for some of these tasks.
| | 00:56 | But let's go ahead and just do a quick
set-driven key to make the F-icon disappear.
| | 01:03 | So when this is at 0, I want this to
be visible, and when this is at 1, I
| | 01:09 | want it to be invisible.
| | 01:11 | So probably the easiest way to
do this is just a set-driven key.
| | 01:14 | So I am going to go ahead and select that F,
in fact, let's go into the Outliner here.
| | 01:19 | I am going to make sure I select the
whole thing here in the Outliner, because
| | 01:24 | we can just accidentally
select just the character.
| | 01:27 | But I want to make sure I select the
whole node here, and then we're going to do
| | 01:31 | Animate > Set Driven Key >
Set, and this is our Driven.
| | 01:37 | I'm going to drive Visibility, I'm
going to select my FK/IK control, that's
| | 01:43 | going to be my Driver, Translate X. So
when it's at 0, this is visible, move
| | 01:49 | this to 1, select our object here,
turn Visibility to off, bring up our Set
| | 01:58 | Driven Key menu, hit Key. Very simple!
| | 02:00 | So now this turns on and off.
| | 02:02 | Now, we can use this really for
anything, and we could actually do the same
| | 02:06 | thing for our IK control as well.
| | 02:10 | We can just do a set-driven key.
| | 02:12 | But because this is going between 0
and 1, that's really what visibility is.
| | 02:17 | When visibility is 0, that means
it's invisible, when visibility is at 1,
| | 02:23 | it means it's visible.
| | 02:25 | The visibility will actually mirror this value.
| | 02:28 | So that's kind of a unique situation.
| | 02:30 | But we can take advantage of that and
use a simpler way without having to do a
| | 02:34 | whole set-driven key.
| | 02:35 | I'm going to do that using
what's called the Connection Editor.
| | 02:40 | So I'm going to go ahead and scale this
down so we can see this a little bit easier.
| | 02:44 | So what we can do is we can make
one object control another, and it's
| | 02:47 | basically just a direct link.
| | 02:49 | So the value of object on the left will
control the value of the object on the right.
| | 02:56 | Let's go ahead and just select this
object here L_ELBOW_AIM, reload that
| | 03:01 | as the right, and so what I want to do
is select this and I want Translate X
| | 03:06 | on this object here.
| | 03:08 | So I scroll all the way down, find
translate, highlight translateX, and then on
| | 03:17 | this object, I want to
control visibility, right there.
| | 03:22 | Okay, now these are not in alphabetical order.
| | 03:25 | So sometimes you have to search for these.
| | 03:26 | Now, once I select that, you
can see how it goes into italics.
| | 03:30 | So now, this is also turning on and off.
| | 03:35 | So now, when it's in Inverse Kinematics mode,
I can see this object, when it's not, I can't.
| | 03:41 | So we can do the same thing for this
left hand control, and again, all I have to
| | 03:45 | do now is reload that on the right side.
| | 03:48 | I already have my L_FKIK on the left
side, and then just again select visibility.
| | 03:56 | So now I've got both of these
disappearing, and then I can also go back into my
| | 04:01 | Outliner here, select my Text_I_L
for left, Reload Right, visibility.
| | 04:09 | There we go!
| | 04:10 | So this is in lieu of a set-driven key.
| | 04:14 | So now, when it's in FK mode,
all we have are the FK controls.
| | 04:20 | When it's in IK mode, we've
added in the IK controls as well.
| | 04:27 | So that's kind of a nice handy way of connecting
objects without doing a set-driven key.
| | 04:32 | Now remember, the Connection Editor
just connects A to B, so the values just
| | 04:37 | go across directly.
| | 04:38 | There's really no filtering, there's no
set-driven key, there is no expressions.
| | 04:42 | But in certain situations like
this, it can be very, very handy.
| | 04:46 | So go ahead and do the same task for
the right hand, and practice and make sure
| | 04:52 | you can turn off the controls for
the right hand as well.
| | Collapse this transcript |
|
|
7. Facial Rigging Creating simple eyes| 00:01 | Now, let's start working on
the character's head and face.
| | 00:05 | We're going to start by creating a very
simple eye that can have a pupil control.
| | 00:12 | So right now, I've actually
removed the eyes from this character.
| | 00:16 | We had some proxy eyes in there for
the beginning of this lesson, but we're
| | 00:21 | going to go ahead and rebuild those to
show you how to build some proper eyes.
| | 00:25 | Basically, for eyes, you just
need to start with a sphere.
| | 00:29 | I mean the modeling is pretty easy.
| | 00:31 | So let's go into the character's
front viewport here, and we can build eyes
| | 00:36 | either using Surfaces, NURBS curves,
or Polygons, it really doesn't matter.
| | 00:42 | Now, I'm going to go ahead
and just create a polygonal eye.
| | 00:45 | So I'm going to just go ahead and just
drag out a polygonal sphere, and in terms
| | 00:51 | of size I'm going to make
it about 3 units big.
| | 00:55 | Okay, now we can adjust that as we
fit the eye to the character.
| | 01:00 | Now, before I actually fit the eye to
the character, I want to place a pupil on
| | 01:05 | this particular object.
| | 01:07 | Right now, it's basically just gray.
| | 01:09 | So I need to either create a second
object for the pupil, I need to use my edge
| | 01:16 | loops to define where that pupil
is, or I need to create a texture.
| | 01:21 | Probably, the most versatile
way is to create a texture.
| | 01:26 | So, I'm going to use a Ramp
Shader to create an eye with a pupil.
| | 01:31 | Now, in order to get that shader right,
I'm actually going to create a simple
| | 01:35 | plane that can give me a
better view of it as I create that.
| | 01:40 | So I'm just going to go ahead and just
drag out a square plane, so I can see that.
| | 01:47 | And then, I'm going to go into my
Rendering tab here, and I'm just going to
| | 01:51 | apply a Phong Shader, and then I'm just
going to go ahead and turn the color to
| | 01:56 | white, so we can see what's going on,
but I actually want to create a texture.
| | 02:00 | Now, I can create a texture using a
bitmap and I can create a very photo
| | 02:05 | realistic eye if I want to do that.
| | 02:08 | For this character, we're just going to
create kind of like dot or cartoony type
| | 02:12 | of eyes, and we can do that using a ramp.
| | 02:16 | So in my Phong Shader here, we can go
into our Color attribute and just click on
| | 02:22 | this little grid here, and that
brings up our Create Render Node option.
| | 02:28 | Now, you're probably familiar with this.
| | 02:30 | But we want to scroll down here
and find the one that says Ramp.
| | 02:33 | So I'm going to go ahead and create a ramp.
| | 02:36 | Now, in order to see what's happening
in my viewport, I do need to go into
| | 02:40 | Shading, and turn on Hardware Texturing.
| | 02:43 | So you can see that I have this ramp.
| | 02:47 | Now, it's hard to see because I have a
very tight viewport here, but you can see
| | 02:51 | it goes from red to blue.
| | 02:54 | But I really just want to create one that
goes from white to black, and is circular.
| | 03:00 | So the first thing I want to do is
actually adjust the type of ramp.
| | 03:03 | Right now, it's a V Ramp, which means
it goes along the V of the UV range.
| | 03:09 | But actually, what I really want is a
circular ramp, and that just basically
| | 03:14 | starts at the center and
moves out, so the center is red.
| | 03:18 | But we want to make this into an eye.
| | 03:20 | So I'm going to make the center black.
| | 03:22 | So I'm just going to click on that
color, select black, and then you can see
| | 03:26 | I've got a black center.
| | 03:28 | And then here, this green, well we don't
want green, we basically want white.
| | 03:32 | We basically just want a
black and white cartoon eye.
| | 03:35 | So I'm going to turn that green
into white, select this blue, and again
| | 03:41 | switch that to white.
| | 03:43 | You can see now we're kind of getting a
bit of a cartoon eye, but I still need
| | 03:47 | to kind of tighten this up a bit.
| | 03:49 | So I'm going to grab this little handle
here, move it up, that's going to be the
| | 03:53 | diameter of my eye, and then grab this
handle and pull it down, and that's really
| | 03:59 | going to be the feathering of my eye;
| | 04:01 | how tight does it go from black to white.
| | 04:04 | So this basically creates my pupil.
| | 04:08 | So now that we have this, I know that I
have a material that works for a pupil.
| | 04:13 | In fact, let's go ahead and rename that eye.
| | 04:17 | So now that I have this in my
Material Library, I can delete the plane
| | 04:21 | because really I just used it as
kind of a scratch-pad, and then select my
| | 04:26 | sphere, right-click, and under Assign
Existing Material, here is eye, which
| | 04:32 | is what we've created.
| | 04:34 | Now, you'll see that well,
it's not really mapping properly.
| | 04:39 | But we can easily fix that.
| | 04:41 | We can go into our Polygons menu set, and
under Create UVs, just do Planar Mapping.
| | 04:48 | I'm going to go into my options here and we
want to make sure that we map along the Z axis.
| | 04:55 | If you can see here, Z is what's
pointing straight down the eye.
| | 04:58 | So I want to make sure I map along the
Z axis, and I want to fit the projection
| | 05:04 | to the bounding box, which
means to the edge of the eye.
| | 05:07 | So I'm going to take that flat plane
and just fit it to the eye, and when we
| | 05:11 | click on Project, you'll see that
now I have my pupil, and we also have
| | 05:18 | control over that pupil.
| | 05:19 | So I can scale this up or down.
| | 05:22 | You can see here in my Attribute Editor,
under Planar Project, my Projection
| | 05:27 | Width will actually control how big my pupil is.
| | 05:33 | So if I want, I can go as far down as 6.
| | 05:37 | Remember, my eye is 3 wide, so twice
that is 6, so 3 on this side and 3 on that
| | 05:42 | side, and I can go anywhere from 6 and above.
| | 05:46 | So right now, this eye is the smallest
it can be, but it can get bigger and all
| | 05:51 | we have to do is just basically
increase the projection of the map.
| | 05:54 | And this will allow us to control the
dilation of the character's eyes when we get
| | 05:58 | deeper into rigging.
| | 06:00 | I'm going to go ahead and click off of
that and just go back into Object mode,
| | 06:03 | and now we have this eye.
| | 06:05 | Now, if I want, I can duplicate
this eye and create a second eye.
| | 06:11 | But if you notice here, in this eye,
the projection is missing because when I
| | 06:16 | actually duplicate this,
that projection goes away.
| | 06:19 | So if I want to control this eye as
well, I'm going to have to create a whole
| | 06:23 | new set of UVs using Planar Mapping.
| | 06:26 | Make sure all that is on, hit
Project, and now I've got, again, a mapping
| | 06:32 | coordinate that I can
use for each of these eyes.
| | 06:34 | So go back in Object mode here.
| | 06:36 | So when these are done, you can see
that each one of these has to have a Poly
| | 06:42 | Planar Projection node on it and
that will allow us to control pupils.
| | 06:47 | So those are basics of how to actually
create and texture the eye objects, but
| | 06:52 | we still need to fit them to the
character's head, and we'll go ahead and do
| | 06:56 | that in the next lesson.
| | Collapse this transcript |
| Rigging non-spherical eyes| 00:01 | Now that the character's eyes are built,
we can fit them to the character's head.
| | 00:05 | Now, I've renamed these eyes.
| | 00:07 | We have left eye and right eye, and
let's go ahead and start trying to fit them
| | 00:12 | to the character's head.
| | 00:13 | Now, very quickly, you'll see that
these eyes actually don't fit, and that's
| | 00:20 | because the eyes are actually
spherical and the eye sockets are not.
| | 00:25 | They're actually kind of an oval shape
and so these eyes really don't quite fit in.
| | 00:31 | I mean, I might be able to kind of
place them into the eye socket, but you're
| | 00:34 | going to start seeing gaps and then
also the eyes are going to protrude out.
| | 00:38 | Now, if I select the head, hit the
number 3 on the keyboard to invoke
| | 00:43 | Subdivision Surfaces, you can see this
a little bit more clearly as that we're
| | 00:47 | kind of getting these gaps here.
| | 00:49 | And if I pull the eye out enough to
cover the gaps, he's going to start to get
| | 00:54 | bug eyes, which we really don't want
because in order to blink the character's
| | 00:58 | eyelids, they are going to have to come forward.
| | 00:59 | So we kind of want to flatten these
eyes a little bit, and kind of ovalize them
| | 01:04 | to make them a little less spherical.
| | 01:07 | But that creates a problem because we
still need to rotate the eyes in the eye
| | 01:12 | socket and if the eyes aren't oval,
we're going to have a problem.
| | 01:17 | So there's a couple of
methods that we can use to do this.
| | 01:20 | Let's go ahead and pull this eye out in
front, so we can see a little bit better
| | 01:25 | and let me show you what I mean here.
| | 01:27 | So if I were to say reshape the eye,
let's say I were to scale it in order to
| | 01:32 | fit that eye into the socket, that
would look good, but as soon as I go to
| | 01:37 | animate that, you can see that eye is
going to start to tumble, and that's
| | 01:41 | not really what I want.
| | 01:42 | So I'm going to go ahead and undo
that so that it's still spherical.
| | 01:46 | So we need to deform this eye but still
enable us to rotate it, so we can look
| | 01:51 | in different directions.
| | 01:52 | Probably, the easiest way to
do that is by using a Lattice.
| | 01:58 | So I'm going to go ahead and select this
eye, make sure my Animation menu set is
| | 02:02 | up and under Create Deformers,
I'm going to go into Lattice.
| | 02:06 | Now, let's take a look at the options here.
| | 02:08 | Under Divisions, normally it's 252, but
I want to make sure this is set to 2, 2,
| | 02:13 | and 2, so that way, it's just a box.
| | 02:17 | We want to make sure we are in Use
local mode, and then also it's nice to group
| | 02:21 | the base and the lattice together.
| | 02:23 | That'll make it a little bit easier to organize.
| | 02:26 | So let's go ahead and create that,
and it creates this little box.
| | 02:31 | But this box is a lattice.
| | 02:33 | So if we right-click over it, we have a
Lattice Points, and we can select those
| | 02:38 | lattice points and basically just
model this into the shape we want.
| | 02:42 | So if I go into Move mode, rubber band-
select the front lattice points on that.
| | 02:49 | I can squash my eye into a little M&M shape.
| | 02:53 | But the really cool thing is that if I
actually select the eye itself and rotate
| | 02:59 | it, it maintains that M&M shape, but
it rotates the pupil over the surface of
| | 03:05 | that eye and this is exactly what we want.
| | 03:08 | So I need to go ahead and place
this into my character's head.
| | 03:14 | So let's go into the
Outliner and see what we have here.
| | 03:17 | When we take a look at this in the
outlining, you'll see we have the R_EYE,
| | 03:21 | we have our Lattice Group
with our lattice, and our base.
| | 03:25 | So I'm going to go ahead and select my
Lattice Group, Ctrl+Select my right eye,
| | 03:29 | and let's group those together.
| | 03:31 | So we're going to go Edit > Group.
| | 03:33 | So now I have this group with
everything in it, and I can double-click on that,
| | 03:37 | and call it say, for example, R_EyeGroup.
| | 03:43 | So that way, I have a descriptive name.
| | 03:45 | Select my R_EyeGroup and Modify >
Center Pivot, and let's go ahead and move
| | 03:53 | that into place.
| | 03:55 | So now I'm going to start adjusting
my lattice to fit the eye into place.
| | 04:02 | Now, at this point, I have my geometry
live, but I'm going to go ahead and in my
| | 04:06 | Geometry layer, turn that to R, so that
way, I don't accidentally select it and
| | 04:13 | I can still select my lattice points.
| | 04:16 | Now, in order to really adjust this, I
need to select the lattice points that
| | 04:19 | are inside the character's head.
| | 04:22 | So I'm going to go into a quad view here.
| | 04:26 | So that way, I can kind of select things
in this side view and still adjust them
| | 04:32 | in my perspective view here.
| | 04:33 | So hopefully, this will all work.
| | 04:35 | I need to right-click over my lattice,
select lattice point, and then we can
| | 04:42 | start adjusting here.
| | 04:43 | In fact, I can look at this here;
| | 04:46 | Shading, go to Smooth Shade,
and turn on Hardware Texturing.
| | 04:50 | So let's go ahead and
start moving that into place.
| | 04:59 | So again, I'm kind of making this eye
a little bit more oval, so it's not a
| | 05:04 | complete square from the front, and actually,
that's starting to look pretty good here.
| | 05:09 | So there we go!
| | 05:12 | So you don't have to do too much adjustment.
| | 05:14 | This is actually pretty close.
| | 05:15 | I can probably bring these
ones out a little bit more.
| | 05:18 | So you can see you can also
select them here, and there we go!
| | 05:23 | Okay, so it looks pretty good.
| | 05:26 | Maybe these ones can go back just a hair.
| | 05:30 | So what I'm trying to do here is just
get an even outline around that eye, and I
| | 05:35 | can spend probably a little bit more
time adjusting this, but I'm just going to
| | 05:38 | go back into Object mode here. And you
can see now I've got this eye that will
| | 05:43 | rotate in the socket and stay in the socket.
| | 05:47 | So that's pretty much all we need to do.
| | 05:50 | So let's go ahead and do
this once more for the left eye.
| | 05:54 | So I select my left eye, go Create
Deformers > Lattice, we should be able to use
| | 05:59 | those same options there, and then go
into my Outliner, select this group,
| | 06:07 | Ctrl+Select my L_Eye, group them,
Ctrl+G, rename the group L_EyeGroup.
| | 06:17 | So go ahead and select my L_EyeGroup,
go into Move mode;
| | 06:24 | Modify > Center Pivot.
| | 06:26 | And let's go ahead and set
that into place here.
| | 06:28 | So again, I'm going to move this eye in,
and then go into my lattice points and
| | 06:36 | first thing I want to do is go
ahead and squash the front of the eye.
| | 06:39 | In fact, probably the easiest thing to
do is to make this shape almost exactly
| | 06:47 | the same as the other lattice shape.
| | 06:50 | So I can just grab the back lattice
points, and move them in, so that they're
| | 06:56 | pretty close to what the other one is.
| | 06:59 | Grab the ones here along the bottom,
move them up, and again you can see how
| | 07:03 | we're kind of starting to get this into place.
| | 07:10 | I can tweak this a little bit more,
but I think you get the gist of it.
| | 07:13 | So once we have all of this in place,
go into our Outliner and we can either
| | 07:19 | take our eyes separately, or both of
our eye groups, and then just group them
| | 07:23 | once more, so that we have them nice
and organized and we can call that Eyes.
| | 07:29 | So now I have this which allows me to
have both of my eyes, and then I can go
| | 07:33 | into these groups to adjust them if needed.
| | 07:36 | So those are some of the basics
of how to rig non-spherical eyes.
| | 07:42 | Lattices are probably your best bet with
doing this, but you can use a number of
| | 07:46 | different methods as well.
| | Collapse this transcript |
| Attaching eyes to the skeleton| 00:00 | Now that we have the eyes in place, we
still need to connect them into the skeleton.
| | 00:06 | Typically, we want to connect them to
this neck bone so that when this neck
| | 00:12 | rotates, the eyes just follow
along with the head and the head joint.
| | 00:18 | Now, we don't have any skinning
on the character's head right now.
| | 00:22 | So we're going to attach the eyes in
anticipation of skinning the head, and when
| | 00:27 | we finally skin the head everything
will move together, but right now we just
| | 00:31 | need to get the eyes attached into the skeleton.
| | 00:35 | Now I already have some rigging for
this head and when I turn on the rig you'll
| | 00:39 | see I have a head control,
which already controls that joint.
| | 00:45 | So I want to use this along with
this other joint to connect in the eyes.
| | 00:49 | So let's go ahead and zoom in here, and
right now I'm going to go ahead and turn
| | 00:55 | off this Geometry so we don't have to
see it, and let's go into our Outliner.
| | 01:01 | So I have this eye hierarchy here, and
this group that I created, and if you
| | 01:06 | notice here this group actually is
centered at the origin and that's typical for
| | 01:11 | when I group something.
| | 01:12 | So what I need to do is go ahead and
move that group and snap the center of
| | 01:17 | that group to the top of this joint
here, because this is going to be the
| | 01:22 | center of rotation for the head and I want to
make sure that the eyes follow along exactly.
| | 01:27 | I'm going to hit my Insert key on my PC
or the Home key on the Mac, and then I'm
| | 01:32 | just going to go ahead and move this up,
and then we're going to go ahead and
| | 01:35 | turn on Snap to points, and then just
snap that to that neck joint right there.
| | 01:42 | So now that I have that I can turn off Snap.
| | 01:46 | And now I need to connect this
into this hierarchy.
| | 01:50 | This joint here is already
being controlled by this rig.
| | 01:56 | So it's being controlled by
the head control on the rig.
| | 01:59 | You can see here, when I select this
joint, you can see I have light blue here
| | 02:04 | for all the rotates.
| | 02:06 | So I don't really want to attach the
eyes to the joint, because then I'm getting
| | 02:11 | an attachment to something that's
attached to something else, and then we start
| | 02:14 | to create a chain, which gets
messy when you go to debug things.
| | 02:18 | So I want to attach everything to this
one rigging control called Head, and we
| | 02:23 | can do that with a constraint.
| | 02:24 | So I want to make sure I select Head,
and then in the Outliner Ctrl+Select Eyes,
| | 02:31 | and then we're going to do two constraints.
| | 02:34 | I'm going to do an Orient constraint.
| | 02:35 | I want to make sure Maintain Offset is clicked.
| | 02:39 | And so then when I get that
going it gets rotation going.
| | 02:43 | But if I move the rig, or even move a joint
below that, we might not get that rotation.
| | 02:50 | So I want to make sure I get
everything moving together.
| | 02:53 | So I'm also going to do a Point constraint.
| | 02:56 | So, again, I'm going to select the
constraining object head, Ctrl+Select the
| | 03:01 | eyes, do Constrain > Point
constrain, Maintain Offset, Add.
| | 03:07 | So now once I have that, everything
should move in place and I should be able to
| | 03:13 | rotate this joint and move it wherever I want.
| | Collapse this transcript |
| Applying blend shapes| 00:00 | Now that we have the eyes fully rigged,
let's go ahead and rig the rest of the face.
| | 00:05 | So let's go ahead and set up the
animation for the rest of face.
| | 00:08 | We're going to create a more
complex facial rig later, but I want to
| | 00:12 | introduce you to the concept of blend
shapes and these are very important for
| | 00:16 | character animation.
| | 00:17 | They allow you to do very
precise control of shape animation.
| | 00:22 | Now you may already be familiar with them,
but let's do a quick refresh of blend
| | 00:26 | shapes with this
character's head as the subject.
| | 00:30 | So we can see how it
applies to facial animation.
| | 00:33 | So let me just show you
the basics of blend shapes.
| | 00:38 | Basically, how it works is you take two
models that have the same basic geometry
| | 00:43 | and you reshape one of them, and then
what you do is use blend shape to actually
| | 00:49 | move between those two shapes.
| | 00:52 | Now, with blend shapes we can
actually do that between multiple shapes.
| | 00:56 | So I can actually have blend shapes for
say, a character's eye blink, or a smile, or
| | 01:03 | a frown, and each one of those can
control just part of a character's face and
| | 01:10 | then when you mix them all together, you
get a list of blend shapes that you can
| | 01:14 | use to create your character's facial animation.
| | 01:18 | So the way you create a blend
shape is you start with a basic model.
| | 01:22 | In this case, I'm going to
start with the character's head.
| | 01:24 | I'm going to go ahead and
turn off my skeleton and my rig,
| | 01:27 | so we can just see the
geometry of this character.
| | 01:30 | I have the character's head
selected and I'm going to go ahead and
| | 01:34 | duplicate that model.
| | 01:36 | So now I have Head and Head1, and I'm going to
go ahead and move Head1 off to the side here.
| | 01:43 | Now the most basic blend shape
would be basically just taking this
| | 01:48 | and manipulating it.
| | 01:49 | I'm just going to do a
very quick manipulation here.
| | 01:53 | I'm going to select some vertices.
| | 01:54 | Let's just go ahead and select the
character's lower jaw here, and I'm
| | 01:59 | actually going to go into Soft
Select, go ahead and just select the
| | 02:04 | character's lower jaw.
| | 02:05 | So let's go ahead and zoom-
in and just pull it down.
| | 02:11 | So I can have almost like an open mouth here.
| | 02:13 | Basically, I'm just opening this
character's mouth very, very crudely.
| | 02:19 | Once I've done that, I can now use
that as the basis for a blend shape.
| | 02:27 | I can select my blend shape or blend
shapes and then Shift+Select my object, and
| | 02:33 | then the last object selected is the
one that gets the blend shape applied.
| | 02:37 | So then all I have to do is Create
Deformers > Blend Shape, and I've created it.
| | 02:42 | Now, you can see blend shapes by
going into the Blend Shape editor.
| | 02:47 | It's under Window >
Animation Editors > Blend Shape.
| | 02:51 | When I've created this one, now
I can just dial in that shape.
| | 02:56 | All you have to do is basically be a
little bit more precise with your modeling,
| | 03:01 | and create a model for
each face shape that you want.
| | 03:06 | I'm going to go ahead and delete
this blend shape here and I'm also going
| | 03:11 | to delete this model.
| | 03:13 | Now, I've done all of the work for you.
| | 03:15 | So we don't have to go through all this process.
| | 03:19 | I have a layer here called BlendShapes.
| | 03:23 | Make that visible and you'll see I
have a couple of dozen heads here, and each
| | 03:28 | one of those is a blend shape.
| | 03:31 | So let's take a look at some of
the blend shapes that we have.
| | 03:34 | Now, we have blend shapes for facial expression.
| | 03:39 | So I have a right and a left smile,
right and left frown, sneer, which is
| | 03:46 | basically those muscles along the nose,
I believe they're called the risorius
| | 03:50 | and then these ones here,
which are your corrugator muscles.
| | 03:54 | So basically each one of these is kind
of like a puppet string to the mouth.
| | 03:59 | In addition to that I
have some ones for phonemes.
| | 04:04 | So specific shapes for dialog.
| | 04:07 | I also have jaw positions
left and right, and so on.
| | 04:13 | Then for the upper face I
have things such as eyebrows.
| | 04:16 | So I have eyebrow down, angry eyebrow
left and right, and I also have blinks.
| | 04:21 | I have lower lid blinks and upper lid blinks.
| | 04:27 | All of those together can
be used as blend shapes.
| | 04:32 | When you create your model, you want to
make sure that you have a manipulatable
| | 04:37 | face, and then you're going to spend
probably a couple of hours minimum creating
| | 04:42 | a bunch of blend shapes that
you can use for your character.
| | 04:47 | Let's go ahead and just put these into place.
| | 04:49 | I'm going to go ahead and just rubber
band select all of these blend shapes and
| | 04:54 | then Shift+Select my character's head.
| | 04:56 | I want to make sure that this is
selected last, and then we're just going to go
| | 05:00 | into Create Deformers > Blend Shape,
let it go, and we should be there.
| | 05:06 | Just go into Window > Animation
Editors > Blend Shape, and here we are.
| | 05:11 | So I'm going to hide these blend shapes
here, so we can see this a little bit better.
| | 05:17 | In this window here we can either
do it horizontally or vertically.
| | 05:21 | So I'm going to go ahead in
Orientation and change it from vertical to
| | 05:25 | horizontal, so we can see it little bit better.
| | 05:28 | Each one of these heads that I
created had a name applied to it, and that
| | 05:34 | name shows up here.
| | 05:37 | So one of the things I did was I
created a M for mouth, E for eye, B for brow.
| | 05:45 | So each one has kind of a prefix to it.
| | 05:48 | We can say smile right, smile left.
| | 05:52 | In fact, let's go ahead and turn on
subdivision surfaces so we could see this
| | 05:55 | a little bit better.
| | 05:57 | We can do the ooh sound;
| | 06:00 | we can do the jaw open, so on and so forth.
| | 06:03 | I also want to take a look and make sure
that my lids work, my lower lid comes up.
| | 06:09 | Okay, so that's covering the eye.
| | 06:10 | So I position my eyes properly.
My upper lids.
| | 06:14 | Now what we can do is we
can start to combine these.
| | 06:19 | We can actually change these however we want.
| | 06:22 | Now when creating your blend shapes
make sure that you create your blend shapes
| | 06:27 | along the direction of the muscles of the face.
| | 06:30 | Basically, think of it as how you want
the puppet strings to move the mouth,
| | 06:35 | you also want to make sure that you
have the lids and the eyebrows working
| | 06:39 | properly as well.
| | Collapse this transcript |
|
|
8. Skinning ToolsBinding skin using Smooth Bind| 00:00 | Now we're pretty far along in our rig.
| | 00:03 | We have the main skeleton of the
character rigged, we have the blend shapes for
| | 00:08 | facial animation in place.
| | 00:11 | And so now it's time to actually bind
the character's skin to the skeleton.
| | 00:16 | Now, this character is built with
the three main pieces of geometry.
| | 00:20 | We have the head, the
upper body, and the lower body.
| | 00:25 | You may encounter characters that
are built in pieces like this;
| | 00:28 | a lot of characters are
built in one single mesh.
| | 00:32 | But having this character in three
pieces allows us to use separate techniques
| | 00:37 | for skinning each part, and that will
give us a little more insight into how all
| | 00:42 | of the skinning tools work.
| | 00:44 | So I'm going to go ahead and Shift+
Select the upper body, the head and the eyes,
| | 00:50 | and we're going to go ahead into
Display > Hide > Hide Selection.
| | 00:55 | So now all I have is the lower body.
| | 00:57 | Now what we want to do is attach this
lower body so that it moves with these
| | 01:04 | joints, and we do that using one of the
Bind Skin commands. We have them here.
| | 01:09 | We have Bind Skin.
| | 01:11 | We have Smooth Bind,
Interactive Skin Bind, and Rigid Bind.
| | 01:16 | Now we're going to be focusing on
the top two, Smooth and Interactive.
| | 01:22 | Rigid Bind is kind of an artifact in Maya.
| | 01:25 | It was used in Maya 1 & 2 as the
skinning tool, but it has since been superseded
| | 01:31 | by Smooth and Interactive,
which have a lot more features.
| | 01:36 | So for this part of the body
we're going to use Smooth Bind.
| | 01:39 | And let's go ahead and just select the
skeleton, and then Shift+Select the geometry,
| | 01:46 | and this is always a process for binding skin.
| | 01:49 | So we select the skeleton, the
geometry is always selected last, we do Skin >
| | 01:54 | Bind Skin > Smooth Bind.
| | 01:56 | Let's take a look at some of the options here.
| | 01:58 | Under Smooth Bind, do we want this to
bind to the Joint hierarchy, Selected
| | 02:03 | joints, or the Object hierarchy?
| | 02:05 | Obviously, the Joint hierarchy
since we're working with that.
| | 02:08 | Do we want to bind the geometry to the
closest thing in the hierarchy or the
| | 02:13 | closest thing in distance?
| | 02:15 | Typically, I leave it on hierarchy here.
| | 02:18 | And then, this one here is actually
pretty important, Max influences.
| | 02:22 | This determines how many bones can
affect any given vertex in the geometry, and
| | 02:30 | because this is such a simple skeleton, I really
don't need 5 influences, which is the default.
| | 02:36 | I'm going to turn this down to 3.
| | 02:38 | Then we also have a Dropoff rate as
to how far away from the joint to the
| | 02:44 | geometry has to be in order to be effective.
| | 02:46 | I'm going to leave that, again, at the
default, and we're going to hit Bind Skin.
| | 02:50 | So now that we've done this
the skin is bound and in place.
| | 02:57 | And if I start moving joints here
you can see that it's not too bad.
| | 03:02 | It's definitely off a little bit here.
| | 03:04 | So we can see how like, for example, the
hip isn't quite moving in place, and so on.
| | 03:11 | The next step, and actually probably
the most important step in binding skin
| | 03:16 | is setting up a test animation and
then going through and actually refining
| | 03:22 | the deformation so that it works well,
and we're going to be doing that in the
| | 03:26 | next few lessons.
| | Collapse this transcript |
| Testing skin using animation| 00:00 | Once we've bound the skin to our
skeleton, we need to adjust and fine-tune the
| | 00:07 | weighting of each vertice so
that the skin behaves naturally.
| | 00:12 | Now the best way to do this is to
create a test animation where we put the
| | 00:15 | character through its paces, and that
way we'll see where the extremes are and
| | 00:20 | can adjust our vertex weights accordingly.
| | 00:24 | So let's go ahead and set our time
slider to frame 1, and I'm going to make sure
| | 00:30 | that we have Auto key turned on, and I'm
going to go ahead and set keyframes for
| | 00:36 | each of these objects here.
| | 00:38 | So I'm going to go Animate > Set Key.
| | 00:40 | Remember this is the S key.
| | 00:41 | So I'm going to go ahead and set a key
here for the left foot, select the right
| | 00:47 | foot, and set a key for that, select the
hips, set a key for that, and maybe one
| | 00:56 | for the toe of each foot as well.
| | 01:00 | Now we're going to move
forward on the timeline a little bit.
| | 01:03 | Let's go to frame 5 here which is
about four frames up, and I'm just going to
| | 01:07 | take the hips and just move them down.
| | 01:11 | Now you can see when I move those hips
down, already we have a little bit of an
| | 01:16 | issue where the character's
heels are lifting off the floor.
| | 01:20 | So I'm going to go forward another four
frames and bring those hips back to normal.
| | 01:25 | The easiest way to do that is to select
the key on frame 1, right-click, Copy,
| | 01:31 | let's go forward to frame 9, right-click, Paste.
| | 01:35 | So now he bends down, stands up.
| | 01:38 | Let's also do the situation
where he puts his leg out.
| | 01:42 | So we want to test the extreme of this hip
when the leg is extended out to his left.
| | 01:48 | So again I'm going to go ahead
and set a keyframe at frame 9.
| | 01:51 | Let's go forward another four frames
here and I'm going to bring that leg up and
| | 01:58 | maybe even rotate that foot so
that it's a little bit more realistic.
| | 02:06 | And again just put that up, and you
can see here that I am creating some
| | 02:10 | situations that I don't want.
| | 02:12 | I don't want this dent to happen in his hip.
| | 02:16 | So when I get to actually weighting those
vertices, I will have a good example to fix.
| | 02:22 | And again, we can go ahead and take that
foot, copy that keyframe, and maybe place
| | 02:29 | it back down by his side.
| | 02:32 | And maybe what we can do at this
point is also tap his foot.
| | 02:36 | So I'm going to set a keyframe for
his toe, rotate that up, and then bring
| | 02:44 | it back down again.
| | 02:45 | In fact, we can either bring it back
down, but I know that back down is zero,
| | 02:51 | so I'm going to type in 0 there.
| | 02:53 | So now he taps his foot.
| | 02:55 | Now we also need another situation
where he is basically bending his foot up.
| | 03:00 | So, for example, if he were running
that would be an important one.
| | 03:04 | So again I'm going to set a keyframe
here for the left foot at frame 26, move
| | 03:09 | forward a bit, and put that
leg into the position I want.
| | 03:15 | Now notice how this joint is flipping,
the reason it's doing that is because
| | 03:20 | we have this knee control, and when the knee
goes in front of that control it's going to flip.
| | 03:26 | So all I have to do is just pull that
out in front of the character and it
| | 03:29 | should snap into place.
| | 03:31 | So now he puts his leg up,
let's go ahead and put his leg back.
| | 03:36 | Let's go to frame say 34, put his leg
back maybe even rotate that foot a little
| | 03:43 | bit, so that maybe this is the last step
of a run or something like that where
| | 03:48 | he's got that nice extension.
| | 03:50 | And again, we're looking for strange
deformations in this upper body here.
| | 03:56 | And then let's go ahead and
just put this back to normal.
| | 03:59 | So we're going to take the keyframe
from frame 1, copy it, and then just paste
| | 04:03 | it here towards the end.
| | 04:04 | Again, this is not critical in terms of
where you put the keyframes or anything,
| | 04:09 | you just want to make sure that you
lock in the default pose, and then return
| | 04:14 | back to that at the end.
| | 04:17 | So now I have a set of conditions for
this geometry, and by stepping through all
| | 04:24 | of these conditions I can fine-tune the
weighting of this character's skin, and
| | 04:30 | make sure that it behaves naturally.
| | 04:32 | And we'll be doing that in the next few lessons.
| | Collapse this transcript |
| Pruning small weights | 00:00 | So now that we have a test animation in
place, let's go ahead and start adjusting
| | 00:05 | our character's weights and this
is going to be a multi-step process.
| | 00:10 | Now before I do this, let's just take a
look at our test animation and I added in
| | 00:13 | one little thing here.
| | 00:15 | I actually added him leaning back at
the spine right here, and forward, because
| | 00:20 | that is also a problem area that I discovered.
| | 00:23 | Smooth skinning in Maya
works on the concept of weights.
| | 00:28 | So each vertex in the geometry is
weighted to the joints in the skeleton.
| | 00:35 | So the easiest way to do this is to
take one vertex in the geometry and take a
| | 00:40 | look at it, and we can look at it in an
interface called the Component Editor.
| | 00:45 | So I am going to go ahead and zoom
in here and then select my geometry,
| | 00:50 | right-click, and let's go
into Vertex mode here.
| | 00:54 | And I'm just going to select the vertex right
here at the front corner of that right foot.
| | 01:01 | And let's go into Window >
General Editors > Component Editor.
| | 01:05 | Now this will have a number of different tabs.
| | 01:10 | It has Springs, Particles,
Rigid Skins, Blend Shapes.
| | 01:14 | The one we're looking for here is Smooth Skins.
| | 01:17 | Now I have selected this one
vertex here, vertex number 352.
| | 01:22 | In this interface you can see that
it's assigned to three different joints.
| | 01:28 | Now this is on the right foot.
| | 01:30 | And so it has a weight of .449,
which is assigned to Foot_Tip_R;
| | 01:36 | .516 which is Toe_R, which is this one.
| | 01:41 | But also if you notice we have Foot_Tip_L,
which is this joint and that's
| | 01:47 | assigned at a small weight, .035.
| | 01:51 | Basically, we have three separate
joints that are affecting this one vertex and
| | 01:57 | this one simple case actually
flows through the entire model.
| | 02:01 | So every single vertex in this
model has up to three bones assigned.
| | 02:08 | And the reason it only has up to three
bones assigned is when we skinned it, we
| | 02:12 | reduced the maximum number of joints to three.
| | 02:16 | We can start affecting these either in
the Component Editor, but probably the
| | 02:19 | better first step is to use a
tool called Prune Small Weights.
| | 02:25 | Now when we start editing skin weights,
we can get to all of those tools under
| | 02:30 | Edit Smooth Skin, and we
can do all sorts of things.
| | 02:33 | We can add in the additional joints, we
can go into the interactive mode such as
| | 02:39 | Interactive Skin Bind or Paint Skin.
| | 02:42 | We can also do things to existing skin
weights, such as mirror them, copy them, smooth them.
| | 02:49 | The one we are looking for here
is called Prune Small Weights.
| | 02:53 | Basically, what that does is it gets
rid of those little tiny errors that we
| | 02:57 | find such as this foot.
| | 02:59 | So when this foot moves you can see how
that vertex we selected moves with that
| | 03:05 | foot, and that's really not what we want.
| | 03:07 | So what we want to do is prune
everything below a certain weight.
| | 03:12 | In this case I remember that weight
with .035, but let's go ahead and make
| | 03:17 | this a little bit more broad, and we will
prune anything below .1 will just be set to 0.
| | 03:24 | So let's go ahead and hit Prune.
| | 03:27 | And once we do that, it should
get rid of that small weight.
| | 03:30 | So now that vertex does not move with that foot.
| | 03:35 | So remember every vertex in your
geometry has a weight and usually the first
| | 03:42 | step you should do is to prune small
weights so that way everything is a little
| | 03:47 | bit more cohesive when you go
to use the other Weight tools.
| | Collapse this transcript |
| Painting skin weights | 00:00 | The next tool we are going to look
at his called Paint Skin Weights and
| | 00:03 | this uses Maya's painting interface
to allow you to adjust the weighting of
| | 00:08 | your character's skin.
| | 00:10 | Now if you're familiar with paint
effects, the sculpt tools, or Maya's Painting
| | 00:14 | tools you should catch on
to this fairly quickly.
| | 00:16 | But let's take a look at this interface.
| | 00:19 | The way that you get into it is to
select our mesh, go Skin > Edit Smooth Skin >
| | 00:26 | Paint Skin Weights tool.
| | 00:28 | Let's go ahead and select
the options for this tool.
| | 00:30 | We really need the options available.
| | 00:34 | And when you do that, this interface comes up.
| | 00:36 | Now we are on a fairly tight screen.
| | 00:38 | So I am going to have to
scroll up and down here.
| | 00:41 | Along the top we have the type of
brush that we have, and notice how my cursor
| | 00:45 | has changed to a brush interface.
| | 00:49 | This is the exact same interface we
have with any of the Artisan tools.
| | 00:53 | So we have the type of brush, we have
the Radius of the brush, so we can make
| | 00:59 | that bigger or smaller, or if you hold
down the B key on the keyboard you can
| | 01:04 | scale that interactively.
| | 01:07 | And then, what do we want to paint, Skin Weight.
| | 01:10 | And then down here we have which bone or
which joint is affecting the skin weights.
| | 01:16 | So, for example, if I look here you'll see
that the left hip is what we are looking at.
| | 01:20 | We are painting the weights
for that particular joint.
| | 01:24 | Go down to the knee, we can see we are
painting the weights for that, the foot, and so on.
| | 01:29 | So each one of these shows a
highlight of how it affects its given area.
| | 01:35 | So you can see that hip joint is
affecting that much of the geometry.
| | 01:41 | Now below this, we have several
different modes. Do we want to Paint, do we want
| | 01:47 | Select, or do we want Paint Select?
| | 01:49 | Typically, we will keep this on Paint.
| | 01:51 | And then when we paint, what are we painting?
| | 01:53 | Are we replacing with this value here?
| | 01:58 | Are we adding this value to the
existing or are we smoothing or scaling?
| | 02:04 | Okay, so we could smooth to kind of
smooth out the deformations if you've got
| | 02:08 | something that's kind of sticking out.
| | 02:10 | Typically, we will start with Replace
and we will get to that in just a second.
| | 02:13 | And then finally, we have Gradient, which is, how do
you want to take a look at this in the viewport?
| | 02:20 | If you click this on you can see a
color ramp where red is the most affected, green,
| | 02:27 | blue are the least affected.
| | 02:29 | And this might be a better visual cue for you.
| | 02:33 | If you don't want to use this, you can
certainly go back to black and white.
| | 02:36 | It's really up to you.
| | 02:37 | I am going to keep this on color,
because it's more vivid and it's a better show.
| | 02:43 | So let's go ahead and
start painting some weights.
| | 02:46 | Now one of the things we need to
understand is, how is this character deforming?
| | 02:50 | And this is one of big
reasons why we did this animation.
| | 02:54 | So right there you can see that I've
got a really nasty little situation there,
| | 02:59 | and that's the vertices underneath the
pelvis are being affected by that leg
| | 03:03 | bone as it moves off to the side, and
that's not a situation that we want.
| | 03:08 | We actually want to attach these
vertices to this middle joint here.
| | 03:13 | So we are going to select Spine Root
and we are going to paint all of these
| | 03:18 | underneath here to be affected by that.
| | 03:21 | We want to keep those
particular vertices centered.
| | 03:24 | So I am going to keep that on Replace.
| | 03:27 | I am going to keep the value at 1.
| | 03:29 | So now I want to make sure that I paint these.
| | 03:33 | You can actually see how when you
click on these, if I keep this at 1, they
| | 03:39 | basically just turn to red.
| | 03:42 | So I can now affect these vertices
underneath the body and now when he moves the
| | 03:49 | leg out, we still have a
little bit of a problem here.
| | 03:53 | So we can actually erase them from the hip.
| | 03:57 | So I'm going to create a Replace operation.
| | 04:01 | I'm going to change my value to 0, keep the
hip selected, and go through and zero that out.
| | 04:09 | So again I am painting that so that it goes out.
| | 04:13 | In fact, one of the easiest ways to do
that is to take a look at it, and you can
| | 04:17 | see how it's already
starting to come into place there.
| | 04:19 | As you paint it, you can paint it
with that character in animation.
| | 04:24 | This is one of the main reasons why
we are animating this, is so that we can
| | 04:28 | actually see how this works.
| | 04:30 | So if I go up to the top here, I don't
want these to be affected by that either.
| | 04:34 | So you can see how I can paint those
out and get those back to more of a normal
| | 04:38 | state while it's almost in motion.
| | 04:41 | Now this something we couldn't
do if we haven't animated this.
| | 04:45 | So that's the basics of the interface.
| | 04:47 | So we have a number of
other things that we can do.
| | 04:51 | We can, for example,
replace, we can add, we can smooth.
| | 04:55 | I think smoothing is actually
very handy little tool here.
| | 04:58 | So if I have this leg out to the right,
I can increase the size of my brush.
| | 05:02 | Again, I am holding down the B key, and
I can just smooth that out and you can see
| | 05:07 | how it kind of gets that
dent out of the way there.
| | 05:13 | The key here is to basically take your
skeleton and start going through every
| | 05:19 | joint and painting as best you
can, the deformations of each joint.
| | 05:25 | Now this is really just one of those
processes that's just going to take
| | 05:29 | time and attention.
| | 05:30 | It is a rather precise process and you
only have to go through half the model,
| | 05:35 | because we can mirror stuff from left to right.
| | 05:38 | So just focus on one side of the model,
get it exactly the way you want, and
| | 05:44 | then we can move on to the next step.
| | Collapse this transcript |
| Editing skin weights in the Component Editor | 00:00 | Now once you've painted your skin
weights, you may think that that's good
| | 00:04 | enough, but we can go through one more
round and really fine-tune the weighting.
| | 00:09 | And we can do that using the Component Editor.
| | 00:11 | So let's take a look at what we've got here.
| | 00:13 | We have the legs pretty close to dialed in.
| | 00:16 | I've got those looking reasonably good.
| | 00:20 | But if you notice here, this portion
here where the character leans back, it's
| | 00:25 | still not really working the way that
we want and basically I don't want him
| | 00:30 | leaning back to affect this mesh at all,
because we do have an upper portion of
| | 00:36 | the body, and when he leans back, I want
that little belt line to appear, and so
| | 00:42 | I need this to kind of just stay spherical.
| | 00:45 | So we can do that using the Component Editor.
| | 00:48 | So it's very similar to applying skin
weights, we select our character, and then
| | 00:52 | we right-click over it and go into
Vertex mode, okay, so now I can start
| | 00:57 | selecting individual vertices here.
| | 01:00 | Then once we're there, we have to go
into our Window > Component Editor.
| | 01:06 | Now, this is the window that we used
before when we looked at Prune skin
| | 01:09 | weights, and let's just
take a look at how this works.
| | 01:13 | I'm going to go ahead and select this vertex
here, right kind of at the front of his belly.
| | 01:18 | And if you'll notice here, it's being
affected by a number of different bones.
| | 01:24 | It's being affected by this belly bone
here, by the Spine01 bone, and by the
| | 01:31 | Spine02 bone, but it's not being
affected at all by the Spine Root, so we need
| | 01:38 | to get that affected by that, so
that way we can keep this stable.
| | 01:44 | So again, I'm going to go into
Vertex mode and select this here.
| | 01:47 | Now in this, we have a couple of options
here, one is, do we want to Hide Zero Columns?
| | 01:54 | I'm going to turn that off and you'll
notice here that now we have every single
| | 01:58 | bone in the character's body.
| | 02:01 | When I turn that on, it only shows those
bones that affect this particular vertex.
| | 02:08 | Now one of the things I want to point out is
that all of the weights always add up to 1.
| | 02:14 | So no matter what the weighting is, it's
always a percentage of 100 or percentage of 1.
| | 02:21 | So if we type 1 into any joint, then
basically it will be only affected by that joint.
| | 02:28 | So, for example, if I typed 1 into here,
everything else goes away and this is
| | 02:33 | only affected by Spine01, which is right there.
| | 02:38 | But we actually want this
to be affected by the root.
| | 02:41 | So let's go ahead and turn off Hide
Zero Columns, and then we're going to find
| | 02:46 | that Spine Root, which is here, and we
are going set that to 1 for this vertex.
| | 02:51 | When we do that, now watch what happens,
when he leans back that sticks with the
| | 02:59 | spine and everything else
goes with the rest of it.
| | 03:03 | In order to make this work, all we have
to do is select everything along the top
| | 03:08 | of this, in fact, I can't do that
because I have all of these active here, so
| | 03:12 | I'm going to go ahead and turn off my
rig and my skeleton at this point, and
| | 03:17 | then rubber band select all of these
vertices, and then let's go back into the
| | 03:24 | Component Editor, and I want all
of these attached to Spine Root.
| | 03:30 | So right now when that bends back, in
fact, we can turn on the skeleton again,
| | 03:34 | you can see how they're not all affected.
| | 03:37 | So all we have to do here is find
Spine Root, Shift+Select all of them.
| | 03:44 | I'm selecting the entire column here,
and then just hit the number 1, that puts
| | 03:49 | 1 into all of these and that should work.
| | 03:53 | So now these ones here we also need to
guess, I'm going to go ahead and just
| | 03:59 | Shift+Select these individually, and
again, let's just see how this works.
| | 04:04 | We've got them -- right now they're kind
of right between Spine01 and Spine02, but
| | 04:08 | I'm going to go ahead and make
them connected to Spine Root.
| | 04:11 | So now I'm going to go ahead and select
this one and this one, and again, we're
| | 04:19 | going to make those
affected solely by Spine Root.
| | 04:24 | So now that we have this, you can see
how, when he leans back it doesn't really
| | 04:29 | affect that, and again, we can go
through and start tweaking these.
| | 04:34 | I see already we've got a few more
that are affected here, and again, all we
| | 04:37 | have to do is go into the Component
Editor and then assign them via number
| | 04:42 | to the proper joint.
| | 04:45 | So once we do that, he is getting there, okay.
| | 04:49 | So basically, another way to do this is
to un-assign it to additional joints.
| | 04:54 | So, for example, these ones here are
affected just a little bit by that Spine01
| | 05:02 | joint, so if we go back into my
Component Editor here, you can see that these
| | 05:07 | joints are affected by
Spine01, just a little bit.
| | 05:12 | So what we can do is we can just take
that and zero it out, or be assigned to
| | 05:17 | other bones, we also have this
belly bone which is affecting it.
| | 05:22 | So let's go ahead and zero that out as well.
| | 05:26 | So now that we have that it
shouldn't be affected, okay.
| | 05:31 | As you can see this is very precise
process, you're just going to be going back
| | 05:35 | and forth between your
model and the Component Editor.
| | 05:40 | I just did the upper portion of
this character's hips, but you can also
| | 05:45 | go through the legs, the feet, the
entire body and really fine-tune how
| | 05:51 | the deformation works.
| | 05:52 | Again, this is a very precise process,
it's a lengthy process, so go ahead and
| | 05:57 | just go through your model
and get the weighting right.
| | Collapse this transcript |
| Mirroring skin weights| 00:00 | Now we're back, and we've spent a lot of
intimate time with the Component Editor
| | 00:05 | tweaking our character.
| | 00:07 | This should be a fairly nice
little mesh, at least on the left side.
| | 00:13 | Now remember, I only did the left side,
but I've got pretty much everything
| | 00:17 | the way that I want it.
| | 00:19 | Now that we have the left side
determined, we can just easily, easily get the
| | 00:24 | right side if your character is
symmetrical, and our character is symmetrical.
| | 00:28 | So we can just select our character,
go into Skin > Edit Smooth Skin > Mirror
| | 00:35 | Skin Weights, and basically we're just
going to take everything we've done on
| | 00:39 | the left side and copy it over to the right.
| | 00:42 | I need to Mirror Across an axis,
this character is pointing along Z, so we
| | 00:49 | need to use YZ as our Mirror axis.
| | 00:55 | We're going to go +X to -X, so in
other words, this is the positive side of
| | 01:00 | X, that's negative.
| | 01:02 | And then Association, do we want to
do it closest point on surface, ray
| | 01:06 | cast, closest component?
| | 01:08 | I'm going to start with closest on surface,
if it doesn't work, I'll try the other ones.
| | 01:12 | This usually is the one that we'll use.
| | 01:15 | And then do you want to do it to the
closest joint, one-on-one, and so on.
| | 01:19 | So I'm going to leave these pretty much
at the defaults and just press Mirror,
| | 01:25 | and we should have this in place.
| | 01:27 | So if I want I can select this foot
here and you can see that I've got a pretty
| | 01:33 | good joint, so there we go.
| | 01:36 | As you can see, the process is not trivial,
it does take a lot of precision and a
| | 01:43 | bit of time and some
attention to detail to get it right.
| | 01:46 | But once you get it right, you've got a
character that you can use for a very long time.
| | 01:52 | This is just the lower part of the body,
we're going to go through the rest of
| | 01:56 | the character a little bit more
quickly and show you some other tools and the
| | 01:59 | other ways to skin the character.
| | Collapse this transcript |
| Using Interactive Skin Bind| 00:00 | Now that we have the lower body skinned
using Smooth Bind, let's go ahead and do
| | 00:05 | the upper body using Interactive Skin Bind.
| | 00:08 | Now, this is just another way to bind
skin to a skeleton, and it's a little bit
| | 00:14 | more interactive, that's why they call
it Interactive Skin Bind, and it has a few
| | 00:18 | more tools that we can use and so
let's go ahead and take a look at this.
| | 00:23 | So, we're going to go ahead and
just select our Spine_Root, and then
| | 00:28 | Shift+Select our torso.
| | 00:30 | Under Skin > Bind Skin, instead of Smooth
Bind we're going to do Interactive Skin Bind.
| | 00:35 | Let's take a look at some
of the options for this.
| | 00:37 | And just like with Smooth Bind we're
going to bind to the joint hierarchy,
| | 00:41 | we're going to bind to the closest in hierarchy,
and then we're going to create a Volume Type.
| | 00:47 | Either it's going to be a Capsule or Cylinder.
| | 00:49 | Capsules tend to work better
and you'll see in just a bit.
| | 00:53 | And then maximum number of influences,
and again, I'm going to dial this back
| | 00:58 | down to 3, because it's a fairly
simple skeleton, and then let's go ahead and
| | 01:03 | just bind the skin.
| | 01:05 | So, as you can see this little object
comes up here and that's the interactive
| | 01:10 | in Interactive Skin Bind.
| | 01:11 | So, if I select a joint, let's go
ahead and select the left shoulder.
| | 01:17 | How this works is that it creates a
little capsule around the joint that
| | 01:23 | controls how much of the
skin is affected by that joint.
| | 01:28 | I can go through my skeleton and
adjust my initial skin weighting using this.
| | 01:33 | So, I can grab the
capsule and move it up or down.
| | 01:38 | So, I have a left and right, I have
basically my move tools here, but probably
| | 01:44 | the more interesting things
are these little red circles.
| | 01:48 | If I left-click and grab those, I can
make them bigger or smaller and that
| | 01:55 | will probably more than anything, allow
me to dial-in exactly how these bones
| | 02:01 | affect my mesh.
| | 02:04 | So, if I wanted to I can click at the
very top, I can stretch or squash them.
| | 02:10 | So, for example, if I wanted to I could
stretch this, and then scale it down, so
| | 02:16 | that I have a little bit more control
over how it affects the elbow joint, and
| | 02:21 | then I can click on the left
elbow and again affect that.
| | 02:25 | I can stretch it, squash it, affect
it however I want and I can just start
| | 02:32 | moving through the skeleton and affecting this.
| | 02:35 | So, if I wanted to I could
also start with the torso.
| | 02:39 | I can select these and you notice
how these are a little bit different.
| | 02:43 | But again, we can select these ends here.
| | 02:46 | We can also again, make them bigger, smaller.
| | 02:49 | If I want to move them I can, I
can grab these sides here, move them.
| | 02:56 | If I want to rotate them, I can grab
this little rotate glyph here, and again, I'm
| | 03:03 | just trying to dial this in and get it affected.
| | 03:07 | And you can see here, there's a little
more of a rotate, we have a move here and we
| | 03:13 | can also stretch and scale these.
| | 03:15 | The process for this initially is to
just go through and adjust each one of
| | 03:22 | these capsules to get a rough idea as to
how your weighting works, and then once we
| | 03:30 | do that, then we can go through and
fine-tune it using other methods.
| | Collapse this transcript |
| Refining skin on the upper body| 00:00 | So, now that we have Interactive Skin
Bind applied to our character, we can
| | 00:05 | start to modify it. And just like I did
with the lower body I created a small
| | 00:10 | test animation that we can use to
test the way that this character works.
| | 00:15 | Now, Interactive Skin Bind just gives
you one more additional tool that you can
| | 00:20 | use to affect your skin, and
that's those interactive capsules.
| | 00:26 | So, if I select my mesh, go into
Skin > Edit Smooth Skin, I can go to the
| | 00:34 | Interactive Skin Bind Tool and
then select my joints and continue to
| | 00:40 | modify those capsules.
| | 00:41 | I can always go back to those whenever I
want, but this is just one of many ways
| | 00:47 | that we can use to affect our character.
| | 00:49 | So, if I just hit my Select tool and go
out of this, I can select my mesh again,
| | 00:55 | Skin > Edit Smooth Skin > Paint Skin Weights.
| | 00:59 | So, I can continue to paint the
character's skin weights just exactly the
| | 01:05 | way that I did before.
| | 01:07 | I can also go into the Component
Editor and fix the mesh that way.
| | 01:12 | So, if we go into
Component Editor and maybe we go --
| | 01:16 | right-click over here and go into Vertex
and I can maybe go into my hand model here.
| | 01:20 | For example, select some vertices here
and you can see that, again, I have all the
| | 01:27 | control that I have with Smooth Skin
with the addition of that Interactive tool.
| | 01:34 | So, I can basically just go through
all of this and fine tune my mesh exactly
| | 01:40 | the same way that I did before.
| | 01:43 | What we do is we adjust our Interactive
Skin Bind capsules, then we can prune
| | 01:48 | small weights, we can do some paint
weights and then finally, to really tweak it
| | 01:53 | and get it fine-tuned, we use the
Component Editor and then of course once we're
| | 01:59 | all done with one side we can
mirror it over to the other.
| | Collapse this transcript |
| Using skeletons to create a jaw| 00:01 | Now, we're ready to skin the head
but before we do that we need to make a
| | 00:05 | decision as to whether or not we
want to manipulate the jaw using a blend
| | 00:10 | shape or with a skeleton.
| | 00:13 | Blend shapes are a little bit more restrictive.
| | 00:16 | A lot of times it makes sense to create
a skeletal bone to manipulate the lower
| | 00:22 | half of the face, and this
will mimic the motion of a jaw.
| | 00:26 | Now, getting this to skin
properly is the real trick.
| | 00:30 | You have to spend a lot of time
assigning vertices in the Component editor in
| | 00:34 | order to make it work, but let's go
ahead and do this, and this way we'll have a
| | 00:39 | much more flexible jaw when we
actually get to facial rigging.
| | 00:44 | So, I have this basic skeleton here
for the character, but all we have is a
| | 00:49 | skeleton for the head.
| | 00:51 | We need to create one so that we
can use that to manipulate the jaw.
| | 00:56 | So, the easiest way to do this is to go
into a side view here, and you'll notice
| | 01:02 | that properly the character's jaw
should start right around here. So just
| | 01:08 | imagine where does the hinge of the jaw
start and that's where we need to draw a joint.
| | 01:14 | So, we're going to go into the Skeleton
> Joint Tool, and I'm going to click here
| | 01:19 | on the head joint and then draw
basically at the place where the hinge for the
| | 01:24 | jaw goes, which would be right about
here, and then another bone to actually
| | 01:30 | represent that jaw bone.
| | 01:32 | So, now I've got an additional couple
of joints here and if I want I can use my
| | 01:39 | Move Tools to kind of adjust these if
I need to, and I also want to name them.
| | 01:46 | So, I'm going to name this one Jaw, and
we'll name this one Teeth, because that's
| | 01:54 | going to be right at the
bottom teeth of the character.
| | 01:58 | So, now we have two additional joints.
| | 02:01 | Now, once we have this we can
start to skin our character.
| | 02:07 | So, the easiest way to do this is just
like we've done before, but in this case
| | 02:11 | I'm just going to select at the
collarbone, which selects just the upper
| | 02:15 | portion of that character.
| | 02:18 | Shift+Select the head, Skin > Bind Skin.
| | 02:21 | Now, I don't need to do Interactive
with this particular character, so I'm just
| | 02:25 | going to do Smooth Bind.
| | 02:27 | Now, once we have that, you can see
how the head is already connected and in
| | 02:33 | fact, a really nice thing we can do is
we can go into our Outliner here, and I
| | 02:39 | can select my Eyes and we can go into
those and we can select our right and our
| | 02:47 | left eye here, and we can
Display > Show Selection here.
| | 02:52 | So, now we can see if our eyes work.
| | 02:54 | And again, I'm just going to select
this head control and you can see now
| | 02:58 | my eyes are moving.
| | 03:00 | But the one thing we don't have working
is that lower jaw, so if I select that
| | 03:05 | joint, you can see how it's not really
affecting that and we can basically just
| | 03:11 | use our Skin Wading tools to get the
lower portion of this character's face
| | 03:17 | attached to the jaw and we'll go
through that process in the next lesson.
| | Collapse this transcript |
| Refining jaw weighting| 00:00 | Now that we have the vertices roughly
assigned to the head, we still need to
| | 00:05 | fine-tune the action of the jaw and
assign the vertices on the lower portion of
| | 00:12 | the face to that skeletal bone.
| | 00:15 | So, we can do this using the same
techniques we used for the body.
| | 00:20 | We can use vertex painting,
| | 00:21 | we can use Component Editor, and so on.
| | 00:24 | I'm going to do this
mostly in the Component Editor.
| | 00:27 | Now, before I do this, I'm going to
create a small animation, so I'll have some
| | 00:32 | movement in that bone.
| | 00:34 | So, I'm going to go ahead and select the
jawbone, move to frame 1, hit S for Set
| | 00:41 | Key, in fact let me do this from the menu.
| | 00:43 | I'm going to do Animate > Set Key, and
then just move forward a couple of frames.
| | 00:47 | I'm going to move forward to frame
20 and then just rotate this down.
| | 00:53 | And you can see how this really isn't
working all that well because it's really
| | 00:58 | just pulling the whole mouth down.
| | 01:00 | We really want to take that upper part
of the face, assign it to this head bone
| | 01:04 | and then the lower part of the face,
which is this bone that is moving.
| | 01:07 | Probably, the easiest way to do that is
to go into the side view, and I'm going
| | 01:13 | to zoom-in here and before I do
anything I'm going to go ahead and template my
| | 01:18 | rig and my skeleton in my layers, so
that way I don't accidentally select them
| | 01:24 | and then go ahead and left-click on
the geometry and then right-click, we're
| | 01:28 | going to go into Vertex mode.
| | 01:30 | Now, what I need to do is select the
vertices on the lower portion of the face,
| | 01:35 | and then we can assign them
using the Component Editor.
| | 01:39 | So, I think I'm going to use Lasso select.
| | 01:42 | I think that would be a good tool for
that and let's go ahead and start selecting.
| | 01:46 | So, I want to select this mouth
cavity or at least part of it.
| | 01:50 | And then as we come through here we
have to be very careful, almost like
| | 01:55 | threading the eye of a needle.
| | 01:57 | Try and get as many of the
lower mouth vertices as we can.
| | 02:02 | In fact, I can go in here a little
bit if I really want to get in close, I
| | 02:06 | can zoom-in and I can see that I've
accidentally selected this one, and this
| | 02:12 | one on the upper portion.
| | 02:14 | So, I'll deselect those and I haven't
selected these, so I'm going to go ahead
| | 02:17 | and hold down the Shift key and just
rectangular select those and maybe these
| | 02:21 | ones as well, and it's good for start.
| | 02:24 | So let's go into the Component
Editor and assign those to the jaw bone.
| | 02:27 | So, I'm going to go into Window >
Editors > Component Editor, and what we need to
| | 02:31 | do is assign these to Jaw.
| | 02:35 | Scroll over, find Jaw, select the whole column.
| | 02:39 | Here, I'm just left-clicking and
dragging to a slide down here and I'm going to
| | 02:43 | type in the number 1 to assign those.
| | 02:46 | Now, that should get me part of the way
there, well it's like well, yeah I've got
| | 02:51 | those now assigned to the lower portion
of the face here but you can still see
| | 02:56 | the upper part is stretching.
| | 02:58 | So, probably the easiest thing to
do is just select everything else
| | 03:01 | and assign that to the head.
| | 03:02 | So, I'm going to do Edit > Invert
Selection, and that selects everything but
| | 03:07 | those ones I had before, and then go
back into the Component Editor and we're
| | 03:12 | going to find the comment that says
Head, and this can be a very long column,
| | 03:16 | so we're going to scroll down to the very
bottom and I'm going to type in 1 for this.
| | 03:21 | So, that should get the mouth reasonably
well, but also notice I've assigned --
| | 03:27 | because I did that Invert Selection
I've got all of these neck joint ones
| | 03:31 | assigned to the head bone as well
and that might not be ideal but we can
| | 03:35 | deal with that later.
| | 03:36 | Right now, let's just focus on the
mouth and you can see that hey, yeah, that's
| | 03:40 | definitely got the mouth
going but I don't have the teeth.
| | 03:44 | So, obviously these upper teeth are
still stretching with the jaw and we can
| | 03:50 | select those in several different ways.
| | 03:52 | I find actually a really handy thing to do
is to start using Soft Select in these areas.
| | 03:57 | Because there's a lot of teeth in
the back, it's a hard thing to select.
| | 04:02 | So, I'm going to double-click on my
Select option to bring up my Selection tools
| | 04:07 | here, turn on Soft Select and then
just select as many of these as I can.
| | 04:13 | What you'll notice is that when we go
into the Component Editor, anything that
| | 04:17 | is highlighted will show
up in the Component Editor.
| | 04:20 | So, if I go into my Component Editor
here, you'll see that I've got all of these
| | 04:25 | ones for the Head, they're all at 0.
| | 04:27 | Now, let's go ahead and put them at 1
and you can see here that they're going to
| | 04:30 | snap, and they've already snapped in place.
| | 04:33 | So now, okay, so I'm getting there.
| | 04:36 | Very quickly I'm getting there.
| | 04:38 | I'm going to go ahead and
turn off Soft Select, close that.
| | 04:42 | And you can see now I'm starting to get
that jaw starting to move my vertices,
| | 04:47 | but there're still some problems here
in the middle, like where the cheeks are.
| | 04:51 | We can probably balance these ones here
between the upper face, between the head
| | 04:57 | and the jawbone here.
| | 04:58 | So, I'm going to go ahead and just
Shift+Select these with my mouse.
| | 05:02 | I'm just left-clicking on these, and then
just go through and these right now are
| | 05:06 | assigned completely to the jaw.
| | 05:08 | Let's go ahead and assign
them say 50/50, jaw to head.
| | 05:12 | So, I'm going to type in 0.5 in the
Head column and that puts half of them in
| | 05:17 | the head, half of them in the jaw.
| | 05:20 | You can see now as he opens that is a
little bit more balanced and we can just
| | 05:26 | work our way through the whole
character pretty much like that.
| | 05:29 | So, I can select say these ones here.
| | 05:32 | They're little bit further down and maybe
we can assign those 80/20 or something
| | 05:37 | like that, something in that range.
| | 05:39 | Again, this is going to be a place
where you might want to be experimenting.
| | 05:42 | So, I can say 0.2 here and then if we
go over to the jaw -- actually I've got an
| | 05:49 | extra stray one in there, so I'm going
to go ahead and type in 1 for the jaw, to
| | 05:52 | lock it into the jaw, and then
again select the Head and type 0.2.
| | 05:58 | So, what does is it just subtracts
that out of the jaw and makes that 0.8.
| | 06:02 | So, now as that opens up you can see
it's getting a little bit more balanced.
| | 06:07 | You know, so we have a much better deformation.
| | 06:11 | So, we can continue to refine this but I
think you kind of get the gist of what I'm doing.
| | 06:18 | Now, the other thing we want to do is
make sure that the head and neck have a
| | 06:21 | nice interface here.
| | 06:23 | So, I'm going to go ahead and select
all of these around the bottom of the head,
| | 06:28 | and let's go ahead and make those
pretty much be 100% on the head.
| | 06:33 | So, let's go ahead and make those 50/50.
| | 06:36 | So, we're 50% on the neck, 50% on the
head and that should give me a little
| | 06:40 | bit more leeway here.
| | 06:42 | So, when I go ahead and rotate this, you can see
I'm starting to get a little bit more of that.
| | 06:49 | I do have a little bit of
problem here in the body.
| | 06:51 | This is just things that we need to fix.
| | 06:54 | So, once I have this though, you can
see how my jaw is now controlling that.
| | 06:59 | So, if I un-template my Skeleton and
select my jawbone here, let's go ahead and
| | 07:05 | set this back to normal, I'm going to
go ahead to that keyframe I set, and just
| | 07:10 | go ahead and delete that keyframe and go
ahead and delete this keyframe as well.
| | 07:15 | Now, if we want we can see how we can have,
you know, a really fairly decent jaw motion.
| | 07:21 | We still have a little bit more to
tweak, but again you can see the process.
| | 07:26 | So, using a jawbone will give you a
much more flexible and controllable jaw.
| | 07:33 | The only downside is that you will have
to spend some time doing proper weighting
| | 07:39 | of the character's skin to that jawbone.
| | Collapse this transcript |
|
|
9. Advanced Facial RiggingSetting up a control panel| 00:00 | Now let's do some advanced facial rigging.
| | 00:03 | We're going to create a control panel
for our character's head and that will
| | 00:09 | allow us to do most of our facial
animation from within this one interface.
| | 00:15 | So I already have it kind of partially set up.
| | 00:17 | Now this is just one example of a way to
do facial controls here, and you can see
| | 00:24 | we have controls for the eyes, the lids,
the jaw, the lower faces all down here,
| | 00:30 | pupils, so on and so forth, and these
are really just curves. They're wires just
| | 00:35 | like all the other controls
that we have for our character.
| | 00:39 | And in fact, if we go into the Outliner,
we can see how this is built. I have
| | 00:44 | basically a FACE_CONTROLS master
NODE here and underneath that I have the
| | 00:49 | background, which is basically all of
the text and the outlines for those;
| | 00:54 | the things that we are not going to touch,
and then each control has a descriptive name.
| | 01:01 | Now the main reason that we want to
use a control panel like this is because
| | 01:07 | facial animation is difficult enough.
There's a lot of things that you need to
| | 01:11 | manipulate and if we can make the
interface easier for the animator, the animator
| | 01:16 | will be a lot more efficient.
| | 01:19 | So, for example, in this head, we've
got a lot of different ways that we can
| | 01:22 | control it. We have, for example, this jaw
which is a bone, or a joint that we can control.
| | 01:28 | We have under Animation Editors a
number of Blend Shapes here, which I can show
| | 01:35 | horizontally here, and we have a couple
of dozen of those and each one of those
| | 01:41 | controls a little part of the mouth.
| | 01:44 | Then for the eyes we actually can
control the eyes using rotation if we want.
| | 01:49 | So each one of these requires a
different method of manipulation and so it kind
| | 01:55 | of interrupts the animator's flow when
they have to say, oh, wait now I have to
| | 01:58 | rotate the eyes, oh, I have to
select this joint, so on and so forth.
| | 02:03 | We've created this basic simple
control panel for the animator.
| | 02:07 | Now this, again, is just one example.
You can create any type of control panel
| | 02:12 | you want, just make sure that the interface is
understandable and easy for the animator to use.
| | 02:20 | Now the next lessons we're going to
start rigging this up and connecting up our
| | 02:24 | character to this control panel.
| | Collapse this transcript |
| Limiting controller motion| 00:01 | Now let's go ahead and start refining
our control panel so that we can keep
| | 00:07 | everything contained.
| | 00:09 | Now I have basically just the curves
set up -- now I have some of these already
| | 00:14 | limited, but I want to show you
how to limit the actions of these.
| | 00:19 | So, for example, if I were to select
this I can move this pretty much anywhere I
| | 00:23 | want, but if I really wanted to control
it I really should just move it between
| | 00:29 | say 0 and 1, or a specific range of
values. The same goes for this pupil, you
| | 00:35 | really want to just be able to move
that to the edge of the eye, you don't
| | 00:37 | want to be able to move
it all the way over here.
| | 00:39 | So you kind want to keep
everything within the boxes that we create.
| | 00:45 | Another thing we want to do is also
prevent the user from accidentally selecting
| | 00:50 | things that they don't want.
| | 00:51 | So, for example, I can select all of
this text. So if I was trying to select
| | 00:56 | this control, I might accidentally
select the box that surrounds it, or the text
| | 01:00 | beneath it, so we need to hide that as well.
| | 01:04 | So let's go ahead and start with that.
| | 01:06 | I'm going to go into my Outliner here,
and all of my face controls are under the
| | 01:12 | FACE_CONTROLS NODE, and that's actually
this outside control box here, and then if
| | 01:19 | I go into here we see we have a number
of different controls here, and these are
| | 01:24 | really just the circles that we used
to grab and control the actual actions
| | 01:31 | here. And then I have this group here
called BG, and that's for background and
| | 01:36 | that's really everything that
sits in the background of this.
| | 01:40 | This is the stuff that I don't want to select.
| | 01:43 | So let's go ahead and set
this up so that we can select it.
| | 01:46 | Make sure that BG is selected, go into
Layers > Create Layer from Selected. That
| | 01:53 | should come up as layer1, double-click
on it, let's give it a descriptive name,
| | 01:59 | lets just call it BGLABELS,
something like that; basically something that
| | 02:03 | we know what it is, and then let's go
ahead and just use this button here to push
| | 02:08 | it to the bottom of the stack so
that way it's kind of out of the way.
| | 02:12 | Once we have it on a layer, we can
either template it and show it in gray, or
| | 02:17 | we can set it to R and that'll show
those in black. And it makes them easy to
| | 02:22 | read, but we can't select them,
which is exactly what we want.
| | 02:26 | So now that we have these kind of locked
down, let's go ahead and start locking
| | 02:30 | down the actual parameters here.
| | 02:33 | So one of the ones I
looked at here was the pupils.
| | 02:36 | Well, the pupils really -- we just want
to slide this left and right and if you
| | 02:40 | notice that's actually my Translate
X, and in fact with these I have these
| | 02:46 | scaled so that they go between 0 and
about 1. We can actually go a little bit
| | 02:52 | below 0 and a little bit above 1, but for most of
these we want to just keep them between 0 and 1.
| | 02:57 | Well, the easiest thing to do
is to start limiting the motion.
| | 03:02 | One of the first things we can do is we
can lock down and hide all of the values
| | 03:06 | that we're not going to be using.
| | 03:07 | So anything from Translate X to
Rotate and Scale just select all of those,
| | 03:13 | right-click, lock them. We've done
this before, right-click, Hide Selected.
| | 03:19 | So now all I have available is that
Translate X, but I still don't have that limited.
| | 03:26 | So we can limit things in the
Attribute Editor. I want to keep that pupil.
| | 03:31 | Ctrl+Select it, go into the Attribute
Editor, you'll see that under the main NODE
| | 03:38 | here, Pupils, we have an option here
called Limit Information. Open that up and we
| | 03:44 | can limit anything from
translate, rotate or scale.
| | 03:48 | Well, right now everything is kind of
grayed out because I've locked it, but I
| | 03:52 | do have my X open, so I can limit that
between 0, and then I can just type in 1
| | 03:59 | here, so it goes now between 0 and 1
and I can't move it any further than that.
| | 04:06 | If we want to go slightly below 0, I can
do say -0.20, for example, or -0.30 and
| | 04:12 | let's make it .2 here.
| | 04:14 | And I can go a little bit further, but
again this just limits the action of this
| | 04:21 | control to whatever I want. I'm
going to go ahead and put that back to 0.
| | 04:26 | So now this only goes between 0 and 1.
That's all the animator has to work with,
| | 04:32 | which is great because you won't push
that control off the screen and lose it.
| | 04:37 | We can do the same thing for the
pupils, so I have my left eye here, and
| | 04:42 | this actually is moving in X and Y,
and Z should be 0 here. We have this
| | 04:52 | moving between X and Y.
| | 04:54 | So everything else, again, we can lock and hide;
| | 04:58 | Lock Selected, Hide Selected, and now all we
have is X and Y, let's go ahead and 0 those out.
| | 05:07 | Again, this is scaled so that on this side we
can go to 1, -1 and then in Y again, 1 and -1.
| | 05:18 | So basically we can go 1 in each
direction. So again, we can lock that down in
| | 05:24 | the Attribute Editor.
| | 05:26 | If I go to my Limit Information >
Translate, I can limit X and Y to -1 and then
| | 05:35 | on the top I can limit it to +1.
| | 05:37 | So now each one of these can move
between -1 and +1, I can
| | 05:44 | move it anywhere in there, but I
can't move it anywhere outside of that and
| | 05:49 | that's great, because it
limits the action of that control.
| | 05:54 | And that's basically all you need to do,
is that once we get everything limited
| | 05:59 | we can setup the rest of our controls
and start linking them into our character.
| | 06:03 | Now a lot of these I've already
limited for you, so go ahead and limit the
| | 06:08 | right eye, and then we're going to
ahead and start rigging our character to
| | 06:13 | these controls.
| | Collapse this transcript |
| Rigging basic facial controls using set-driven keys| 00:00 | Now that we have our control panel set
up and all of our controls limited to the
| | 00:05 | range that we want, we can
start wiring things together.
| | 00:09 | Now I want to start wiring things like
Blend Shapes, the rotation of these joints
| | 00:13 | to this control panel.
| | 00:16 | Each different type of control will
require a little bit of a different
| | 00:20 | technique, so we are going to
be exploring a lot of techniques.
| | 00:23 | So the easiest thing to do is just to do
a simple one-to-one type of control, and
| | 00:29 | along the bottom here we have one here
for the F-shape and one for the SH-shape,
| | 00:35 | so let's go ahead and wire
that in, using a set-driven key.
| | 00:40 | This F-shape is basically a Blend Shape,
so let's go ahead and go into Animation
| | 00:45 | Editors > Blend Shape.
| | 00:48 | If you scroll down here you'll see
that I have an FF control here, and that
| | 00:53 | creates the F-shape, which is basically
just tucking the bottom lip behind the
| | 00:58 | teeth, and so I just need to
connect this control to this.
| | 01:03 | And we can do that very
easily using a set-driven key.
| | 01:06 | So all I have to do is right-click
over that number, select Set Driven Key,
| | 01:10 | and that brings up my Blend Shape with all
of the Blend Shapes, but the one I want is FF.
| | 01:16 | Now that I have that selected, I need to
select my controller here, Mouth_FF and
| | 01:23 | load that as the Driver.
| | 01:24 | Now there's only one control here, I've
already limited and removed everything I don't need.
| | 01:29 | So Translate X is going to
control this Blend Shape.
| | 01:33 | So now I'll make sure everything is at 0.
| | 01:36 | So my FF is at 0, my Translate is at 0,
hit Key, and that creates a key here, and
| | 01:45 | then I just need to go ahead and move my
controller up to 1, move my Blend Shape
| | 01:52 | up to 1, pull up my set-driven key,
hit Key, and it should be there.
| | 01:59 | So now I have a control that's wired in.
| | 02:04 | Now this is just one way to control
things. I'm actually going to save some of
| | 02:10 | these, so we can show you some other techniques.
| | 02:12 | But if you want, you could actually
create a bunch of different controls for all
| | 02:16 | of your phonemes, and just
create a slider panel here.
| | 02:20 | So this is just one of many
techniques, you can just do a set-driven key
| | 02:24 | to create a one-to-one relationship
for this and it's a very easy way to set
| | 02:29 | up sliders.
| | Collapse this transcript |
| Rigging the jaw using set-driven keys| 00:00 | Another type of control, controls
things in more than one direction.
| | 00:05 | Probably the easiest one to
rig up would be the jaw control.
| | 00:09 | Now this actually has two different directions.
| | 00:12 | So if I look at this here, I can move
the jaw up and down, or left and right, and
| | 00:18 | we need to connect this to this jawbone here.
| | 00:21 | So if I rotate this, you can see I can
rotate it along Z, or I can rotate it
| | 00:28 | along Y, so Y basically moves it left
and right, and Z moves it up and down.
| | 00:36 | So this jaw control here has a
Translate X for left and right, and a
| | 00:42 | Translate Y for up and down.
| | 00:44 | So what we want to do is connect this
to our jawbone, and so basically we're
| | 00:50 | going to be connecting Translation to Rotation.
| | 00:53 | And probably the easiest way to
do that is with a set-driven key.
| | 00:56 | So I'm going to go ahead and select
my jawbone here, go into Animate >
| | 01:01 | Set Driven Key > Set.
| | 01:02 | You'll see I have Rotate Y and Z are
the ones that I want to use, and then I'm
| | 01:09 | going to go ahead and select my jaw
controller here and load that as the Driver.
| | 01:14 | Now remember, up and down in the jaw is
Rotate Z, up and down in the controller
| | 01:22 | is Translate Y, so we're connecting
Translate Y to Rotate Z. I'll make sure
| | 01:27 | everything is at 0 and hit Key.
| | 01:30 | Okay, notice how that turns red,
because we're now animating it.
| | 01:34 | First thing I want to do is go ahead
and select my mouth jaw controller and
| | 01:40 | move it all the way down. So it's
going to be at -1, and then I'm going to
| | 01:44 | select my jaw and then highlight Rotate
Z and let's rotate that down as far as
| | 01:52 | we think it can go.
| | 01:54 | So I am thinking here basically, we can
even type in a number here, let's say -20
| | 01:58 | is the lowest, or the most that
this character will open his jaw.
| | 02:03 | And once we do that we can hit Key,
and so now we have a little bit of this
| | 02:09 | connected up and you can see here
now I've got my jaw moving up and down.
| | 02:14 | But I can also move this jaw a little
bit past 0.2, so we can actually close his
| | 02:21 | jaw a little bit more;
| | 02:23 | kind of tighten his lips, so to speak.
| | 02:26 | So I'm going to go ahead and move
Translate Y to 0.2, and then I'm going to
| | 02:30 | select my jaw again, and then Rotate Z up to
the point where I think his mouth can close.
| | 02:38 | You know, where the lips are about as
tight as they can be, and again, I'm going
| | 02:42 | to hit a keyframe here.
| | 02:43 | So now I've got this working in the Y
direction, but I still need to do left and right.
| | 02:50 | So I'm going to go ahead and select Set Y to
0 here, to zero that out, Set X to 0 as well.
| | 02:57 | And then I'm going to select this bone,
make sure my Rotate Y is at 0 and we're
| | 03:02 | going to go back into Set Driven Key > Set.
| | 03:05 | So again, I've got Jaw > Rotate Y, and
I need to select my jaw controller here
| | 03:11 | and load that as a driver, and so we're
going to have Mouth_Jaw > Translate X,
| | 03:16 | Drive_Jaw > Rotate Y, so make
sure everything is at 0, hit Key.
| | 03:22 | So now I'm going to go ahead and move
this controller over to +1, select my jaw
| | 03:29 | and rotate that over as far to that
side as I think the character's jaw can go.
| | 03:35 | So maybe somewhere around, say, about 16
degrees, somewhere around there, and then just
| | 03:41 | hit another keyframe.
| | 03:42 | So now I've got this going this way,
and now we just do it the other way, so
| | 03:46 | I'm going to translate this over to -1,
again, select this, and this time I
| | 03:52 | know what the number is.
| | 03:53 | So I'm going to put -16 on
the other side, and hit Key.
| | 03:58 | So this should have the jaw working pretty well.
| | 04:02 | So now I can open the jaw, he can chew
food, he can talk, he has a wide range
| | 04:08 | of motion for his mouth, and so now we have
a very robust control of the character's jaw.
| | 04:15 | So that's another way to connect
your character's facial expressions into
| | 04:20 | the control panel.
| | Collapse this transcript |
| Rigging pupil controls| 00:00 | Now let's take a look at another type
of control and that's for the pupils.
| | 00:05 | So what I want to do is take this
control here, which is basically just a one
| | 00:09 | dimensional control, it
just moves left and right.
| | 00:12 | And I want it to dilate the character's pupils.
| | 00:17 | Remember when we created the pupils,
we created a ramp texture and we applied
| | 00:23 | that to the eye using a planar projection.
| | 00:26 | Now the size of that plane can control
the size of that pupil relative to the eye.
| | 00:32 | I want this left-right control of
the pupils to control how big that
| | 00:38 | planar projection is.
| | 00:41 | In order to do this I need to select
the actual geometry of the eye and I have
| | 00:45 | that right now restricted here.
| | 00:46 | So I'm going to go ahead and make sure
that it's turned from R to blank, so I
| | 00:50 | have my geometry opened and selectable,
and then I'm going to go ahead and
| | 00:55 | left-click on the left eye.
| | 00:58 | And if we go into the Attribute
Editor you'll notice that somewhere in here
| | 01:02 | we have a NODE called polyPlanarProj2,
and this is the key to making this work.
| | 01:09 | We have Projection Width and
Projection Height, and as you can see, if I ramp
| | 01:15 | these up or down I can make those make
that eye bigger or smaller, and I want
| | 01:20 | to ramp these up equally.
| | 01:21 | Now the default for this is 6, which
is basically the width of this eye.
| | 01:27 | So let's go ahead and connect these two
controls to this one slider, so this is
| | 01:33 | going to become 2 to 1 connection.
| | 01:35 | First thing I want to do is just
go ahead and highlight one of these.
| | 01:39 | I'm going to highlight Projection Width,
right-click, start up a Set Driven Key.
| | 01:44 | So you can see that width and height are both
in here because they're part of that same NODE.
| | 01:48 | Now I'm controlling them with that
pupils slider, so I'm going to load that as
| | 01:54 | the Driver, and the only thing we
have available for that is Translate X.
| | 02:00 | So I'm going to go ahead and select my
eye again, and let's go back into the
| | 02:04 | Attribute Editor and find that
Node, poly planar projection, okay.
| | 02:11 | So now once I have this selected and
this selected, I want to keep this up here,
| | 02:15 | so you can see what happens here.
| | 02:17 | Once we hit Key, that goes red,
tells me that it's being keyframed.
| | 02:22 | So all I have to do now is move the
pupil control all the way to the right, and
| | 02:28 | then move this as wide as I want it to go.
| | 02:31 | By default, it's going to 12, but let's
go to a little bit higher, let's go to
| | 02:35 | 15, let's make that a really big
dilated pupil, and then hit Key again.
| | 02:41 | So now this controls this.
| | 02:44 | All we have to do now is the
same thing for Projection Height.
| | 02:48 | Now all I have to do here
is just select a new Driven.
| | 02:52 | This is already selected as a Driver, we
were working with the Projection Width,
| | 02:56 | let's just change this to Projection Height.
| | 03:00 | That's already at 6, this is already at
0, hit Key, move this to the right, and
| | 03:07 | then I can just type in the number 15 here.
| | 03:11 | Key again, and there we go.
| | 03:15 | We have this one that can control both
of these, and we can do the exact same
| | 03:20 | technique for the right eye.
| | 03:22 | So I'm going to go ahead and leave
that for you to practice and I'll go ahead
| | 03:25 | and do that as well, and then we'll
come back and do some more rigging.
| | Collapse this transcript |
| Controlling eye direction| 00:00 | Now we should have the pupils pretty much
rigged, and I've already rigged them myself here.
| | 00:05 | So now we have pupils that dilate.
| | 00:08 | Now let's go ahead and continue on with
the eyes and control the eye direction.
| | 00:14 | Now eyes can be controlled
in a number of different ways.
| | 00:17 | You can use an Aim constraint to aim
them at a target and rotate them that way,
| | 00:22 | or you can do what we're going to do
here which is control them from the control
| | 00:26 | panel and have their eye direction
controlled via a control like this where you
| | 00:31 | can basically move them around this way.
| | 00:34 | So let's go ahead and rig those eyes.
| | 00:36 | I want to make sure that my geometry is
available here, because I do want to be
| | 00:42 | able to rotate my eyes along X and along
Y, so it's a little bit different, X is
| | 00:50 | up and down and Y is left and right.
| | 00:55 | So basically in this, X is left and
right and Y is up and down, so we can kind
| | 01:00 | of have them flipped in terms of my Translation
that I'm going to connect to my Rotation.
| | 01:05 | But this is very, very similar
to how we connected up the jaw.
| | 01:10 | So again I'm going to select my eye and
then just go Animate > Set Driven Key > Set.
| | 01:16 | I want to select my
controller and load that as the Driver.
| | 01:21 | So remember, X is going to go
to Y and Y is going to go Z.
| | 01:24 | So let's go ahead and select Rotate Y
and Translate X, they're both at 0,
| | 01:31 | hit Key.
| | 01:33 | Now I'm going to go ahead and move my
controller all the way to 1, select my
| | 01:39 | eye, rotate it all the way so that it
touches the edge of the eye, and again,
| | 01:47 | hit Key, so now we've got that
control and let's go back the other way.
| | 01:52 | So I'm going to move this to -1,
select the eye, and again, I'm just going to
| | 01:57 | rotate it so that it kind of hits
the side of the eye socket there.
| | 02:03 | And again just hit Key.
| | 02:05 | So now we've got left and right, okay.
| | 02:09 | Now we need up and down.
| | 02:10 | So I'm going to go ahead and set
Translate X to 0, and we're going to have
| | 02:16 | Translate Y > Drive > Rotate X.
| | 02:19 | Again, everything is at 0, hit Key,
move this all the way up, select the eye,
| | 02:26 | rotate that so that the eye
is at the top of the eye socket.
| | 02:31 | Now what I'm trying to do is just get
that eye, so that the middle of the pupil
| | 02:35 | is touching the top of the eye socket.
| | 02:37 | We want to make sure that we are consistent
with this, because when we go to do the other eye;
| | 02:42 | we want to make sure that
they're both moving equally.
| | 02:46 | I want to make sure that I'm fairly
consistent with the way that these move.
| | 02:50 | So again, I'm going to move this down,
select this, Rotate X all the way down,
| | 02:55 | and again, I'm just trying to get the
center of that eye to just hit the edge of
| | 02:59 | the eye socket, and hit Key.
| | 03:02 | Select that, and now I can move the
eye anywhere I want in the eye socket.
| | 03:07 | It's very, very similar to how we've
rigged the jaw, and we can do that again
| | 03:13 | for the right eye and I'll
leave that as an exercise for you.
| | 03:17 | And I'm going to go ahead and do
that as well for the character.
| | Collapse this transcript |
| Controlling eyelids with expressions| 00:00 | Now let's take a look at a different way
to connect attributes to a control panel.
| | 00:06 | We are going to be working with the
character's eyelids and we are going to be
| | 00:10 | doing Blink controls.
| | 00:12 | We could very easily just use set-driven
keys like we've done before, and that
| | 00:17 | may be the best way to do this, but
we're going to do this using a technique
| | 00:20 | called expressions, so that way we can
get our feet wet with expressions and then
| | 00:26 | use expressions in a more complex
manner for some of the other controls.
| | 00:30 | So I am just trying to get our
feet wet here so we can understand
| | 00:33 | how expressions work.
| | 00:35 | So I have this control here and that's
my lid top, and if I move that you'll see
| | 00:42 | it goes from 1.1 to -0.2 and
that's how I've limited it.
| | 00:48 | So I am going to go ahead and
set that to a basic value of 1.
| | 00:52 | And then I want to
control my character's eyelids.
| | 00:56 | So I will just go-ahead and control the
top left lid, so that is a Blend Shape.
| | 01:02 | So we go into our Blend Shape
window here, and go in and find the
| | 01:08 | upper lid left.
| | 01:10 | So that's the one that we want to control.
| | 01:13 | So we want to wire this to this.
| | 01:17 | So we do that using the Expression Editor.
| | 01:21 | Let's take a look at that.
| | 01:22 | We are going to go into Window >
Animation Editors > Expression Editor.
| | 01:27 | And this has a lot of different things,
but basically let's just go through the
| | 01:31 | basics of the window.
| | 01:32 | We can give any expression we have a name.
| | 01:35 | We can bring in objects and each
object has a name, and then down here, we can
| | 01:43 | actually type in the expression.
| | 01:46 | So if I select this eyelid, you can
see that Lid_TopL comes up and the only
| | 01:52 | attribute we have available is translateY.
| | 01:54 | So Lid_TopL.translateY is
the technical name of that value.
| | 02:01 | So we want to connect that to the eyelid.
| | 02:04 | So I am going to go ahead and go into my
Blend Shape and what we want to connect
| | 02:09 | is this upper lid right.
| | 02:11 | Select this box here for the value,
right-click in it, and instead of a Set
| | 02:17 | Driven key, we are going to
do a Create New Expression.
| | 02:20 | And what that does is it loads this
into the Expression Editor as well.
| | 02:26 | So now we have two objects here;
| | 02:29 | we have the Blend Shape and we have the
Lid_Top, which is basically our controller.
| | 02:35 | So what we want to do is make
one value equal to the other.
| | 02:39 | So very simply, we're going to take
this value, blendShape1.E_UpLidL and
| | 02:46 | connect it to the Lid_TopL.translateY.
| | 02:50 | The first thing I want to do is select
the controller here, highlight this and
| | 02:56 | instead of typing in this
name, I like to copy it.
| | 02:59 | So I am just going to go ahead and hit
the Copy keyboard shortcut on my keyboard
| | 03:04 | so I am going to hit Ctrl+C
because I am on PC, Command+C on a Mac.
| | 03:09 | And now I am going to
connect this to that variable.
| | 03:12 | So I am going to go ahead and
scroll down here and find lid upper L.
| | 03:18 | So I want to connect this to this.
| | 03:20 | So I am going to go into my
expression here, and I'm going to paste, hit
| | 03:25 | Ctrl+V or Command+V on the Mac, and
then Lid_TopL.translateY, I want to make
| | 03:31 | that equal to this.
| | 03:33 | So I am going to go ahead and select
this, again keyboard shortcut copy it, and
| | 03:38 | then press that is equal to that.
| | 03:40 | Okay, so basically what I've done,
I've taken the value that defines this and
| | 03:46 | set that equal to the value that defines this.
| | 03:50 | Once I hit Create, notice how
this turns up as purple and I get
| | 03:55 | something happening here.
| | 03:57 | Now I've got this connected to that,
and it works but it's all backwards.
| | 04:04 | Let's see what's happening here.
| | 04:05 | Okay, so I am just doing an equal here.
| | 04:08 | So when this translate is
at 1.1, lid up is at 1.1.
| | 04:14 | When this is at -0.2, this is at -0.2.
| | 04:20 | The problem is, is that my
controller is reversed from my Blend Shape.
| | 04:24 | When this is at 1.1, 1.1 is close,
but this looks like it's open.
| | 04:30 | So I need to kind of flop that around.
| | 04:33 | But this is basically just
a mathematical expression.
| | 04:36 | So if I go back into my Expression Editor,
make sure I am on that same
| | 04:40 | expression, then all I have to do is
just in here, just add some more math in.
| | 04:46 | I am going to say it equals 1 minus that value.
| | 04:52 | And basically, what that does is it
flips it around, and when I hit Edit, that
| | 04:56 | should take care of it.
| | 04:58 | So now, 1 -1.1 is -0.1, when I
close that, 1 minus -0.2, is 1.2.
| | 05:10 | So when I press that to 0, it goes to 1,
and when I press this to 1, 1 minus 1 is 0;
| | 05:20 | the miracle of math.
| | 05:22 | So that's how we control
one eyelid using expressions.
| | 05:26 | Now we can use the same
techniques to control the other eyelids.
| | 05:29 | Now remember, the bottom eyelids are
going to be flipped, so you are going to
| | 05:33 | do 1+ instead of 1-.
| | 05:36 | And now you understand the basics of expressions.
| | 05:39 | We can go a little bit more
complex in the next couple of lessons.
| | Collapse this transcript |
| Using expressions to rig mouth controls| 00:01 | Now let's go ahead and do a controller
that has more than one axis of motion,
| | 00:06 | and we are going to set
that up with expressions.
| | 00:10 | Now I've already set one up so we can
get a guide as to what we're doing here.
| | 00:14 | I have this Grrr controller set up and,
what this does is basically runs the lower
| | 00:20 | corners of the character's lips here.
And you can see when it goes to 0, nothing
| | 00:25 | happens, but as it comes down, it
starts to stretch those out and if you go
| | 00:30 | right or left, it tends to
favor one over the other.
| | 00:34 | Up here at the top, when Translate Y
is at 0, then everything is at 0, and
| | 00:42 | then as it goes down, when Translate
Y is at -1, everything else is going
| | 00:48 | that direction.
| | 00:50 | So we are going to do the exact opposite;
| | 00:52 | we are going to create a Sneer control,
and that's going to operate two blend shapes.
| | 00:58 | So let's go into our Blend Shape editor
here, and I am going to take a look at those.
| | 01:04 | So we have got two called
Sneer; sneer right and sneer left.
| | 01:09 | I we're going to create the
same sort of control for those.
| | 01:14 | So the first thing we need to do
is create that right/left control.
| | 01:18 | So if we look at the Grrr control here,
we really want to have this right/left,
| | 01:24 | so when one is at the far right,
one is favored, the other one is not.
| | 01:29 | So you can see how in the middle, they
are both at one-half, and when one is at
| | 01:34 | one side, one is at 1 the other one is at 0.
| | 01:37 | I am going to go head and zero that out.
| | 01:41 | We need to set up an expression.
| | 01:42 | So I am going to go ahead and select my Sneer
control and let's start with the left sneer.
| | 01:49 | So I am going to go ahead
and select my Sneer controller.
| | 01:51 | Go over to my Blend Shape here,
right-click over it, Create New Expression.
| | 01:59 | And because I had that sneer selected,
I have both of these objects in here.
| | 02:04 | What I want to do is actually create the left/
right motion and that's going to be translate X.
| | 02:09 | So I want to make sure that I know
the name of this value, Sneer.translateX.
| | 02:14 | In fact, I can highlight that and just do a
keyboard copy so I have that in my buffer.
| | 02:22 | Now what I really want to
control though is that blend shape.
| | 02:24 | So blend shape, sneer left, and so we
want to create an expression for that.
| | 02:31 | So I am going to go ahead and paste the
value of the object that I want to control.
| | 02:35 | So I want that to be controlled by sneer,
translate X, and I'm always lazy about typing.
| | 02:41 | So I am going to just go ahead and copy this,
place my cursor in there, place that before.
| | 02:47 | So I have my blend shape
equal to that sneer translate X.
| | 02:52 | And if I do Create, let's see what happens.
| | 02:56 | I am going to go ahead and
minimize my blend shape here.
| | 02:58 | So you can see that as I move my
sneer to the right, it actually works.
| | 03:04 | When my translate X is at 1,
that sneer left is at 1.
| | 03:10 | As it comes to 0, it goes to 0.
| | 03:13 | But here's a problem;
| | 03:14 | when it goes to -1, my Sneer goes to -1
in my blend shape here. You can see
| | 03:20 | that's that -1, and that's not working.
| | 03:23 | So what we need to do is
basically kind of cut that travel in half.
| | 03:30 | When this is at the middle here, at 0, we
really want the sneer to only be at half value.
| | 03:38 | We can do that fairly easily
with just a little bit more math.
| | 03:43 | So if we want to basically double this,
it goes from 0 to 1, so basically I
| | 03:47 | want to do 1+Sneer.transalteX, and
when I do that, what it does is it now
| | 03:55 | doubles all my values.
| | 03:57 | So when I'm here at 1, now my sneer
is at 2, but when I go all the way down
| | 04:05 | here, it's now at 0 rather than -1.
| | 04:09 | Now we need to add just one more to this.
| | 04:12 | So we have 1+, so this basically doubles it;
| | 04:15 | if we've doubled it in order to get it
back into line, we need to cut it in half.
| | 04:19 | So I am going to go ahead
and divide by 2, and hit Edit.
| | 04:23 | So now this goes from all the
way up to nothing at far right.
| | 04:32 | So basically I have got
this one kind of dialed in.
| | 04:35 | So when it's in the middle, this is at 0.5;
| | 04:39 | when it's all the way to
the right, this is at 1.
| | 04:43 | Now we need to do the same
thing for the right sneer.
| | 04:46 | Well, that's pretty easy.
| | 04:48 | All I have to do is, again, create a
new expression, take Sneer, translateX,
| | 04:55 | let's make sure I copy that.
| | 04:57 | Probably the easiest thing to do is to
copy the expression that we had before.
| | 05:01 | So I have got my sneer left expression here;
| | 05:04 | if I just hit blendShape1, sneer left,
you can see this is my expression.
| | 05:10 | Because I have already typed
all that out, I can just copy it.
| | 05:15 | So again, I am going to use the
keyboard shortcut for copy, Ctrl+C; it's going
| | 05:19 | to be Command+C on the Mac.
| | 05:22 | And then I am just going to go to
sneer right, and I am going to paste that
| | 05:27 | expression into there.
| | 05:29 | And the only difference
here is that this is sneer left;
| | 05:32 | we need to change at the sneer right, and
because this is moving from -1 to +1, in
| | 05:39 | other words, it's moving
in the opposite direction.
| | 05:41 | So we're just going to go ahead and do 1 minus,
rather than 1 plus, and the expression will be the same.
| | 05:48 | So let's go ahead and hit Create on that.
| | 05:50 | Let's see what we got here.
| | 05:53 | Now as this goes left and right,
we are switching between each one.
| | 05:58 | So we basically have half
of that expression in place.
| | 06:02 | All we need to do now is be able to
turn it on and off with the Y control.
| | 06:07 | So the Y is basically going
to act like a volume control.
| | 06:11 | I can go back into my Expressions window;
| | 06:15 | let's go ahead and just work
on sneer right since we have that.
| | 06:19 | The parameter we want to
use is Sneer.translateY.
| | 06:23 | That's going to be our volume control.
| | 06:25 | So when this is at 0, our effect is at 0;
| | 06:28 | when it's at 1, our effect is at full.
| | 06:30 | So I am going to go to Blend
Shape, find my sneer right, and basically
| | 06:35 | it's Sneer.translateY.
| | 06:37 | Well, I have Sneer.translateX here,
so I am just going to go ahead, copy
| | 06:42 | Sneertranslate and go Sneer.translateY,
and just multiply that, because when this
| | 06:49 | is at 0, it will just basically turn
everything down to 0 and when it's at 1,
| | 06:54 | it's going to turn everything to 1.
| | 06:56 | So we are going to go ahead and hit Edit
for that, and let's do the exact same thing
| | 07:01 | for the left one as well.
| | 07:03 | So again, I am going to copy this,
sneer left, and again, I just want to go ahead and
| | 07:09 | go Sneer.translateY times that.
| | 07:12 | Now remember, all this sneer translate is
a controller and the Blend Shape is here.
| | 07:18 | So go ahead and hit Edit, let's
see what we got. This should work.
| | 07:23 | So, as I bring this up, it amplifies
that effect, and then I can move that
| | 07:30 | effect left and right and have that control.
| | 07:33 | That's basically the exact
same thing we did on the Grrr.
| | 07:38 | Now the only difference between this and
this other one is that the Y goes to -1
| | 07:44 | so I kind of had to do a little
multiplication to flip that around.
| | 07:49 | So I just made it negative and it made it work.
| | 07:53 | And as you can see just by adding a
little more complexity, we can get much
| | 07:58 | more robust controllers.
| | Collapse this transcript |
| Creating a smile/frown control using expressions| 00:00 | At this point, we understand how to do
controllers that work in two dimensions,
| | 00:04 | such as this Sneer control
here and this Grrr control here.
| | 00:12 | We can combine these two to
make a Smile/Frown control.
| | 00:18 | So basically, what we are going to do
is take everything that we did for each
| | 00:21 | one of these and combine them onto one.
| | 00:23 | So we have this controller here and
what we want is top right, we want to go
| | 00:29 | ahead and pull the mouth up into a
smile on one side, pull it up into a smile on
| | 00:35 | the other side, and then bring it
down into a frown on each side as well.
| | 00:41 | We can use actually the same equations
and the same expressions that we used
| | 00:45 | for Sneer and Grrr;
| | 00:46 | we just need to combine them on one slider.
| | 00:50 | Now there is one extra little trick that you
have to do and we will teach you that as well.
| | 00:54 | First thing we want to do is make sure
my Smile/Frown controller is selected, and
| | 01:01 | let's go into our Animation
Editor, go into Blend Shape.
| | 01:05 | Let's go ahead and just create an expression.
| | 01:08 | So we can create one for, let's say,
smile right, Create New Expression.
| | 01:13 | Now the expression that we are going to
use for this is going to be exactly the
| | 01:17 | same for smile left as it is for sneer left.
| | 01:21 | It's basically the same technique.
| | 01:24 | Because we're using the whole blend
shape here, I can literally just cut and
| | 01:28 | paste that equation.
| | 01:29 | So let's go ahead and select sneer left;
| | 01:34 | you can see that it's actually working here.
| | 01:37 | This is the basic form that we are going to use.
| | 01:39 | We are going to change some names here, but
let's go ahead and copy this to our buffer,
| | 01:43 | Ctrl+C or Command+C, and
then go into smile left and paste.
| | 01:51 | Now I've got the equation which is what
we had before, remember we added one to
| | 01:56 | the Controller value, in that case, it
was called Sneer, and then divided by 2
| | 02:01 | so that it goes smoothly across
the top of that Controller panel.
| | 02:06 | And then we multiplied that by the Y
value and that was our Volume control.
| | 02:11 | But we're not really working with Sneer;
| | 02:13 | we are working with smile left.
| | 02:16 | So we have to change that.
| | 02:18 | So blendShape1.M_SmileL= --
| | 02:25 | This isn't Sneer;
| | 02:26 | it's called Smile_Frown.
| | 02:27 | So I just have to type in Smile_Frown.
| | 02:32 | The Smile_Frown controller translateY = 1+
the Smile_Frown controller translateX
| | 02:40 | that's left and right over 2.
| | 02:44 | Exact same equation we used for the Sneer
control, it's just with different names.
| | 02:50 | So I go and ahead and put that in.
| | 02:51 | Let's go ahead and minimize
this and let's see what happens.
| | 02:54 | If I bring this up, you can
see that yes, it does work.
| | 02:57 | It goes to 0, but I am going to
show you a problem that comes up.
| | 03:02 | So as this goes to 0, it works great,
but once this translate Y goes below 0, we
| | 03:11 | start getting things breaking up, and
that's because on this controller, we
| | 03:16 | actually can go below 0.
| | 03:18 | On this one here, the first
one we did, it stopped at 0.
| | 03:22 | So what's happening is this
Blend Shape here is going below 1.
| | 03:27 | So when I'm doing Y up and down, you
can see how it's basically acting as a
| | 03:32 | volume control until it gets to 0, then
it's acting as a negative multiplier.
| | 03:37 | And we don't want that.
| | 03:38 | We want it to cut off at 0.
| | 03:41 | And this is where we get into handy
functions that we can use for our expressions.
| | 03:48 | Now the Maya manual has a list of all the
functions you can use with expressions,
| | 03:53 | but I already looked it up for you,
so we can just go ahead and use it.
| | 03:58 | What we need to modify is this here;
| | 04:01 | Smile_Frown, this is the Y value.
| | 04:03 | So when it goes to -1, we
are multiplying -1 times this.
| | 04:08 | And we don't want that.
| | 04:09 | We want it to cut off at 0.
| | 04:11 | There's a function called Max;
| | 04:15 | and it's essentially -- it's
almost like an if then statement.
| | 04:17 | Basically it says whichever one of
these two numbers is the maximum, take that.
| | 04:24 | I have the maximum of either 0 or this
number, and this number is coming from here;
| | 04:31 | it's coming from that Translate Y.
| | 04:34 | If Translate Y is above 0, use that;
| | 04:38 | if it's below 0, cut it off, just use 0.
| | 04:41 | So I want to make sure I have the
syntax right, so it's max(0, and then this
| | 04:49 | value, Smile_Frown.translateY) and
then we are going to leave the rest of
| | 04:54 | equation exactly the same.
| | 04:56 | Hit Edit, and obviously, we can't see it
until we minimize those, oh, and look
| | 05:02 | Translate Y is at -1, and
it looks like it's going good.
| | 05:06 | And so soon as it hits above 0, it rocks. Cool!
| | 05:11 | Now I have one of these, I can now do
this for the other side, for the right smile.
| | 05:18 | Again, all we have to do is just do
some copy and pasting and we should be able
| | 05:23 | to get that one going as well.
| | 05:25 | Smile left and smile right are pretty much the
same except the controller is flipped.
| | 05:31 | So I keep smile left selected, select
the expression, I don't want to retype
| | 05:37 | all this.
| | 05:38 | Just copy from the keyboard, go to
smile right and paste from the keyboard.
| | 05:45 | Now this is exactly the same except
our left/right controller, which is
| | 05:50 | Translate X, that is flipped.
| | 05:52 | So we want that action to be the opposite.
| | 05:55 | So instead of 1+, I am going to go 1-;
| | 05:59 | instead of smile left, I need to
do smile right, and that should do it.
| | 06:04 | So there we go.
| | 06:06 | I have smile right and smile left balanced, and
then when this goes to 0, they go to 0.
| | 06:12 | The next thing I need to do is do
the exact same thing for the frown.
| | 06:18 | Just go in to our Expression windows and
we have frown right and frown left, and those are
| | 06:22 | going to be same as the
Grrr control, left and right.
| | 06:26 | So I am going to go ahead and select Grrr.
| | 06:29 | The only difference with this is
that there is a negative value.
| | 06:34 | Because Y is going negative, we want to flip
that around to make a positive as we multiply it.
| | 06:41 | So that makes it pretty easy to use here.
| | 06:43 | So all we have to do is go into our smile left and
let's copy that and paste it onto the frown left.
| | 06:50 | Okay, so this actually works
entirely but all we have to do here is just
| | 06:56 | flip around the Y because Y is going to be
in negative space rather than positive space.
| | 07:03 | Select smile left, copy it, go to frown left,
paste it, and then let's go ahead and
| | 07:11 | change the name, FrownL=, the maximum
of one, the value of Y. Well, when I
| | 07:20 | want the frown to be active, Y is
going to be -1, but maximum I would really
| | 07:27 | want to flip that around.
| | 07:28 | So I am just going to hit a negative
on Smile_Frown.translateY and everything
| | 07:33 | else should be the same.
| | 07:35 | So hit Create and let's see what we got.
| | 07:38 | And that seems to work.
| | 07:40 | Now we go from smile to frown on the
right, and we can do the exact
| | 07:44 | same thing on the left.
| | 07:45 | So I am going to go, Create New
Expression on the right side here.
| | 07:49 | So frown left and frown right are
going to be almost identical.
| | 07:53 | And again, it's just a matter of
flipping the positive and negative signs.
| | 07:57 | So again, I am going to copy this
expression, go into frown right, paste.
| | 08:03 | So frown right equals this, which is
basically my volume control, which is Y
| | 08:09 | and that's correct.
| | 08:11 | And then this is my left/right control, but
again, left-right is flipped for this slider.
| | 08:16 | So I am going to hit negative
instead of positive, and that should work.
| | 08:20 | So hit Create, and there we go.
| | 08:23 | So now I've got smile, smile, frown,
frown and we have a very, very nice
| | 08:32 | little control here.
| | 08:34 | Now that you understand hopefully how
all this works, we can apply this to other
| | 08:39 | parts of the controller.
| | 08:41 | The brows can also be
rigged using this method as well.
| | 08:46 | I'll leave that as an exercise for you
and I'm going to go ahead and rig those
| | 08:49 | myself, and then we'll come back and
we'll do one more little tweak and we will
| | 08:53 | create a Dialog controller.
| | Collapse this transcript |
| Finishing up the facial rig| 00:00 | Now I have gone ahead and wired up
some additional controllers to match those
| | 00:05 | that we did with the Smile/Frown controller.
| | 00:09 | Now the first one I did was a Dialogue
controller, and again, I used the exact
| | 00:14 | same formulas, just
different blend shapes for this.
| | 00:17 | The Dialog controller basically allows
you to go through some important dialog
| | 00:22 | lip shapes, so top right corner is oh, oo,
em, and then ch for consonants, so this
| | 00:31 | is a great way to fade between these
using one controller without having to have
| | 00:35 | multiple controllers, and you can
combine this with the jaw to create dialog.
| | 00:41 | Now the next ones I did were also
the brow left and right controllers.
| | 00:46 | For the brow right, top right is brow up, this is
brow off to the side, which is called worry.
| | 00:55 | Brow down, anger, this one is actually
the opposite, so down and left is anger,
| | 01:01 | down worry, and then up.
| | 01:04 | So these are actually kind of flipped
and that's just a way that it needs to be
| | 01:08 | for the interface to look right.
| | 01:10 | So these again, use the exact same
equations and formulas that we used for the smile.
| | 01:17 | So it's essentially the same
technique and we have just used it for
| | 01:21 | different blend shapes.
| | 01:22 | So as you can see now, we have a
fairly robust facial controller.
| | 01:27 | So now I can do some really nice
rotations on my head using this.
| | 01:32 | When you're animating the head, you
may want to incorporate this control
| | 01:38 | panel in with the head.
| | 01:40 | Sometimes people will create a
constraint so that this rotates with the head.
| | 01:45 | We may want to do that we may not.
| | 01:48 | Another thing you might want to do is
to create a separate layer for this rig,
| | 01:53 | so that you can hide and show just the
facial controls, if you want to do that.
| | 01:58 | Now remember, for this panel, all we
did was used a lot of set-driven keys, and
| | 02:04 | then we dove into some reasonably simple
expressions, and with just those tools,
| | 02:10 | you should be able to do
some very nice facial controls.
| | Collapse this transcript |
|
|
10. Finalizing the Rig Cleaning up the rig| 00:00 | At this point we've done all
the rigging that we need to do;
| | 00:04 | we have a fairly complete character.
| | 00:06 | Now all what we have to do is do some
cleanup and get the character ready to
| | 00:10 | put into production.
| | 00:12 | So one of the first things you want to
do is just kind of go through the layers
| | 00:15 | of the character and hide and
show those things that you want.
| | 00:19 | So, for example, the skeleton, I want to
make sure that we hide the skeleton. The
| | 00:24 | geometry, I want to make sure that I
lock that down, I'm going to hit R in its
| | 00:28 | layer, and then just make sure
everything else is hidden. And then next thing we
| | 00:34 | can do is go through the
Outliner and clean things up as well.
| | 00:38 | So I'm going to into my Outliner here.
| | 00:41 | And if you notice, a lot of my geometry is still
just kind of hanging out in the Outliner.
| | 00:45 | So let's go ahead and select my torso,
my head, my lower body, and my eyes, and I'm
| | 00:51 | going to go ahead and group those.
| | 00:53 | And we can name that group Geometry,
and if we want, we can also take our blend
| | 00:58 | shape heads and middle-click
and drag those into there as well.
| | 01:02 | Now another thing I am noticing here is that
these lattices for the eyes are still visible.
| | 01:08 | So I'm going to go into each of these
and find these lattices here, and let's
| | 01:13 | just go into Display > Hide > Hide
Selection, and also go into the eyes for
| | 01:21 | the second one here, I'm going to
select these lattices here, go Display >
| | 01:25 | Hide > Hide Selection.
| | 01:27 | So I've got those lattices
hidden, we don't need to see those.
| | 01:31 | So now we have a fairly simple
presentation for the character. We have the
| | 01:36 | geometry, master, and then we also have
the face controls here, and I want the
| | 01:40 | face to actually go with this
Master NODE, so again, I am going to
| | 01:43 | middle-click and direct
that so I have the Master NODE.
| | 01:46 | And so now once I have this, I've got
this one Master NODE and underneath this,
| | 01:52 | I have basically all of the
controls that form my particular character.
| | 01:57 | Now another thing I noticed here is
that when I was testing the knee, my little
| | 02:02 | knee controller here went forward, so I
want to make sure that I zero that out,
| | 02:07 | and go through and actually zero out all
of the controls that I can zero out, and
| | 02:13 | just make sure that everything is
clean and set to a neutral state.
| | 02:18 | Once you have that set, you have a rig
that's ready to be handed to animators.
| | Collapse this transcript |
| Testing the rig| 00:00 | Now that we have the rig all buttoned
up, it's time to do some final tests.
| | 00:05 | We really want to beat up this rig to
make sure that we don't find any holes.
| | 00:10 | Now you can certainly do all the tests
yourself, but if you have another person
| | 00:15 | who can animate the rig that would be
ideal, because a lot of times when you get
| | 00:19 | a second eye on the problem, they'll
find issues that you didn't even see.
| | 00:24 | I don't have a second person here
so I'm just going to go ahead and do
| | 00:28 | some rough tests here.
| | 00:29 | Now I have already tested the lower
body of the character when I was doing my
| | 00:34 | rigging and my skinning of the
character, but I really haven't done too much
| | 00:39 | tests of the facial rig.
| | 00:41 | So let's just go ahead
and do a quick test of that.
| | 00:44 | But we really should animate the
character through an entire scene or several
| | 00:48 | scenes, just to make sure that everything
works, but we really don't have time for that.
| | 00:52 | So let's just do a quick test of the facial rig.
| | 00:55 | So let's just go ahead and make the
character look at the camera and smile.
| | 00:59 | So first thing I want to do
is get some initial poses here.
| | 01:01 | I want to make sure that I have my
Auto key set, and then I'm going to go
| | 01:06 | ahead and do Animate > Set Key, and I'm going
to go ahead and start setting keys for the arms.
| | 01:10 | I just want to get the arms to the side here.
| | 01:12 | So I'm going to grab each of these, set key,
and then just rotate those down to the side.
| | 01:20 | And then, let's go ahead and make
the character look towards the camera.
| | 01:24 | I'm going to grab this head, set a key for
that, and then let's do a simple head turn.
| | 01:30 | Let's go ahead and maybe over the
course of maybe 12 frames, go ahead and turn
| | 01:36 | him to the camera here, and get a nice
little pose here, of course when we do a
| | 01:43 | head turn, what do we do? We dip the
head, so it comes like that. Great!
| | 01:48 | But when he does a head turn of
course he is going to do a blink.
| | 01:52 | So let's go ahead and
select our blink controls here.
| | 01:56 | I'm going to go ahead and select upper
and lower, but let's go ahead and just
| | 02:00 | start with the upper. I am going to go
ahead, set keyframe here, and then as he
| | 02:05 | comes down he is going to blink down,
and then come back up, and then I am
| | 02:13 | going to set both to 1.
| | 02:15 | And then we can do the same for the
lower lids, we can go here, set, and
| | 02:21 | then close those eyes, and then open
them up again, and these ones actually
| | 02:29 | go to negative 1.
| | 02:32 | So now it comes there, there
we go, looking pretty good.
| | 02:36 | But also we want to change eye
direction, remember eyes follow the head turn.
| | 02:41 | So we are going to select both of these
eyes, and again, hit S to set key, and as
| | 02:47 | he starts to turn, we are going to
move the eyes in that direction, and then
| | 02:53 | stare at the camera.
| | 02:55 | And we might also want to
dilate the pupils a little bit.
| | 02:58 | So let's go ahead and test that out.
| | 03:01 | So as he comes up, we are going to kind
of widen the eyes just a little bit, so
| | 03:07 | he is going to go like that, and
that's starting to look pretty good.
| | 03:12 | So let's do some work with
the facial expressions here.
| | 03:16 | So I'm going to go ahead and set a key for
that smile, and let's go ahead and do that.
| | 03:23 | So now, yeah, he is looking pretty cool.
| | 03:25 | So let's go ahead and play with the jaw.
| | 03:27 | Let's go ahead and again I am going
to set a keyframe here as he comes up,
| | 03:32 | and he is going to also kind of get a
little bit of a slack-jaw here, so there we go.
| | 03:38 | And if we want we can start to
add a little bit more to that.
| | 03:42 | Because he is standing we are also
going to do a little bit of a weight shift,
| | 03:45 | so I'm going to go ahead and just drop
his hips a little bit, maybe overshoot,
| | 03:49 | so let's go ahead and zoom in.
| | 03:52 | Everything is starting to work pretty well.
| | 03:54 | I've got a really solid rig so far.
| | 03:57 | I need to go through and just run
through all the different controls, make sure
| | 04:00 | everything is working together.
| | 04:03 | But as you can see, it's really just
a process of starting to animate the
| | 04:06 | character and actually this is the fun part.
| | 04:09 | You're actually bringing the character to life.
| | 04:11 | So go ahead and animate some
scenes with this character to make sure
| | 04:15 | that everything works.
| | Collapse this transcript |
|
|
GoodbyeGoodbye| 00:00 | So that's pretty much it
for Character Rigging in Maya.
| | 00:04 | Now we covered a lot of ground here
and I showed you a lot of different
| | 00:08 | techniques for rigging characters in animation.
| | 00:12 | Now hopefully, you can adapt these
techniques for your own characters and
| | 00:16 | expand on those as well.
| | 00:18 | So have fun rigging your own
characters and hope to see you in another
| | 00:23 | course soon.
| | Collapse this transcript |
|
|