Back to Index

Animation - Bones, Inverse Kinematics, Rigging and Skinning in 3DS MAX

'but what does it all mean??' Lets find out.

When animating in 3D software such as 3DS MAX, we can use a few tools to help speed up the process. A 3D object is just a cloud of vertices, or points in space. In 3Ds Max we can animate the position of those vertices individually to create an animated object. However, as you may imagine, this would be a very lengthy and confusing process!

So, there are many tools available to us in 3Ds Max that can help with the process. In this lesson I will be introducing the concept of Bones, Inverse Kinematics and Skinning. We wont be animating anything complicated. We will just be setting up a simple arm mechanism. The point of this is to familiarise you with what bones, IK and skinning are, and the workflow involved. With a little further reading you could then start to create your own bones systems for your work. Also, if you plan to use 3Ds Max's inbuilt Biped system (a pre built bones system you can adapt for your own character), then this tutorial will give you an understanding of what is actually going on with Biped, which will aide you when setting up your own rig.

First we will open Max and create a simple shape to animate. For speed I've chosen to just make a blob out of a cone primitive (low number of segments) with Meshsmooth applied. Remeber to right click the move tool and set each spinner to zero to make your object is dead-centre. See image below.

3d object

When you have made the cone shape, it's time to add bones. To make this easier, right click the cone object and choose 'Object Properties' and turn on 'See through'. Then click OK, right click the cone again and click 'Freeze Selection'.
Also, if you want to get rid of the grid in the viewport, activate the viewport by right clicking in it, and while not selected on anything press 'G'.

Now it's time to create our bones. Go to 'animation' at the top, and click 'Bone Tools'. Now click 'Create Bones'. Now we draw the bones. Start at the base of the cone and click once to start a bone. Move the mouse up about 1/3 of the cone's height and click again, then move up to 2/3's of its height and click again. Finally click at the top of the cone to finish. It will then try to create a little nubbin at the top, this is fine. Remeber to check in Front, Top and Left as well as perspective views to make sure it is lined up properly.

It should look like this:

3ds max bones system

Now we need to adjust the bones. In the Bone Tools window, go to 'Fin Adjustment'. Now click each bone and adjust the height, width, and fin lengths for them all. Aim for the bones to take up about 75% of the volume of the cone. Check in all viewports again. It should look like this:

3ds max bones fin adjustment

Experiment with rotating each of the bones. Notice how the bones are set up in a heirachy, each smaller bone partented to the previous. Ok, undo this so its lined up with the cone again. We can use bones in this state, but I just want to show you IK solvers before we attach the bones to our cone.

Now its time to create the inverse kinematics chain, or IK chain. We will use the HI solver which is used a lot in character animation. HI stands for History Independant. For more about the different types of IK chain and their uses, look up IK solvers in max help.

So, select the first bone in our heirachy (the base). Then go to animation/ik solvers and click HI solver. We now see a dotted line appear. Click the very end bone in our heirachy. This creates the IK chain. A new symbol has appeared at the top of our bones. Select it and experiment with moving it around. Notice how the bones all move automatically and caclulate their new positions and rotations based on where you put the IK chain symbol. This is Inverse Kinematics, Inverse meaning that it takes the position of the last bone in the chain and uses this to calulate where the previous bones should be, and Kinematics meaning 'movement'. Think of it like a puppet, where you position the hand and the rest of the arm moves on its own. This is different to FK (forward kinematics) - look this up on the web or max help.

Here's the IK chain in action.

3ds max ik chain

We are now ready to attach the bones to the mesh. When this is done, any movement of the bones will deform the mesh accordingly.
Firstly, right-click in the blank space and choose 'Unfreeze all'. Then, select the cone mesh object and go to the modifier panel, and from the modifier list add 'SKIN'.

The SKIN modifier is applied to our mesh object. The SKIN modifier allows us to select bones that we can use to control the mesh.

After SKIN has been applied, go to the modifier parameters and where it says 'bones' click ADD.

When prompted, choose ALL of your bones from the list and click select.

Now we have to edit our envelopes. Envelopes are an invisible field around each bone that determine how strongly each bone affects each vertex in the mesh.

In the image below I have selected the bottom bone. See how the vertices are red at the bottom and go orange and then blue towards the top. This represents the falloff of the strength of the first bone. Try selecting each of the bones under SKIN parameters and notice how the envelopes overlap. This overlapping allows for smooth deformations of the mesh when the bones are animated.

You can adjust the envelopes for each bone. To do this, select a bone under SKIN modifier and the use the MOVE tool to adjust the rings around the bone. Experiment with the effects of adjusting the bone weightings. This step is important when skinning more complex bone systems like characters in order to get nice mesh deformations.

3ds max skin envelopes

Here's our mesh after skinning. All we have to do is move the IK target, which makes the bones move, which in turn deforms the mesh. We can now animate the IK target by moving the time-slider and creating key frames.

3ds max skinned mesh

Back to Index

Copyright John Hammond, 2008 Contact