- [Instructor] In this lesson, we're going to be building controls for the character's front legs. And we're going to tackle most of that using a type of control called an IK Solver, but first I want to add one more FK, Forward Kinematics control. It's just like the ones that we've done for the character's head and neck. For the character's shoulder area, I really wanna make sure the animator has maximum control of movement, especially since this character is small and kinda compact and also cartoony.
So in reality, an animal like this probably would not be able to shift this area too much, but I'm going to add a control in this area just to make sure that the animator has the ability to pose the leg with a lot of freedom. So I've just got another control with an offset. This is set up exactly the same way as I've handled the ears, head, and neck, and I'm just going to connect this control to the appropriate joint. In this case, I'm actually going to use a constraint that will connect the position and rotation of the joint to the controller.
I'll just choose Constrain, Parent, and it'll make the connection so that I can move the entire leg around and also rotate it. We're gonna have to handle the controls for the feet a little bit differently, though. FK controls are great for certain types of actions. They create nice, organic arcs, and they can convey the sense of overlap in animation really effectively, but they are not useful for pinning down portion of the character, and the legs of a character definitely need to be planted and not slip on the ground as the character is animated in a walk cycle.
So for these elements, we're going to create a different kind of control called an IK control. IK is just the opposite of an FK control. IK is an Inverse Kinematics control, which prioritizes the position of a child object over the rotation values of the parent in the hierarchy. Let me show a quick example. I'll switch to the side view, and create a joint chain. So a joint chain, by default, has FK behavior.
But if we add an IK handle to this joint chain, and I'll talk about doing this in detail in just a second, you can see that the rotation of the top two joints is now being controlled and driven entirely by the position of the child joint. So the child joint is the priority object and the parent joints are receiving their rotation based on that movement. So this is exactly the sort of controller we need to lock down the legs for this character.
And these types of controllers are also very useful for certain animations for hands as well, when the character needs to plant on a surface, so they definitely come up a lot in the rigging process. So I'm gonna switch back to the perspective view and we'll create some IK controls for this character's leg. We'll go to the Skeleton menu, and choose IK Handle Tool options, and I'm going to choose the Rotate-Plane Solver option. The Rotate-Plane Solver is great for this sort of arrangement because it's going to allow us to orient the elbow or sort of front knee of this character.
To create an IK Handle, we're going to click on the front shoulder and then click again at the upper part of this character's paw, which is really sort of the equivalent of the location of a human wrist, so shoulder, elbow, wrist area is what we're working with right now. The IK Handle creates a crosshair and this can be selected and moved and it works immediately to modify the rotation of the parent joints.
So this is working pretty well, but the foot is now rotating with the rest of the leg, so it's not really, and we have a lot of different joints in this part of the character's foot, and generally speaking, if you're having a hard time seeing joints in your Maya display, you can go to the Display menu and choose the Animation and Joint Size menu, and from here you can actually adjust the display size of the joints to better fit with the scale of your model. All right, and I'm also gonna actually hide the toes of the character for this part of the exercise, because we really don't need them as we continue developing the foot control.
So to stabilize this region of the foot, we're going to create more IK Handles. We'll go to Skeleton, IK Handle Tool options. This time I'm going to use the Single-Chain Solver. Single-Chain Solvers are great when you're just dealing with a single joint, and this joint's orientation is going to be fine with its default orientation. So we'll click here at the top of the foot, and again at the midpoint on the foot, and then I'm going to activate that tool once more and go from the base of the toe to the tip of the toe.
So we're gonna end up with three IK Handles total. One for the leg, this'll be the right front leg IK, and then one for the base of the foot, and I'm trying to name this consistently with what I've already created for the other leg, so this'll be the right front foot IK, and then one for the toes, this will be the right front toes IK. And if we move all three of these IK Handles together, we're gonna have stable foot behavior.
I'm gonna make sure that my move tool is set to world, so that I can move all these using the world orientation. And you can see that the foot movement is stable and the foot remains parallel to the ground plane, which is exactly what we want. So the animator wouldn't want to be accessing these IK controls. They're actually filled with a lot of attributes with unusual values and they shouldn't be modified anyway. So we're gonna hide this from the animator by selecting these IK Handles and parenting them to the front foot control, just by Shift selecting the front foot control and hitting P.
If we look at this in the Outliner, we'll see that all three of our IK Handles have been positioned under the front foot control. So now I can lift up the leg just by grabbing this controller. So next we're going to create a similar set up for the back legs, and later on we'll create sub foot pivots to allow for weight shifting on all four feet.
- Creating the skeleton
- Rigging the head, ears, and front and hind legs
- Working with expressions
- Adding extended twist functionality
- Creating an FK/IK tail
- Making the rig scalable
- Binding the mesh to the skeleton and painting skin