%@LANGUAGE="JAVASCRIPT" CODEPAGE="1252"%>
![]() |
![]() |
||
|
Hi there! Welcome to the rigging101 tutorial! I decided to post this one because I've noticed there are a lot of novice users who have a hard time trying to learn rigging (I had one!!). So, here it is. I hope this tut will get you up and running with character rigging, so you can start rigging your own models, and then move on to the heavy stuff... nuff said!! (NOTE: Even though this is a tutorial aimed at begginers, I still assume you have working knowledge of all of max's basic transform and manipulation tools, and that you have a basic working knowledge of hierarchies, node creation and modification, etc. I won't stop exlpaining these. If you still have problems following this tutorial, I'd suggest doing the tutorials that ship with your copy of the software first, and moving on to this tut afterwards. Enjoy!) WHAT YOU'LL NEED Ok. Go get some paper, glue, scissors... oops! Wrong tut... umm... ah, yes! You'll need a ready character! Since I haven't had much time, I'll just borrow one from the installation CD that you have (because yo DO have one, RIGHT???!!). Here's a pic of the model I'll use... our friend Alfred, the alien (I just gave him that name... I'm not sure who created him and what name he had for him).
Fig 1. The model. So... go get your model and bring it into max, so we can get started. PREPPING THE SCENE Ok. Let's get some work done before tackling the rigging part. Bring up your layers toolbar, and create 4 layers... Model, Bones, IK Helpers, and Hierarchy Helpers. We'll use these layers to keep everything tidy and organized (if you're still under R4 and have no layers, use RezN8's super-handy layer script "Layer Manager" (dig for it at Scriptspot), or just use selection sets as needed).
Fig 2. Our layers. Now, place the mesh in the "Model" layer. Open the layer properties panel, and freeze it, turn on see-through, and turn off show frozen in gray. Also, you may need to set your transparency viewport settings to "best".
Fig 3. Mesh layer properties. Ok. We're ready to start building a skeleton for our friend here. THE SKELETON Let's first create some bones for our friend. This is the first step when rigging a character... creating the bones AND making sure they're correctly oriented. THE
SPINE
Fig 4. Spine bones chain. THE
ARMS
Fig 5. Arms. THE
HANDS
Fig 6. Fingers. To create the hand bones, select the arm terminator (nub) bone (the small one at the end of the chain), and from the bone tools menu (go to the Character menu, and open the Bone Tools floater), turn on Connect Bones... a dashed line will appear... select the root bone for one of the fingers. A bone will be created in between them, and will be automatically set as the parent for the finger root bone. Check it's orientation. If you need to adjust it (very likely), unlink the finger root bone before doing so, rotate the hand bone, and relink. Here's what the connection bone (hand bone) looks like once you'ce completed the operation...
Fig 7. Hand bone. Repeat for the other fingers.
Fig 8. Finished hands. THE
LEGS
Fig 9. Legs. THE
FEET
Fig 10. Feet. You'll notice that this model required an extra set of special bones for the heels (these will be used for skinning purposes)... this is not required for most characters. Feel free to experiment with different models and see how you arrive at an efficient boning solution. HIPS
AND TAIL
Fig 11. Hips and tail. NECK,
HEAD AND JAW.
Fig 12. Neck, head and jaw. CLAVICLES
Fig 13. Clavicles. FINISHED SKELETON Here's how your finished skeleton should look like now. Take a look at yours and see you're not missing anything. We'll proceed to applying IK solvers, and some special controls.
Fig 14. Finished skeleton. ABOUT IK IK,
short for Inverse Kinematics, is the way to go to animate characters.
It lacks some of the control provided by Forward Kinematics solutions,
but it's much faster to use and has some great advantages of FK. One of
the most important is that, since the IK solver is an object outside of
the hierarchy, it can be used to anchor the IK-driven chain to another
object. Imagine you needed to animate a character doing pushups... doing
so with FK could turn into a nightmare, because the main animation would
come from rotation the spine and hips, and keeping the feet and hands
at the exact same spot in the floor throughout the whole animation. Most
people did this in the past using a pen marker to mark on their monitors
where the hands and feet were located, and rotating them using FK every
keyframe (not every frame! although it could happen...). And even if you
were extremely careful, some sliding was sometimes unavoidable. APPLYING IK SOLVERS Ok...
we're gonna need four IK solvers here... one for each arm, and one for
each leg. Let's ge one thing straight from the beginning... you DO NOT
use IK to animate fingers or necks/spines. I can think of a couple of
situations where I can think of using IK for fingers, but these are extremely
rare and IK should NOT be incorporated into standard rigs at these areas.
Anyway, here goes... This is what you should en up with...
Fig 15. IK solvers with resized goals Ok. We've got IK solvers on out character. However, we'll need some extra controls to help us animate the character properly and in a easier fashion. ARM CONTROLS We'll
need some controls to help us animate the arms and hands properly. I'll
just go through the process for one arm, and you can do the other arm
when you're done.
Fig 16. Arm control object Now, create another point object, and align it to the nub bone again, but this time align both its position AND orientation. Set the display properties to show the Axis tripod only. Size it so it's easily selectable. Now, link it to the arms forearm bone (Bone_forearmRT). Now, link every bone in the hand chains to this helper (these would be the bones that were created by connecting the fingers to the nub, remember?). Here are the bones you should link to this helper...
Fig 17. Hand bones to be linked Once they're linked, select again the helper you just created and name it HandControlRT. Go to the Link Info section if the HIerarchy panel, and turn off ALL the rotation Inherit switches. This will keep the hand locked to "world space" instead of "local space". It means it will prevent sliding and rotating when the hand should be locked to the world. The downside is you'll need to animate the rotations whenever the character moves its arm so the hand keeps with it, but it's just a minor issued compared to keeping the hand locked to other objects. Now, create another point object, and align it to the shoulder (Bone_armRT). Move it backwards to the back of the character. Name it ArmSwivel_RT, and link it to the topmost bone in the spine (Bone_spine04). This node will help us aim the elbow. Select the IK chain's goal, go to the motion panel, and in the IK solver properties rollout, click on the "Pick Target" button under IK Solver Plane, and select this point object. This will orient the chain so that the elbow faces towards this node. We linked the point object to the spine so that when the character bends his spine, the arm keeps its orientation relative to the spine. If you'd rather have the elbow's orientation locked to something else, you can link this point object to something outside the spine hierarchy, such as the COM we'll create later (I like it the way it is now).
Fig 18. Swivel angle helper Lastly, let's create a helper to aid us in rotating the clavicle in an easier way. Create a point object and align it to the clavicle in both position and orientation. Name it ClavicleControlRT. Link it to the Spine04 bone. Now, linke the clavicle bone to it. That's it. If you rotate it, the clavicle should rotate, and the arm should follow. Here it is...
Fig 19. Clavicle control That does it for the arm... let's move onto the legs. First, create another point object and align it to the IK chain's goal. We'll use this object just like the one we created for the arm... to animate the leg. You'll usually want these objects, since it's very rare to animate the goal directly. Name the point object LegControlRT. Link the IK chain's goal to it. If you move it, the leg should follow now.
Fig 20. Leg Control Create another point object, and set its display properties to show the axis tripod only. Align it to the leg's nub bone in both position and orientation. Name it FootControlRT. Link it to the calf bone (Bone_calfRT). Now, link both feet root bones (we usually have one only, but remember we had to create a 'special' chain for the heel of the foot) to this helper. You may turn off rotation inhertinaces for this one, depending on what you need this character do. We're done. This node is used to rotate the feet.
Fig 21. Foot Control Now, let's add another helper to aid us in controling the rotation plane for the leg's IK solver (or, in other words, aim the knee). Create another point object, and align it to the thigh bone's root (Bone_legRT). Now, move it forward to the front of the character. Name it LegSwivel_RT. Link this node to the hips bone (Bone_hips). This will keep knee orientation relative to the hips rotation. Now, select the IK chain's goal and go to the motion panel. Click on the Pick Target button under IK Solver Plane in the IK Solver Properties rollout, and pick this object. Now the knee will always aim towards this node.
Fig 22. Leg swivel angle control The legs and arms are rigged now. Let's move on to the rest of the character... NOTE: Remember that this is a basic rig tutorial. The rig we just did is quite incomplete. You'll find that the feet lack controls that will enable the character to walk. You can still make him walk by rotating the foot bones by hand with FK, which can be a bit cumbersome, and you'll need to keep an eye on sliding, but it's doable. A working foot rig will take care of these problems by itself. You can try adding some controls to these feet on your own, or move on to my advanced tutorials, where I cover foot rigging techniques. Ok. Create a circle primitive, convert it to an editable spline, and align it to the hip bone in both position and rotation. It's very likely it'll be rotated the wrong way. Go into spline sub-object mode, and rotate the spline so that it ends up aligned to the spine. Exit spline sub-object mode. Now, link the hip bone to this spline, and name it HipsControl.
Fig 23. Hips control Create a big point object, and set its display properties to box. Name it COM (short for Center of Mass). Align it to the spine root (Bone_spine01) in both position and rotation. Now, select the following nodes: *
Bone_spine01 and
link them to this new point object.
Fig 24. COM Create another circle primitive, and align it to the COM in both position and orientation. If it ends up oriented in the wrong way (left to right instead of top to bottom), go into sub-object mode, select the spline, and rotate it. Now, move it to the bottom of the character, where its feet are. Scale it (in sub-object mode) so you can see it and select it easily. Now, select the following nodes: *
COM and link them to this object. Name this circle "Character" or whatever name you deem proper for this guys. If you move it, the WHOLE character should move. This way, you can move this character through the scene or make him jump or fly easily.
Fig 25. Character helper And there it is... the finished rig...
Fig 26. Finished rig
Copyright 2003, Sergio Mucino. maxTD.
|
|||