Using Orient Constraints to Focus Eyes

Artist Resources

Orient Constraint
Eyes controlled with orient constraints match the rotation of their control objects. Those controls can be placed anywhere within the scene and do not have to be "visible" to your model.

Using Orient Constraints to Focus Eyes

An "orient" or "rotational" constraint forces the constrained object to match the rotation (orientation) of another object.

One big benefit of using the orient constraint rather than the aim constraint to focus eyes is that your control object can literally be anywhere - it doesn't need to be wherever your character happens to be looking, which can be a real pain to accomplish in complex scenes with lots of geometry. You may also run into situations where your character's eyes need to "cheat" a bit. In other words - they need to appear to be looking at an object, but the composition of your shot won't allow that.  Orient constraints also provide an easy way to control cartoony effects like spinning eyes as well as more subtle independent rotation and movement.

Many of the steps you'd take to use an Orientation constraint are exactly the same as those used for establishing an Aim constraint. Refer to Using Aim Constraints to Focus Eyes. I've indicated the steps that change in utilizing an orient constraint with (***).

  1. Place a joint at the center of each eye, and parent these joints to the head joint.
  2. Adjust the rotation axis of the "eye" joints to align with the rotation axis of their respective eyeballs.
  3. Make each eye a child of its respective eye joint
  4. Build a box from linear NURBS curves - width should stretch between the centerpoint of the left and right pupils.  Why use NURBS? Because they are easily hidden - this will unclutter your workspace when working with polygonal models.  Name this box "eyeControl."
  5. Place the eyeControl box several "inches" in front of your model's face, and parent this box to your control rig.
  6. Place a null or locator at each end of the box and name them LeyeConstraint and ReyeConstraint accordingly.
  7. *** Use the Orient Constraint tool to align the rotation axis of L & R eyeConstraint locators with their respective eyeball joints. (Very important first step - you don't want your eyes spinning on the wrong axis).
  8. *** Once these locators are properly aligned - break those constraints
  9. *** Now reuse the Orient Constraint tool, this time to align the rotation axis of the eyeball joints to their respective eyeConstraint (In other words, you're reversing your original eye constraints)
  10. Parent the LeyeConstraint and ReyeConstraint objects to the eyeControl box.
  11. Adjust the divergence of the eyes (human eyes tend to point slightly away from each other).

*** Now when you rotate the box, or the individual eyeConstraints - the eyes will rotate with them.

For another method of eye control, check out Using Orient Constraints to Focus Eyes which I've mentioned above.

If you have another way of doing this, or have an idea you can add to this tutorial - be sure and enter it into our Animate This! Tutorial Challenge. Every month the five best tips, adders and tutorials receive $100 in download vouchers from!

For more complete information about compiler optimizations, see our Optimization Notice.