Character Rigging

25 Oct 2010

Character riggingThis is the fourth tutorial in my four part series dealing with character animation. These tutorials are targeted for beginners wanting to learn the basics of modeling, uvw mapping, texturing, rigging, and creating a cute 3d monster. In this fourth part we’re dealing with character rigging. You’ll learn the basics of using the Morpher and Skin modifiers to manipulate and deform a simple character. Character rigging can be a tough subject for beginners but I’ll do my best to keep things as simple as possible. I’m using 3ds Max 2011.

Step 1 What is Character Rigging?

In 3d animation, character rigging means the process of preparing the character for animation. The idea is to use special helper objects and modifiers to prepare a set of tools that make the animating process as easy as possible. We’re going to rig the character by using the Morpher modifier for the facial animation and the Skin modifier (in conjunction with bones) for the rest of the body. In the picture below you see a character pose you can be easily do after completing this tutorial.

Character rigging in 3ds Max

Step 2 Facial Animation and Morpher

The Morpher modifier is commonly used for lip sync and facial animation. The Morpher modifier deforms the original object according to predefined target objects. The biggest task is the creation of the target objects ( morph targets ). The modifier itself is really simple to use.

Step 3 Creating Morph Targets

Let’s create the morph targets for our character:

  1. Go to the front viewport and clone the monster ( Press and hold SHIFT in keyboard and move the monster ). Make sure you make a normal copy ( not instance or reference). From now on we work on the copy.
  2. Remove Turbosmooth and both Unwrap UVW modifiers from the copy.
  3. Go to the Editable Poly or Edit Poly modifier ( Make a selection > Modify panel ) below the Symmetry modifier and activate the vertex sub-object level.
  4. Create a new facial expression like in picture below by moving vertices. You can freely move vertices around but make sure the vertex count stays the same at all times. If you add or remove even one vertex, it won’t work with the Morpher modifier ( Tip: Consider activating the polygon sub-object level and hiding part of the model to make it easier to select vertices around the mouth. If you hide the back of the model you don’t have to worry about accidentally selecting vertices there. )
  5. Give appropriate name for your morph target such as ‘mouth afraid’.

Morph target for facial animation

Now we have one morph target and that’s enough for the sake of this tutorial. If you are about to create some serious facial animation, you need more morph targets. Just create more copies from the original and create expressions like smile, amazement, blinking eyes and so on. It’s often a good idea to create separate targets for eyes and mouth and separate targets for the left and right side (like wink) as well to have maximum control over the expressions. The Morpher modifier lets you combine the expressions of several different morph targets.

Step 4 Using the Morpher Modifier to Animate Facial Expressions

Now select the original monster model and try the Morpher modifier:

  1. Apply the Morpher modifier ( Make a selection > Modify panel > Modifier List > Object-Space Modifiers > Morpher ) and move it just below the Turbosmooth modifier.
  2. Go to the ‘Channel List’ rollout and right-click on the first ‘- empty -’ slot.
  3. Click on ‘Pick from Scene’ and then on the morph target (mouth afraid). Now the first morph channel is activated. Just use the spinner to morph between the original model and the morph target. If you modify the morph target, remember to reload it by clicking on ‘Reload All Morph Targets’ button.

Morpher modifier in character rigging

Tip: Turn ‘Use Limits’ off in the ‘Global Parameters’ rollout to go beyond the 0-100 range. Try for example negative values to get some interesting ( and maybe even useful ) results. Remember also that channel percentages can be mixed when you have multiple morph targets.

Step 5 Creating Bones for the Character Rig

While the Morpher modifier controls the facial expressions, the bones control the rest of the body. Let’s create the skeleton:

  • Turn the Turbosmooth modifier off ( to see the bones better )
  • Go to the front viewport and create three bones from top to bottom like in picture below ( Create panel > Systems > Bones ). When you have created three bones, just right-click to end the bone creation. Exiting the bone creation mode creates a small nub bone at the end of the chain, which will be used later with IK ( inverse kinematics ).

Now we have four bones that are linked to each other. The first bone is the parent of the second, the second is the parent of the third, and so on. If you move the first bone the whole chain follows. You can also double click on the parent to select it and all its children.

Leg bones in a character rig

Next we’re going to create bones for the spine and the head:

  • Create two new bones like in picture below. We’re not going to assign IK to the head and spine so delete the nub bone. Leave a little gap between the spine bone and first bone of the leg. ( We leave the gap to avoid linking the two bones in question. If we started creating the bones by clicking on an existing bone, they would be automatically linked.)

Spine bones in a rig

Open Bone Tools ( Animation > Bone Tools… ), activate the ‘Bone Edit Mode’ and move the spine bone to meet the first bone of the leg like in picture below. Close the Bone Tools.

Using Bone Tools to scale bones

Next we’ll create the arm bones. This time we want to link the arm bones to the spine so start creating the bones by clicking on the spine bone. Create four bones ( plus the nub bone) for the left arm like in picture below.

Arm bones in a character rig

Now we have all the bones we need and we just have to fit them inside the character. Go to the left viewport, select all the bones and move them to the center of the character. Rotate the bones like in picture below. Notice how the knee bends. We bend the bones now to make them work better with IK.

I wasn’t really sure how I should rig this weird monster character so I did the leg bones pretty much like I would for a human-like character (except for the fact that there is only one leg). You can also create two “legs” inside the monster if you want to make it “walk”. It all depends on how you want your character to move. Does it move by flying, jumping, crawling, walking, or by all these means?

Bones in 3ds Max

Go to the top viewport and rotate the arm bones so that they fit inside the character. Make sure the arm bends a little.

Aligning bones in 3ds Max

Select the whole arm by double clicking on the clavicle bone (the bone between the spine and the arm). Use the mirror tool ( The main toolbar > Mirror ) to make a mirrored copy of the arm ( make sure to make a standard copy, not instance or reference ). Position the new bones like in picture below.

Mirrored arm bones

We still have to link the right arm to the spine:

  1. Go to the front viewport
  2. Activate ‘Select and Link’ ( The main toolbar > Select and Link )
  3. Click and hold on right clavicle bone. Drag and release on top of the spine bone. ( To check that the linking was successful, select only the spine bone and try moving it. Both arms should follow. Undo the move. )

Linking bones

Now the skeleton is complete, but let’s create one more helper object to serve as a master that is used to move the whole skeleton. Create a dummy ( Create panel > Helpers > Dummy ) and position it exactly where the spine bone and the first leg bone meets. Check the position in both the left and front viewports.

Use the ‘Select and Link’ tool ( The main toolbar > Select and Link ) to link the spine bone and the first leg bone to the dummy. Now if you move the dummy, the whole skeleton should follow. Try this to make sure everything is ok and finally undo the move.

As a final step, link the eyes ( if you have them ) to the head bone. Now the eyes stay in place whenever the character moves.

Complete character rig

Step 6 Inverse Kinematics (IK)

Now the skeleton is complete and we go on with inverse kinematics. Inverse kinematics if often assigned in the character rigging process, especially for the legs. Let’s assign inverse kinematics to enhance our rig:

  1. Select the character, right-click on it, and click ‘Hide Selection’ in the menu. ( we hide the character to see the bones better )
  2. Go to the left viewport, select the first leg bone, activate HI solver ( Animation > IK Solvers> HI Solver ), and click on the nub bone of the leg. Now IK has been assigned to the leg and there is a new blue helper object in the end of the IK chain. The helper object is often called IK handle and is used to control the movement of the whole chain. Try to move it to see how it works ( undo the move afterwards ).

Assigning inverse kinematics to the leg

Next go to the front viewport and assign IK also for both arms. Make the IK chain from the first bone of the arm to the nub bone ( Don’t touch the clavicle bone ). Test how the arms work. They should work well in the top viewport.

IK HI solver in arm

Now all the IK solvers have been created. At the moment you can’t rotate individual bones in the IK chain. To be able to do that, select the IK handle, go to the motion panel, and click ‘Enabled’ in the IK Solver rollout. This is the on/off switch for inverse kinematics for the selected IK chain. This button can also be animated so the animator can easily switch between inverse kinematics and forward kinematics ( just rotating the bones in the chain) while animating the character. Leave it on for now.

As a final thing, try to move the green dummy to see how the character responds when inverse kinematics is in use ( undo afterwards ).

Step 7 Rotational Joint Limits

Next we’re going to enhance the rig even further to limit the rotational movement of the bones:

  1. Go to the left viewport and select the first leg bone
  2. Go to the Hierarchy panel and activate the ‘IK’ tab
  3. Go to the ‘Rotational Joint’ rollout.
  4. Deactivate the X Axis
  5. Deactivate the Z Axis
  6. Y Axis > To: 240
  7. Y Axis > From: 140( If these values don’t work in your case, try something different. Just click and hold on top of a spinner and move the mouse to easily try different values. The idea is to limit the bone’s movement without forcing it away from its original position. ‘Preferred’ should be between ‘From’ and ‘To’.)
  8. Y Axis > Limited: Yes
  9. Repeat steps 4-8 for the second leg bone, but use values: From: 0 To: 90
  10. Repeat steps 4-8 for the third leg bone, but use values: From: -140 To: -70

Now the leg bones can rotate only along Y axis and within limited range. Try to move the leg with the IK handle to see the difference. Now It’s up to you whether you want to set the limits for the arms as well or not. You might want to come back to this step after the skinning process to see the movement of the character while trying out different values.

Adjusting rotational joints

Step 8 Character Skinning / Vertex Weighting in 3ds Max

Character skinning is the process where we define how the model responds to the movement of the bones. We’ll use the Skin modifier for that purpose. Let’s unhide the character ( Right-click on the viewport and select ‘Unhide all’ from the menu ) and go on with the skinning process:

  1. Apply the Skin modifier on top the Morpher modifier ( Make a selection > Modify panel > Modifier List > Object-Space Modifiers > Skin )
  2. In the Skin modifier in the Parameters rollout, click ‘Add’, Select all the bones except for the nub bones, and click ‘Select’. Now the bones deform the character but it’s not pretty.
  3. Now is a good time to turn the Turbosmooth modifier back on to see how the final surface deforms.( Sometimes Turbosmooth gets messed up while working on the Skin. If this happens, just remove it and apply it again. )
  4. Activate the Envelope sub-object level.
  5. Select the head bone in either the viewport or in the bones list.( on envelope sub-object level we deal with envelopes. Each bone has a capsule-shaped envelope and each envelope has an inner and an outer bound. The shape and size of the envelope determines which and how vertices are affected when the bone moves. The influence of the bone is strongest inside the inner bound and it falls of as it approaches the outer bound. )
  6. Select the outer bound of the envelope at the top of the bone.
  7. Change the radius of the envelope bound to 85 either by moving it or by inserting the value with keyboard( This is not exact value. The suitable value depends on the size of your character. Just look at the picture below to size the envelope correctly ).
  8. Select the outer bound of the bottom of the bone and give it the same radius. ( The idea is to make the outer bounds of the envelopes so big that the whole width of the character falls inside of it ).

Vertex weighting

Let’s repeat the process and apply appropriate radius values for the rest of the bones ( Keep in mind that these are not exact values. Suitable values depend on the size of your character. Just look at the picture below to size the envelopes correctly ). Make sure you change only the radius values of the outer bounds. ( In my experience you can often get good results by adjusting only the outer bounds ):

  • All the leg bones, the spine bone, and the head bone: Radius: 85
  • Clavicle bones ( the bone between the spine and arm): Radius: 19
  • All arm bones except for the armpit/shoulder area: Radius: 40
  • Armpit/shoulder area: Radius: 19

Bone envelopes in the Skin modifier

Now the skinning/vertex weighting process is done. Deactivate the envelope sub-object level and try to rotate each bone to see how the character deforms. Try also the IK handles and the master dummy. I recommend undoing all the rotations afterwards to keep the neutral pose.

Step 9 Character Rigging Tip: Weighting Vertices Manually

This is an optional step. Just some theory and tips. If you are lucky you can get pretty good results just by adjusting the envelopes sizes, but there is often a need to fine tune the behavior of individual vertices as well. To weight vertices manually:

  1. Turn Turbosmooth off ( to make selecting vertices easier )
  2. Turn ‘Vertices’ on ( Skin > Parameters > Vertices )
  3. Now you can select vertices on your character so select the vertices you would like to adjust ( selected vertices are indicated by white small surrounding boxes )
  4. Select the bone ( either in the viewport or in the bones list ) for which you want to change the vertex weights
  5. Adjust the the ‘Abs. Effect’ value ( Skin > Weight Properties ) to set the new vertex weight

( The weight value of a vertex (Abs. Effect) always amounts to 1.0. This value can be divided between several bones. For example, vertex’s weight could be 0.7 for bone-1 and 0.3 for bone-2. In that case the bone-1 would have much higher influence on the vertex. In other words, the vertex would follow the movement of bone-1 much more than it would the movement of bone-2. )

Tip: The weighting/skinning process can be made easier by animating the bones. Just animate some natural bone movements. At first, the character will look ugly and distorted but keep in mind that as long as you keep the neutral pose in keyframe 0, nothing will break. You can always reverse everything by going to frame 0 and removing all the keyframes. The benefit of the animations is remarkable. You can see the deforming character while working on envelopes just by moving back and forth on the timeline.

Character animation

That’s my take on character rigging. Let’s continue in the comments! In case you’re wondering, I made the light and glow effects in Photoshop.

Click to share if you like it!

115 Responses to “Character Rigging”

« Older Comments Newer Comments »
  1. . says:

    no more tuts?

  2. Thomas says:

    Thanks, great tutorials. Just finished all 4! The clearest and easyiet to follow that Ive ever tried!

  3. Daniel says:

    Amazing, really nice stuff, I learned a lot following your tuts. but, there is one thing I cannot figure out… how to make the eyes???? you don’t explain it anywhere, and I’m new to 3ds. so I don’t know how :S
    thx

    • polygonblog says:

      Thanks Daniel! The eyes are just standard spheres that are linked to the head bone. The material is just a black and shiny.

  4. 3D-Maxer says:

    We’re waiting for More Tuts, keep it Up Antti.

    • polygonblog says:

      Thanks, will do more. I’ve just been really busy lately. I’ll try to post new tut next week.

  5. Mohsen says:

    you save my time .
    thank you very mach .
    Good work !!

  6. great tuts.its vey nice.
    what is IK and how to make handlers to rotate a body part like eyes or to move legs ,hands

    many thanks!

  7. Nice tutorial. I’m a old 3ds max dude my self :)

    But i switched over to maya. Anyway I’m doing some Maya tutorials about rigging aswell if you ever want to check that out. It is on my site:

    http://poly-face.com

    Cheers

    /Dennis

  8. stu tallon says:

    hey great tutorials.

    i have a problem with the morpher modifier. when i add my morph target and spin it to see it move it goes all wierd and all over the place… any ideas?? ps im not adding or removing any vertices

    thanks again for the tutorials..!!

  9. Nick says:

    This is a great series of tuts which I find far better than many of the books I’ve read.

    The question is: could you do a tutorial on doing some basic animations with the above monster?

  10. Kura says:

    I´ve the same problem like Stu tallon.
    The select Vertexes were all flew and go wierd

    Help!

    But this Tutorial ist gread!
    It helps so much!

  11. eL-Khair says:

    greats tut bro…
    I like since i’m beginner in 3ds Max…
    anyhow…can U give us some more tus so the beginners like me can learn again how to improve our skill on it??
    or can U mail me some model for learn???
    great thanks b’fore..

  12. Timon says:

    You are awesome MAN :)

  13. Jules says:

    Here is someone who wants to thank you very much:

    https://lh3.googleusercontent.com/_7vZJsLEGJ_w/TVcJ4xywSdI/AAAAAAAAAB4/M9O4BNFpg4w/s800/monster_mit_herz.jpg

    Awesome tutorials, thank you so much!

    • polygonblog says:

      You’re welcome! Very nice pic Jules!

  14. Enlighten says:

    These are great tutorials but I feel that there’s one thing missing…animation.

    I have followed them all up to this point where my character is rigged. Now I want to animate my model to be used in a graphic engine (JMonkey). How do I set animations for this model? For example: walk, run, wave…etc.

  15. Hash says:

    Hi

    Great tutorial

    but can you make it video tutorial ?

  16. Eldar says:

    Same problem as Stu tallon and Kura. In my morpher only half of the monster goes crazy, i think its because the symmetry modifier doing somthing wrong. Please reply.

  17. sandhu jatin says:

    Such a helping tutorial………..thanx

  18. Abel says:

    It happened the same to me as Stu tallon, Kura and Eldar. I tried many times but couldn’t make it. Now i found a workaround: instead of using the vertex sub-oject option, use the polygon option to create the mouth expression. Doing it this way worked for me, hope it helps!!

  19. Gustavo says:

    Hey, in fist place, thanks for your tutorials, they are very helpfull and awesome!!
    I’ve made all of them, this is the last one,but i’ve had the same problems of Kura, Eldar and some others, but i’ve found a type of solution..
    In my work i’ve needed to flip the symmetry, i didn’t know if this is the problem, but if I add a modifier “turn to mesh” under the symmetry the morpher works, but the uvw map need some ajustments…
    I don’t know why this is happening, but if there is a solution without turn the object in a mesh, and ajust the texture will be great!
    I’m from Brazil and learned English by my own, so sorry about any mistakes, and one more time, thanks for the great help, and congratulations for your awesome blog!

  20. polygonblog says:

    If the other half of the monster is behaving strangely you could:

    1. First make sure that morpher and skin modifiers are above the symmetry modifier.
    2. If you are still having trouble, collapse the modifier stack ( right click on the Symmetry modifier and select ‘collapse to’ from the menu ).

  21. Eldar says:

    It’s still not working :( those steps don’t help

  22. Eldar says:

    I have finally figured it out :D . I have collapsed the modifier stack in my monster clone (by clicking ‘collapse to’ on the symmetry modifier), I don’t removed any uvw’s and turbosmooth. I just clicked on the Edit Poly modifier to make facial expression. In my original monster I made a morpher modifier below the skin modifier and everything now works fine. The bad thing is that when you are making facial expressions you can’t made them symmetrical because this modifier doesn’t exist ;) Hope this help ;) Now my monster is fully ready for action :D :D:D

  23. Ergodiem says:

    In my case, no one of the alternative expressions works for Morpher, when I click on “pick target”, I just can’t click on the others models. I believe it is because my original model is too much turbosmoothed than the others. Besides, I tried to simply clone the original model, modify it a little and I succeeded in picking a target, but event at 100% the original model wouldn’t change.

    I guess I’ll have to do without the expressions, too bad :/

  24. Chandan says:

    Thanks Man , great tutorials…………………!

  25. anup bande says:

    After reading this i first time feel that i can also do the rigging part in max. Thanks sir.

  26. mario says:

    u’re amazing i followed the four of ur tutorials and i felt totally guided from start to end, thanks a lot i’ve learned a lot, please don ever stop making this kind of tutorials, greetings

  27. mario says:

    by the way, for the problem of the morph modifier, i solved it by collapsing from symmetry and just leaving TURBOSMOTH and EDIT POLY, then i copied and put itinaration to 1, started to movin vertex till i get the wanted expression, and at last pick that one from the scene in morph modifier from the original model, then you go up to 100, u will see it works,

  28. Vay Grant says:

    I have been having a problem rendering. When i render the front of the creature is invisible, so i can see through all the way to the back, so it has no face, just floating eyes, and no matter how i turn the view it shows me the opposite side. Can anyone help me? Ive looked through the different settings and they look correct, and ive looked at older files but they do the same thing. So it started even before the Uvw mapping. Help would be greatly appreciated. Thank you!

    • polygonblog says:

      It sounds like you should flip your polygons: Go to the Edit Poly modifier and activate the polygon sub-object level. Press CTRL + A in keyboard to select all the polygons. Finally click ‘Flip’ button in the Edit Poly modifier.

      • Vay Grant says:

        Thanks a bunch, i did what you said and it helped alot. You did a great job on the instructions, thanks again.

  29. Corey says:

    hey great tut
    but how to you change the area the bone controls?

  30. Dillon says:

    Ok, so everything is all hunky dory until i get to the part to make the dummy and link the spine and first leg bone. I linked them, but when i move the dummy, nothing moves. Also, i linked the eyes to the head bone and when i move that, the eyes stay put! Please Assist

  31. tellurye says:

    Thanks so much for this tutorial! I hadnt messed around with max since 4.2 :( so I was like ‘man, how do I do that in 2011′. This is awesome help!!

    Im trying tomake a custom characer so my demo reel will be different than the other students.

  32. xakier says:

    thnks !!!!!!

  33. Spikec says:

    Hi, i realy have to thank you for you tutorials, i just love how detailed they are.

    But i have same problem with symetry-morpher, can someone give me some detailed solution? I tried different things with collapsing etc. but nothing worked

  34. darion leigh says:

    Awesome stuff. really clear and helpful. Bit stuck on this bit. Can;t find the rollout. Can you send me a screen grab? really grateful

    Now all the IK solvers have been created. At the moment you can’t rotate individual bones in the IK chain. To be able to do that, select the IK handle, go to the motion panel, and click ‘Enabled’ in the IK Solver rollout. This is the on/off switch for inverse kinematics for the selected IK chain. This button can also be animated so the animator can easily switch between inverse kinematics and forward kinematics ( just rotating the bones in the chain) while animating the character. Leave it on for now.
    As a final thing, try to move the green dummy to see how the character responds when inverse kinematics is in use ( undo afterwards ).

    • darion leigh says:

      Whoops. solved it myself. Maybe amend that instruction to make it clear that you have to click on enabled to effectivly ‘disable’ it. Anyway thanks for the tutorials again.

  35. Kingsley says:

    Hi polygonBlog,
    Thank you so much I absolutely love you tutorials simple to understand, direct and to the point and doing it step by step I learnt a lot!!! Please can you do a part 5 of Animating the Monster ? Idealy using different animation techniques I.e parametric using the curve sheet and the dope sheet as well as constraints and then helper, and dummy objects to do a bit more complex stuff like how the animations are on Toy story :)
    Or just the animating the monster laughing out loud excessively, swimming , running , doing some martial arts move perhaps ? Thanks please more more more on Animation to complete you FIVE part tutorial ..you have done 4 just the Animation one is left?
    Thanks
    Kingsley

  36. Player1 says:

    Hey, great tutorial, I havn’t been doing them all though, I started with my own model, and did tutorials 2,3, and now 4. I am on step 8 and I can’t figure out why, but when I edit the envelopes, I can make them effect more of the model, but not less. currently, my models shoulders move with the head, and his sides move with the arms. I’m using 3DS Max 2010. Any help is appreciated, thanks.

  37. Danta1st says:

    LOVED THEM ALL!…. hope you will continue to make good stuff like these tutorials!… They were just what i needed, something simple to get the bare boned basics with 3dsm.

    I saw someone wanted you to make video tutorials, i would on the other hand cheer you on to continue with the ehm…. “paper” tutorials.

    Next up could be to take a simple approach to other systems like cloth, hair/fur, particles, and etc.

    Kind Regards Danta1st.

  38. Kristen says:

    this is great but when I try to make the IK chain for both the arms, it doesn’t work. it just wont connect. and without that, I can’t animate the arms. do you have any idea why it may be doing that? I’m on a tight schedule and need to move on with my animation ASAP.

  39. Dana says:

    Really good tutorials! Concise and instructive. Found the layout of your steps and terminology easy to follow.
    Truly great job :)

    And just so you know, the links in the texturing tutorial @ steps 7 & 10 did not work when I clicked on them.

    Thanks!

  40. Ahmed says:

    Nice work mate love the tutorial :D two thumbs and toes up :D

« Older Comments Newer Comments »

Leave a Reply