Constraint Types

IK Solver

To simplify animation of multi-segmented limbs (such as arms and legs) you can add an IK solver constraint. IK constraints can only be added to bones. Once a target is specified, the solver will attempt to move the ROOT of the constraint-owning bone to the target, by re-orienting the bone's parents (but it will not move the root of the chain). If a solution is not possible, the solver will attempt to get as close as possible. Note that this constraint will override the orientations on any of the IK bone's parents.

Copy Rotation

This constraint copies the global transformation of the target and applies it to the constraint owner.

Copy Location

The constraint copies one or more axes of location from the target to the constraint owner.

Track To

This constraint causes the constraint owner to point its Y-axis towards the target. The Z-axis will be oriented according to the setting in the anim-buttons window. By default, the Z-axis will be rolled to point upwards.


An action constraint can be used to apply an action channel from a different action to a bone, based on the rotation of another bone or object. The typical way to use this is to make a muscle bone bulge as a joint is rotated. This constraint should be applied to the bone that will actually do the bulging; the target should point to the joint that is being rotated.

The AC field contains the name of the action that contains the flexing animation. The only channel that is required in this action is the one that contains the bulge animation for the bone that owns this constraint

The Start and End fields specify the range of motion from the action.

The Min and Max fields specify the range of rotation from the target bone. The action between the start and end fields is mapped to this rotation (so if the bone rotation is at the Min point, the pose specified at Start will be applied to the bone). Note that the Min field may be higher than the Max.

The pulldown menu specifies which component of the rotation to focus on.


This is a constraint that does nothing at all; it doesn't affect the object's transformation directly. The purpose of a null constraint is to use it as a separator. Remember that if several constraints of the same type follow one another, the actual constraint operation is only evaluated once using a target that is an average of all of the constraints' targets. By inserting a null constraint between two similarly-typed constraints, you can force the constraint evaluator to consider each constraint individually. This is normally only interesting if one or more of the constraints involved have an Influence value of less than 1.0.