Skeleton Animation Manual

IK Control 

In this page, let's talk about usage of IK(Inverse Kinematics), which is usually compared with FK (Forward Kinematics).

With FK, we move the bones by rotating each joints along the hierarchy.

With IK, we move the whole link of joints by specifying the target position we want the end-effector to reach;

So, In general, IK could improve efficiency in animation authoring; Of course FK has its use-case too, when developer needs to do precise setup for some joints, it's often easier to rely on FK.

Let's get started.


When start bone-editor, we by default use FK mode; To switch to the IK mode, click the "IK" button (mentioned in GUI-Main page) or click hotkey "backquote".

IK 1

As in the above image, when in IK mode, only the IK-link is drawn, and a move-handle is placed at the end-effector.

* How to use the IK?

Drag the handle around, you will see the arm bend/stretch to try to reach the new target position;

* How to select another joint as end-effector?

Press 'ESC' (or click the button 'Reselect End Joint'), will deselect current end-effector, then you could select another joint as end-effector;

* How to return to FK mode?

Press 'ESC' when no end-effector is selected ( or click the 'FK' button in above image );

* How to make the Link-Length longer / shorter?

You could use hotkey 1/2/3 to set the Link-Length, or click the button "+"/"-" on GUI to increase/decrease the length;


There's more about IK than dragging end-effector around.

Rotate around axis

Sometimes you might want to rotate the IK link around the axis from root to end-effector; This will keep the end-effector's position unchanged;

As in the image below, if I want to rotate to make the elbow outward a bit, click the hotkey 'E' under IK mode, this will bring up a slider, slide it to control how much degree we rotate around the axis;

IK rotate

Rotate IK root joint

Click hotkey 'E' again when in 'Rotate around Axis' mode, will get into the 'Rotate IK root joint' mode.

You can directly rotate the root joint of current IK link in a FK fashion.

IK Root 

IK plane

Moving around in 3D-space could be more complex than in 2D-space, 'IK plane' is hereby to help.

IK-plane uses a plane to constrain the end-effector, which means the end-effector will be limited to stay on the plane surface.

The plane is formed by the first 3 joints on the IK link, so try not make them colinear.

The plane could be rotated like described in 'Rotate around axis';

IK plane

IK Pin

IK-Pin is used to pin some joints (usually wrist/ankle) at specified position, and when we drag the root bone (e.g.: hips), the IK will try to make the pinned joint to stay at the specified position.

This feature can help make some motions like crouch.

To use IK-Pin, first place the joints at positions, then click the "IK Pin" button in IK mode, select the joints, click the marker to pin it down, then drag the move handle at hips to get them work; 

NOTE: The function of IK-Pin, is covered by the new constraint system added in v1.9, which we will cover in the constraint system pages. Hence we don't dive into more details of IK-Pin here.

 

The default IK algorithm doesn't utilize constraints, hence it cannot limit the rotation angle at the intermediate joints (like elbow), so it's only recommended to use the default algorithm when making small changes.

Skele is also equipped with CCD IK algorithm which supports constraints setting. We will talk about it in the next page.