A path constraint adjusts bone transforms using a path. Bones can be moved along a path and have their rotation adjusted to point along the path. Path constraints can replace translation keys, allowing movement to be defined more easily using a path. Many other uses involve constraining multiple bones to a path, then controlling the bones by manipulating the path rather than adjusting each bone individually. For example, bones can be spaced evenly along a path or can be scaled up from zero, causing them to appear to grow.
To create a path constraint, select the bones to be constrained, then click
New... in the properties below the tree, choose
Path Constraint, then choose an existing path to be the target. The bones can be anywhere in the bone hierarchy, as long as they are not ascendants of the target path.
The path constraint does not actually target a path, instead it targets a slot. The path constraint will use the path visible for that slot, if any. This provides extra flexibility because a single path constraint can work with multiple paths.
The path constraint has many settings to configure how the constrained bones are manipulated.
Clicking the bones will open a select box. Click a bone name in the select box to select that bone, or drag bones to change the order the path constraint will position the bones. Right clicking a bone name will select that bone without opening the select box.
The bones and target cannot be changed. A new constraint must be created to use a different set of bones or target.
When selecting vertices, the first vertex can be easily selected when a path constraint is active, by pressing
ctrl + click or box select.
The position mode controls how the first bone is positioned along the path:
Fixedposition places the bone at a fixed distance along the path from the start of the path.
Percentposition places the bone at a distance along the path from the start of the path equal to a percentage of the total path length.
The position of the first bone can be changed via the slider or by dragging the arrow icon which is placed on the first constrained bone in the editor area.
For a path that is not closed, the position can before (negative) the start of the path or past the end of the path. In this case, the position is determined using a straight line in the direction the start or end of the path is pointing.
The spacing mode controls how bones after the first bone are positioned along the path:
Lengthspacing places bones at a distance along the path from the previous bone equal to the length of the previous bone. This is useful when different spacing between each bone is desired.
Fixedspacing places the bones at a fixed distance along the path from the previous bone.
Percentspacing places bones at a distance along the path from the previous bone equal to a percentage of the total path length. This can be useful to space bones equally along a path or otherwise have the spacing dependent on the length of the path.
The spacing slider adjusts the spacing value. For
Length spacing, the spacing value is added to the bone length.
The rotate mode controls how bones are rotated, translated, and scaled to match the path:
Tangentrotate mode rotates the bone to point in the direction of the path at the bone's position. When the path bends, the tip of the bone won't fall on the path and the bone won't point to the position of the next bone.
Chainrotate mode first translates the bone to be at the tip of the previous bone, then it rotates the bone so it points to the position along the path of the next bone (which is dependent upon the spacing mode). When the rotation offset is not zero, the translation is not applied. When the path bends sharply, the previous bone tip might not fall on the path.
Chainrotate mode is useful when bones need to be placed at the tip of the previous bone and the bones represent something rigid, such as tank treads.
Chain Scalerotate mode first rotates the bone so it points to the position along the path of the next bone (which is dependent upon the spacing mode), then it scales the bone so its tip is exactly at that position. This ensures all bone positions and tips fall on the path.
Chain Scalerotate mode is useful when bones need to be placed at the tip of the previous bone and the bones represent something flexible, such as a snake.
The rotate mix slider controls how much the bones are affected by the rotate mode. When the mix is 0, the rotate mode has no effect. When the mix is 100, the rotate mode adjustments are fully applied. A mix between 0 and 100 results in a transform between the bone's own transform and the rotate mode's adjustments.
The rotate mix is generally at either 0 or 100 and is only transitioned between 0 and 100 briefly to have the path constraint smoothly take control of or release control of the bones. A rotate mix between 0 and 100 can result in snapping because the interpolation between the bone's rotation and the rotate mode's rotation is done using the shortest rotation direction.
The translate mix slider controls how much the bones' position is affected by the path constraint. When the mix is 0, the bone's position is used and the path constraint has no effect. When the mix is 100, the bone is positioned solely by the path constraint. A mix between 0 and 100 results in a position between the bone's own position and the path constraint's position.
Link sliders is checked, the rotate and translate mix sliders will have the same value.
The rotate offset is added to the rotation as computed by the rotate mode. This is provided for convenience, to avoid needing an extra bone solely to point in a different direction.
Changing the position, spacing, rotate mix, or translate mix sliders causes the key icon near the slider to turn orange. Clicking the key icon sets a key for the slider. The rotate and translate mixes are always keyed together.
Adding a key at non-integer frames can help reset the keys on the position property of the Path constraint and create a loop.
The path constraint color uses the color of the first constrained bone.