IK, or "Inverse Kinematics" is
one of the more popular ways to move the legs (and sometimes arms)
of a character. It has more uses than that, but moving legs
is by far the most common. With IK you create a chain of
items (bones, objects, etc.) and tell the item on the end to move
to wherever the "goal" item is. So rather than individually
adjust and position the items in the IK chain, you just move the
messiah has two types of
2D IK: To control rotations, such
as for arms and legs.
Telescopic IK: Used for things
like pistons or old fashioned telescopes.
Both types of IK can be applied from the
Animate tab, on the Inverse Kinematics block.
They can also be applied using expressions-- specifically, with the
IK2D and IKTel functions (on the Functions
pulldown list that's on the Command tab).
Things get very interesting when you have
characters that combine the two; characters like robots, for
The basics of IK:
Once the character is setup (bones and objects loaded and placed),
IK is set up on the Inverse Kinamatics block, which is on
the Animate tab.
IK chains need to have three or more
items in order to work; for example, three bones or two
bones and a null at the end.
One of the items (for example, the
shoulder bone or null) is designated as the "anchor" by turning on
the Anchor button on the Inverse Kinematics
The last item in the chain (for
example, the wrist bone or null) needs to have the Calculate
IK button turned on in the Inverse Kinematics block.
The last item (the End
Effecter) needs to have an IK Goal designated. To
do this, use the Goal pulldown list on the Inverse
It is not uncommon to use four items
even for what you'd think would be a two bone setup. For
example, on an arm you would think that all you need is an upper
arm and a lower arm; but most people start with a null
object (Anchor) up at the shoulder, then put the upper and
lower arm, then position a null object at the tip of the lower arm
(the wrist) and make that the End Effecter.
The language of IK:
The Anchor is the root of the IK chain. Any items that
are above it in the hierarchy will not be affected by the IK (but
the Anchor itself will be). As stated in the list
above, it is usually best to make the anchor a null object.
It is recommended that you use null objects as end effecters
instead of bones. The reason for this is that having those
extra bones there could have an undesired effect on the skeleton or
interfere with the calculations of the other bones.
An IK goal is the item (usually a null object) that the End
Effecter tries to move to. The IK goal is what you move
around when animating with IK.
It is often desirable to have limits placed on the joints of a
character. For example, your shoulder has a limited range of
rotation. In messiah there are several ways to
accomplish this. One way is to use the limit settings on the
IK block, but the best way is to use the Clamp
function. With Clamp, you create an expression for
each axis you want to limit, so if you want to limit the rotation
for heading, pitch and bank, you'll need to make 3
expressions. This is not difficult though, as you only really
need to make one, then copy it twice and make slight changes to the
copies (changing the channel and limits). For more
information about Clamp, click here.
Which is better, using the IK tab
or using expressions?
It depends on what you are doing. If it's just a simple
character for a quickie animation, the IK tab may be the way to
go. If it's a bigger, more complex project, expressions are
probably better. Using the buttons on the IK tab to do your
setup will be slightly quicker and somewhat more foolproof, but
using expressions will ultimately give you more freedom and
power. For example, using the expressions version of IK, you
have control over when the IK gets solved in relation to other