Unless your characters have a very unique style, their eyes will have to look at something. Based on this idea, there is a common practice of making this "something" a bone where the eyes will always point to. This is very useful when animating, since you can position this bone to the exact place where your character should look at without further worries.
003-Eyes.blend
. This file has a head mesh with two eyes ready for you to work on them. Notice that the eyes are separate objects from the head. Eye.L
and extrude (E its tip, creating a small bone in front of it. Name it as T_Eye.L
("T" stands for "target"), select it, press Alt + P, and choose Clear Parent, so it's no longer a child of the eye bone. You should also disable its Deform property by pressing Shift + W and selecting Deform. You should have the two bones positioned as seen in the following screenshot: Eye.L
bone, press Shift + I, and select Add IK to Active Bone. If you move (G) the T_Eye.L
bone around, you'll see that the Eye.L
bone keeps pointing to it. LookAt
and scale it down to about half its height. Select the target bone, hold Shift, select the LookAt
bone, press Ctrl + P, and choose Keep Offset. Now the movement of the LookAt
bone will drive the target, and you can see this new bone in the next screenshot: Eye.L
bone, press Ctrl + P, and choose Set Parent to Bone. Move the LookAt
bone and you'll see that the left eye rotates accordingly, but you'll also notice that the eyeball rotates too much depending on where you place the LookAt
bone. We need to limit the amount of its rotation. Eye.L
bone and go to the Properties Window. Under the Bone tab, navigate to the Inverse Kinematics section. Eye.L
bone is selected: very useful for visualizing what are the rotation limits. In the next screenshot you can see the values set up and the limits shown on the 3D view:Now, when you move the LookAt bone, the eyeball rotates only until the pupil reaches the eye borders.
T_Eye.L
and Eye.L
, go to Front View (Numpad 1), duplicate (Shift + D), and move (G) them across the X axis until they are in the middle of the right eye.When you append suffixes such as .L
and .R, .left
and .right
to your bones, Blender understands that these bones are mirrored so you can make changes to one bone and have its "mirrored" one update as well when you enable the X-Axis Mirror option in the Toolshelf (T). These suffixes are not case sensitive, but you have to stick to one convention, since Blender will not understand this mirroring if you name one bone as Eye.left
and the other Eye.R
or Eye.Right
.
Eye.R
bone, press Ctrl + P, and choose Set Parent to Bone. Now, if you move the LookAt
bone, both eyes should follow accordingly and within their limits. LookAt
bone, go to the Transform Panel (N), and lock all Rotation and the Y and Z scale values. Leaving the X axis for scaling allows you to change the alignment of the eyes, as seen in the next screenshot, where the LookAt
bone was scaled (S) down in Front View:The file 003-Eyes-complete.blend
has this finished recipe for your reference.
By creating two IK chains with one parent bone to control their targets, you can easily make a LookAt
controller. The IK chain consists of one bone located at the center of the eye and another bone to act as its target. By using a separate bone parent of both targets, you can make your character look at where you need. The use of an IK constraint on the eye bones allows you to set the rotation limits so the eyeballs don't rotate further than you expect them to.
When we look down or up, our eyelids follow the movement softly. This will be accomplished in the next recipe, dedicated only to the eyelids.
The LookAt
controller is normally a child of another bone: some like it to be linked to the main head controller, so the eyes follow the head movement; some like it to be child of the Root bone, so the point where the character looks is independent of the head position. You can have the best of two worlds by setting a switcher to alter between these two "spaces". The concept of different spaces and how to create a controller to switch between them is covered in Chapter 5,
3.135.196.172