Constraining objects

 
 
 

With constraints, you can drive the position, orientation, and scale of one object with the transformation settings of another object. The object that is driven is called the constrained object, and the driver object is called the target object. The specific channels that are driven by a constraint depends on the type of constraint. For example, for an object constrained by a point constraint, only its X, Y, and/or Z translations are driven by its target objects. When a constraint relationship has more than one target object, weights are used to determine the amount of influence each object has on the constrained object. For more information on constraints, see What are constraints?.

Note

You can apply constraints and animation to the same objects. See Animation-Constraint blending.

The following constraint types are available: point, orient, scale, aim, parent, geometry, tangent, and pole vector.

Point constraints

Point constraints limit and control only the translation channels of the constrained object. Point constraints are useful when you want to constrain the position of one object to that of another without parenting. For example, you can use a point constraint to constrain the model of a crate to an animated train model and to the model of a crane that lifts the crate on and off the train. In this example, you can key the targets (the train and the crane) weights to determine which model at what time in the animation controls the translation of the crate. For more information on point constraints, see Point constraints.

Orient constraints

Orient constraints limit and control only the rotation channels of the constrained object. Orient constraints are useful when you want to constrain the orientation of one object to that of another. For example, you can use an orient constraint to constrain the blades of one windmill to those of another. In this example, when the target windmill’s blades turn around their axis, the constrained windmill’s blades rotate around their own local axis. For more information on orient constraints, see Orient constraints.

Parent constraints

Parent constraints cause the constrained object to inherit the transformations and global orientation of its target objects, mimicking a parent-child relationship. For example, you can constrain the model of a hat to the head and hands of a character with a parent constraint, so that when the head nods and rotates side to side, the hat follows the head’s movements. And when the hand grabs the hat and lifts it off the head, the hat follows the hand. In this example, setting and keying the target weights lets you anchor in time the amount of influence the head and hands have on the hat. For more information on parent constraints, see Parent constraints.

Scale constraints

Scale constraints limit and control the scaling channels of the constrained object. Scale constraints are useful when you want the size of one object to drive that of another object. For example, you can constrain the models of blades of grass to each other, so that when they appear to grow during their animation, the size of each blade of grass increases by the same amount. For more information on scale constraints, see Scale constraints.

Aim constraints

Aim constraints limit and control the rotation channels and aim vector of the constrained object. The aim vector is an attribute on the aim constraint that forces the constrained object to always point at the target objects. Aim constraints are useful when you want the constrained object to always follow and point at the target objects. For example, you can constrain the eyes of a character to track the movements of another character in your scene. For more information on aim constraints, see Aim constraints.

Geometry constraints

Geometry constraints constrain or bind the constrained object so that it follows the target curve or surface as it changes shape. Geometry constraints are useful when you want to attach one object to the surface of another without using more complex methods such as MEL or expressions. For example, you can bind a virus model to the surface of a cell model with a geometry constraint. For more information on geometry constraints, see Geometry constraints.

Normal constraints

Normal constraints limit and control the orientation of the constrained object so that it aligns with the normal vectors of the target object’s surface. Normal constraints are useful when you want an object to travel across a surface. Typically, you use normal constraints in conjunction with geometry constraints. For example, you can use a normal constraint and a geometry constraint to properly constrain a button on to a shirt. For more information on normal constraints, see Normal constraints.

Tangent constraints

Tangent constraints limit and control the orientation of the constrained object so that the constrained object is forced to point in the direction of the tangent at its current location (point) on the curve. Typically, you use tangent constraints in conjunction with geometry constraints. For example, you can use a tangent and a geometry constraint to attach the model of a roller coaster car to roller coaster tracks. During the animation, the car follows the shape and tangents of the track. For more information on tangent constraints, see Tangent constraints.

Pole Vector constraints

Pole Vector constraints cause the ends of pole vectors to move to and follow the position of an object, or the average position of several objects. The pole vector is a component of the IK rotate plane handle that determines where you get flipping when the IK handle crosses the pole vector. Pole Vector constraints are useful because they let you control flipping and the position of joints (for example, the elbow) in an IK joint chain. For more information on pole vector constraints, see Pole Vector constraints.

Animation-constraint blends

You can apply animation and constraints to the same object. When you keyframe a constrained object or assign a constraint to a keyframed object, a pairBlend node is automatically added to the object. You can set and key the pairBlend node to animate the animation-constraint blend weight. The blend weight determines the amount of influence the animation and constraints have on the constrained object.

For example, you can constrain a ball to the hands of two characters and key the hand weights. When the ball is thrown from one character to another, you can then keyframe the ball’s flight through the air. The process of applying animation and constraints to the same object and then keying the blend weight is called animation-constraint blending. For more information on animation-constraint blending, see Animation-Constraint blending.