From BlenderWiki

Jump to: navigation, search

Constraints

Mode: Object and Pose modes

Panel: Constraints (Object context, Object sub-context, F7)

Description

Constraints are object features, i.e. they control in various fashions the objects’ transform properties (position, rotation and scale). This is why you will find their dedicated Constraints panel in the Object context, Object sub-context (F7). In fact, constraints are in a way the object counterpart of the modifiers, which work on the object data (i.e. meshes, curves, etc.).

All constraints share a basic common interface, again with many similarities with the modifiers’ one.

Use of constraints

Even though constraints might be very useful in static scenes (as they can help to automatically position/rotate/scale objects), they were first designed for animation, as they allow you to limit/control the freedom of an object, either in absolute (i.e. in global space), or relatively to other objects.

Also note that constraints internally work using 4x4 transformation matrices only. When you use settings for specific rotation or scaling constraining, this information is being derived from the matrix only, not from settings in a Bone or Object. Especially for combining rotations with non-uniform or negative scaling this can lead to unpredictable behavior.

Constraining bones

Finally, there is a great rigging feature in Blender: in Pose mode, each bone of an armature behaves a bit like a standard object, and, as such, can be constrained! Most constraints work well with both objects and bones, but there are a few exceptions, that will be noted in the relevant constraints pages.

To learn more:

Available Constraints

There are several types of constraints. We can classify them in three families:

There are constraints that works with their owner object and others that need a second object (the target) to work, sometimes of a specific type (e.g. a curve). In this case targeted constraints are shown as a dark blue dashed line drawn in the 3D view between the owner and target objects.

Transform Constraints

These constraints directly control/limit the transform properties of its owner, either absolutely or relatively in terms of its target properties.

Copy Location Copies the location of the target (with an optional offset) to the owner, so that both move together.
Copy Rotation Copies the rotation of the target (with an optional offset) to the owner, so that both rotate together.
Copy Scale Copies the scale of the target (with an optional offset) to the owner, so that both scale together.
Limit Distance Limits the position of the owner, so that it is nearer/farer/exactly at the specified distance from the target.
Limit Location Limits the owner’s location inside a given range.
Limit Rotation Limits the owner’s rotation inside a given range.
Limit Scale Limits the owner’s scale inside a given range.
Transformation Uses a property of the target (location, rotation or scale), to control a property (the same or a different one) of the owner.

Tracking Constraints

These constraints try, in various ways, to adjust their owner’s properties so that it “points at” or “follows” the target.

Clamp To Clamps the owner to a given curve target.
IK Solver Bones only. Creates a chain of bones controlled by the target, using inverse kinematics.
Locked Track The owner is tracked to the given target, but with a given axis’ orientation locked.
Stretch To Stretch the owner to the given target.
Track To The owner is tracked to the given target.

Relationship Constraints

These are “misc” constraints.

Action The owner executes an action, controlled by the target (driver).
Child Of Allows a selective application of the effects of parenting to another object.
Floor Uses the target’s position (and optionally rotation) to define a “wall” or “floor” that the owner won’t be able to cross.
Follow Path The owner moves along the curve target.
Null An old, useless thing, that does nothing…
Rigid Body Joint Creates a rigid joint (like hinge…) between the owner and the “target” (child object).
Script Uses a Python script as constraint.
Shrinkwrap Limits the location of the owner at the surface (among other options) of the target.

See also

See this BSoD tutorial for descriptions of most available constraints.