navigate site menu

Start learning with our library of video tutorials taught by experts. Get started

Character Rigging in Maya

Character Rigging in Maya

with George Maestri

 


Character Rigging in Maya provides a basic introduction to rigging theory, and delves into the details of how to create professional, realistic 3D characters. Instructor and animation veteran George Maestri shows how to combine Maya's skeleton, inverse kinematics (IK), and constraint tools to create a basic rig for a character, and how to attach the character mesh to the skeleton using Maya's skinning tools. The course also explores advanced rigging controls such as IK switches and facial animation and how to create a control panel to manipulate the character's expressions. Exercise files accompany the tutorials.
Topics include:
  • Understanding the basics of rigging
  • Creating skeletons
  • Modifying joint attributes
  • Working with inverse kinematics and constraints
  • Rigging characters
  • Using Maya's new HumanIK skeletons/rigs
  • Setting up an FK/IK switch
  • Creating custom facial rigs
  • Binding skin using Smooth Bind
  • Painting and editing skin weights
  • Using expressions to rig a character's mouth controls
  • Controlling eye direction
  • Finalizing a rig

show more

author
George Maestri
subject
3D + Animation, Character Animation
software
Maya 2012
level
Intermediate
duration
4h 37m
released
Feb 16, 2012

Share this course

Ready to join? get started


Keep up with news, tips, and latest courses.

submit Course details submit clicked more info

Please wait...

Search the closed captioning text for this course by entering the keyword you’d like to search, or browse the closed captioning text by selecting the chapter name below and choosing the video title you’d like to review.



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


Suggested courses to watch next:

Maya 2011 Essential Training (9h 8m)
George Maestri


Maya 2011: Modeling a Character (3h 3m)
Ryan Kittleson

Game Character Creation in Maya (2h 58m)
Chris Reilly


Are you sure you want to delete this bookmark?

cancel

Bookmark this Tutorial

Name

Description

{0} characters left

Tags

Separate tags with a space. Use quotes around multi-word tags. Suggested Tags:
loading
cancel

bookmark this course

{0} characters left Separate tags with a space. Use quotes around multi-word tags. Suggested Tags:
loading

Error:

go to playlists »

Create new playlist

name:
description:
save cancel

You must be a lynda.com member to watch this video.

Every course in the lynda.com library contains free videos that let you assess the quality of our tutorials before you subscribe—just click on the blue links to watch them. Become a member to access all 104,069 instructional videos.

get started learn more

If you are already an active lynda.com member, please log in to access the lynda.com library.

Get access to all lynda.com videos

You are currently signed into your admin account, which doesn't let you view lynda.com videos. For full access to the lynda.com library, log in through iplogin.lynda.com, or sign in through your organization's portal. You may also request a user account by calling 1 1 (888) 335-9632 or emailing us at cs@lynda.com.

Get access to all lynda.com videos

You are currently signed into your admin account, which doesn't let you view lynda.com videos. For full access to the lynda.com library, log in through iplogin.lynda.com, or sign in through your organization's portal. You may also request a user account by calling 1 1 (888) 335-9632 or emailing us at cs@lynda.com.

Access to lynda.com videos

Your organization has a limited access membership to the lynda.com library that allows access to only a specific, limited selection of courses.

You don't have access to this video.

You're logged in as an account administrator, but your membership is not active.

Contact a Training Solutions Advisor at 1 (888) 335-9632.

How to access this video.

If this course is one of your five classes, then your class currently isn't in session.

If you want to watch this video and it is not part of your class, upgrade your membership for unlimited access to the full library of 2,025 courses anytime, anywhere.

learn more upgrade

You can always watch the free content included in every course.

Questions? Call Customer Service at 1 1 (888) 335-9632 or email cs@lynda.com.

You don't have access to this video.

You're logged in as an account administrator, but your membership is no longer active. You can still access reports and account information.

To reactivate your account, contact a Training Solutions Advisor at 1 1 (888) 335-9632.

Need help accessing this video?

You can't access this video from your master administrator account.

Call Customer Service at 1 1 (888) 335-9632 or email cs@lynda.com for help accessing this video.

preview image of new course page

Try our new course pages

Explore our redesigned course pages, and tell us about your experience.

If you want to switch back to the old view, change your site preferences from the my account menu.

Try the new pages No, thanks

site feedback

Thanks for signing up.

We’ll send you a confirmation email shortly.


By signing up, you’ll receive about four emails per month, including

We’ll only use your email address to send you these mailings.

Here’s our privacy policy with more details about how we handle your information.

Keep up with news, tips, and latest courses with emails from lynda.com.

By signing up, you’ll receive about four emails per month, including

We’ll only use your email address to send you these mailings.

Here’s our privacy policy with more details about how we handle your information.

   
submit Lightbox submit clicked