<%@LANGUAGE="JAVASCRIPT" CODEPAGE="1252"%> MAXTD - MAX, TD, Character Rigging
 

SKELETAL DESIGN

OK. Let's talk a bit about the whole skeletal design. Fist, as I stated before, this skeleton is designed for a great range of motion and very versatile expressions. The thing is to allow the animator to fully express the character's 'character' and to develop a story using that as a weapon, not a hindrance, which is what happens when a character is badly rigged. So, let's take a look at it.


This is the whole skeleton inside the character (the mesh is shown in see-through mode for easier viewing). As you can see, there are not a lot of bones, nor is it too complicated. The complicated part will come when controls are added to it. I've got one chain in each leg, going from the hip to the ankle, another in each foot going from the ankle to the toes, and one box as a 'hip' joint. I use this one to balance vertex weighting at the waist area when skinning (perhaps the most difficult area to skin properly), and to create some hip motion when my character walks/moves. There's another chain at each arm, going from the shoulders to the hands. There might seem there's a chain for the spine going from the hips to the collarbones, but in fact those are three independent chains. Why? Because the spine is animated using forward kinematics and expressions, not inverse kinematics. This way, setting up the chain is very easy, and animating it is easier. You almost never want IK in the spine. This takes away a lot of control from your hands. Ok. There's one single-bone chain at the collarbones, and there's one chain for the neck. Here we can't see it, but there's another box-like bone at the collarbones, on top of the last spine bone, that serves as a 'connecting link' for the three chains meeting there. We'll go into that in a minute. Now, let's take a look at each section separately. (NOTE: All bone chains use the new IK controller unless otherwise noted).

ARMS AND HANDS

Let's take a closer look at the arms first. Here's how they look like from the top.



Here's a front view.



As you can see, I tend to place bones in positions very similar to the positions of our actual bones. The chain begins at the shoulder, a bit higher to the mesh. This is because the way skin handles deformations. This position gave me the best deformations I found. The arm bone goes a bit lower into the middle of the mesh at the elbow area, but it's also going into the back of the arm mesh. Same reason. The forearm bone goes into the wrist area, and as you see, there we have an additional bone starting. It's a special bone I use to animate the wrist. Since rotating the wrist for Astro would deform the gloves in an ugly way, I created this additional bone to skin the glove mesh to this bone instead of a long forearm bone. Therefore, when I rotate this bone, the wrist rotates, but the glove mesh remains undeformed. (Please note: I might talk in singular for simplicity, but every step explained here applies also to the opposite side of the character).

As for the hans, I used boxes because they gave me a better visual reference for animation. That way, I can hide the actual meshes from view and animate with the bones visible only, and still get a lot of visual feedback on actual mesh position and intersections. If you like, you can also use bones in the hand and fingers. Just make sure you use no IK controller for the chains. Hands are animated using FK.

That pretty much covers the arms. Let's move on to the legs.

LEGS AND FEET

Let's take a look to the front and side views of the leg chains.

As you can see, the chains are created using the same concept of 'real-world-bone-positions' used for the arms. The chain starts at the hips, but if you take a closer look, there's a very small bone on top of the chain, colored in red. The reason for it is that I was going to use that bone to drive the chain's Z rotations, before I wrote my scripted spline helper objects. However, I chose to leave it there for visual reference. It's colored in red because it assigned it as a terminator to prevent any unwanted rotations up to where the real leg bones start. The leg bones are pretty strightforward. Where thay end (at the ankle), the feet bones start. The feet bones are just two bones (three if you count the root of the chain). The chain begins at the ankle, goes to the ball of the foot, and ends at the toes. Remember, these are two separate chains, and should be created accordingly.

TORSO

Here are the torso chains.



As you can see, we've got three chains. The first one goes from the box-like hip bone into the first 1/3 of the torso. The second goes from there to the second 1/3 of the torso, and the last one goes from there to the base of the neck. THESE CHAINS DO NOT USE THE IK CONTROLLER. They use standard transformation controllers. When creating them, avoid creating them one after another in their correct positions, since MAX will link them all together when it detects they overlap. Create them elswhere and move them into position.

At the end of the chain, you can see two bones going from the base of the neck into the shoulder bones. These are also separate chains, and are used to move the shoulders up and down (a very important movement for a tooney character). And lastly, there's one chain for the neck. Since my character will use his helmet at all times, he's got no face, hence no need for facial bones.

GOT EVERYTHING?

That covers up most of the skeleton drawing phase. I should note that when creating skeletons, you only need to match their positions relatively. After it's been created, you can move each joint carefully into position. Be careful of this, because after you set the final position of each joint, its rotations are zeroed, which has a direct influence over rotational limits and forward kinematics rotational values.



©Sergio Muciño. maxTD 2000.

[Continue with part 3]

smucino@maxtd.com