Cartoon Robots

Animation Master Character Rigging Basics (Part 1)

Section 15: Checking your work in an Action window

We finished the geometry bone set-up for the right leg!  If you are a little like me when it comes to rigging then you might want to see what our work is amounting to so far.

Let’s check to make sure our bones work as expected at this point.
We’ll also introduce ourselves briefly to the concepts of Inverse Kinematics and Forward Kinematics.

New Action window In our new Action window we can see the leg bones that we created earlier.

Alright, create a new action using our robot as the referenced model.

The new action will show us the model with its bones visible.

Let’s play around with the hip bone here to see what happens.


Rotated the hip bone. Rotating the hip moves its children bones and associated geometry as expected.

I’ve rotated the just hip bone here.

Based on what we have learned about bone hierarchy the children bones are following along predictably.

If something like this happened after you moved the hip bone, then it means that you missed assigning some CPs to the appropriate bones.

If parts of you leg look like it’s stretching when you move the bones, it mean that one or more CPs were not assigned to a corresponding bone.

In that case, go back to the Modeling window in Bones Mode and check for CPs in the offending area that are still assigned to the Default Bone. (You may need to switch to wire frame view to see for certain)

When you find the CPs assign them to the proper bone(s) then check the results in the Action window.

If we only moved the thigh bone here then why did its children bones rotate unexpectedly?

Let’s reset the hip bone position by Right-Clicking over the Action window and selecting “Clear”.

There is also an “Action” menu bar option that you can select and choose “Clear” from the menu. (The menu bar option only appears when an Action window is currently selected)

Now, try moving just the thigh bone around some.  Rotate it around in a few different directions back and forth…

…Ouch!  It looks like that hurts.

What’s going on here?

Since we only moved the thigh bone why did its children also do some gnarly unexpected rotations?

When we moved the hips everything was fine.

The bone hierarchy is as we want it so what is going on?

Don’t worry.  There is nothing wrong here we simply need to make a change to a setting on all of the bones in this branch that are attached to each other.

But first, I’ll briefly explain what is happening here first so that we can understand before moving ahead.

IK chain in action. To demonstrate the IK chain concept I pulled the toe away from the body and the rest of the IK chain followed but the leg stays attached to the body. The hip bone is not affected by this at all because it is not attached to the IK chain.

The reason why the leg is behaving this way is because when we attached all of the bones below the hip to each other in the Modeling window, we created what is is called an Inverse Kinematic (IK) chain or branch.

In order to have an IK chain, two or more bones have to be attached to each other to form that chain.

IK? Gosh, that sounds complicated…  is it?

Heck no!  It’s just a fancy term. Read on…

Inverse Kinematics, at its base level, is when any bone in a an IK chain can directly affect the position of other bones in the same IK chain.

It’s somewhat like pulling a rope lying on the ground, no matter where you pull it from the rest will react to you pulling it.

This occurs regardless of the parent-child relationship in the hierarchy.

Try it out in the Action window now by pulling the toe bone, the lowest bone in the IK chain’s hierarchy, away from the body.

You’ll see that this action extends the the leg out completely.

Notice that you can’t pull the leg off of the body though.  That is because you are only changing the rotational values of the bones in the chain and not the translation ones.

So for that reason, even though it can be rotated, the thigh (the topmost parent in the chain) can’t be translated via IK manipulation of its children.

This particular IK chain is quite untamed and not really suitable for for much manipulation right now but this can be fixed later on in the rigging process.

Right now we are still building the geometry bone rig and using the Action window as an aid to tweak any issues that we may run into.

Using this raw form of IK right now is not the way we should be doing this since it is too hard to control right now.

So, what we can do right now is to make this leg chain behave as a Forward Kinematic chain.

Forward Kinematics (FK) is a much simpler form of control for bones. In an FK chain, the parent bone has direct control of its child bones but the children have no influence at all on its parent bone.

We are going to make this chain behave as an FK chain but, first, reset your bones in the Action window to make things as neat as they were when we first started.

In addition to using the “Clear” option from the Action menu bar, another way to do this is to enable the Key Model button Key Model icon in your Frame toolbar and then click the Delete Keyframe button Delete Keyframe icon which is also in the Frames toolbar.

Go to the actual model file in the PWS and select just the bones that make up the leg branch.

Now we will make this leg chain act as an FK leg chain.

There are two methods that we can use to do this.

We can do this in the Action window or we can do it to the Model file itself.

I want the change to be saved with the model file so I’ll make the change to the model file.

Go to the actual model file in the PWS and select just the bones the make up the leg branch.

You can do this one bone at a time or as an entire branch.

With the branch still selected, check the Properties window and find the “Lock IK” setting.

I’ll do the entire branch at once.

With the branch still selected, check the Properties window and find the “Lock IK” setting.

Switch the “Lock IK” setting to “ON”.

Once that is done the entire branch will behave as an FK chain.

Switch the “Lock IK” setting to “ON”.

If you wanted to do this in the Action window you could use the Lock Bone button Lock icon to switch IK on and off


Here is a close-up of the knee. The “X” in the bone’s joint indicates that “Lock IK” is switched on for that bone. If “Lock IK” was switched on in the model itself then you will find the same “X”s in the Modeling window Bones Mode.

If you go back to your action window you can interact with the bones to see how differently they behave now.

You should also notice that a small “X” shape is now present in each bone joint of the leg chain.

Now the leg chain is behaving like a true FK chain.  This will make testing our set up so far much easier.

What you should do at this point is pose the leg in the action window and pay attention to how the rotation of each part of the leg looks (One bone at a time).

If anything looks a little strange then go back to the Model window in Bones Mode and adjust the bone in a way that you think will fix the issue.

Then, go back to the Action window and refresh the window (press the Space bar) to see if the adjustment  helped correct the problem.

If it does not then go back to the modeling window and tweak the bone again.

It may help you during this process if you have the Model and Action windows both opened at the same time and tiled vertically or horizontally while tweaking your bones.

What I am doing here at this point is posing the leg and paying specific attention to how each joint looks on the model during rotation. If something looks a bit off I will adjust the bone in question in the Model window then I’ll check the action window to see the effect of the adjustment.

Take as long as you need to get comfortable with this tweak workflow.

We’ll want to make sure that we are satisfied with our set up here because in the next step we are going to copy this set-up and mirror it for the left leg and we don’t want to mirror a faulty set up.







Next: Section 16: Using the MirrorBone Plug-in

Leave a Reply

Your email address will not be published. Required fields are marked *