Cartoony Eye
This tutorial shows how to create a cartoon eye that is not spherical and can have any shape and size that you want. The eyelids will close around the eyeball and the pupil will follow the shape of the eye.

   

The Eye Ball
Start by creating a sphere and rotating it 90 degrees on the X axis.
Name it:
eyeBall
Freeze transform the rotations so that the channel box is nice and clean.
Delete the history too.

(note: all pictures are from the side view)

   

Creating the top eye lid
Duplicate the eyeBall and scale it in x y z by 1.05
Name it:
eyeLidTop
Freeze transform it.
Select the edges from the middle to the left and delete them. (I sometimes leave an extra rows of edges to the left) Rotate it 45 degrees in X.

   

Creating the bottom eye lid
Duplicate eyeLidTop and name the new eye lid:
eyeLidBottom
set the rotation x to -45.

   

Creating the pupil
Select eyeBall and duplicate it.
Name it:
pupil
scale it in x y and z by 1.01
Freeze transform it.
Select all the edges but the last two rows and delete them.

   

Parenting
Parent the eyeLidTop, eyeLidBottom and pupil to eyeBall.
Group the eyeBall to itself. (So that you create an empty group on top of it)
Name it:
eyeBallGRP

   

Creating the lattice
Select the eyeBallGRP and go to the Create Lattice option. Set the divisions to 3 3 3. Make sure the options Center Around Selecting, Group Base and Lattice together and Autoparent to Selecting are on.
Go to the hypergraph and select ffd1LatticeGroup. Scale and move it so that the eye fits nicely inside the lattice and that you still have some extra room.

   

Deforming the eye
Right click on the lattice and select the lattice points and move them around to make the shape of the eye that you desire.

   

Creating Controllers
Create a locator and translate it in z to 3.5.
Name it:
eyeController
Freeze transform it.
Shift select the pupil.
Go to Constrain/Aim options and set the Aim Vector to Z (1) and the Up Vector to Y
Add a topLid and a bottomLid attribute to the eyeController with minimum -10 and maximum 10.
Use the set driven key to close the eye lids at 10 and open them wide at -10.

   

Animating the eye lids and pupil
Now you are ready to animate your eye.
If you grab the eyeController you can move it around and the pupil will follow and you can close and open the eye with the topLid and bottomLid attributes. This way, you can control all the animation of the eye with one controller.

Enjoy.

   

Download Maya file

Download tutorial