ART 484 - Animating a Face with Blendshapes and Creating a Custom Face Control


This page is designed as a supplement to lectures. It is not intended to be a stand alone tutorial.


Modeling for BlendShape Animation

Effective Blendshape animation requires that all "targets" are direct duplicates of the original and have the same topography. It is also helpful to have the original model clean, history deleted, centered, and with the pivot point located in its final position.

Its also important to break out facial movement into its separate expressions so that they can be animated separately. For example, do NOT animate the forehead when you animate the mouth. This would cause the forehead to always move when the mouth does. Model them separately. This gives you much more flexibility.

It is also best to always go back to the original model when you duplicate a new shape to model a new variation.

Keep all the blendshape models in one master file. When you create the blendshape, you can continue to tweak the separate models to get the expressions that you want and need.


Mouth Shapes for Lip Sync Phonetic-Based Animation.

There are numerous web sites that give complete information on the correct mouth shapes for all phonetic speech. As of fall 2005, two excellent ones are:

Deciding how many separate mouth shapes are needed depends on how accurate you want your model and animation to be, plus how extreme the close-ups of the mouth will be in the final animation. In long shots (camera far away from the character), you only need 2-4 shapes. If you require extreme close-ups of long speeches you will need more than 15 shapes to work with. Note that the position of the tongue varies as well as the lips.

This is an example from one of the above web sites For this exercise you will not need more than these. You also are not working with teeth and tongues, so note that:

  • "MBP" can be combined with "FV";
  • "U" can be combined with "DLNT";
  • "E" could also be combined with "CKGJRSTHYZ".
  • In very simple situations, "AI" could be combined with "U".

Remember that your master model (the original one) should have the mouth in a neutral relaxed rest closed position. This will be the base that all others will be created from.

Other expressions that you might want to add in (depending on your monologue) would be: smile, frown, puckered-lips, puffed-cheeks, scowl, flared nostrils, arched eyebrow, squint, scream, horror, etc.


BlendShape Modeling

Creating all the blendshapes is a process that requires a lot of care, attention, and patience. Use the normal processes for picking CVs and moving them: pick-walking, paint-select, hulls, etc. Be careful in using the sculpt tool. Make sure that the mouth remains symmetrical.

Another method to use when you repeatedly want to move the same group of CVs is to make "Quick Selects Sets". These are not as powerful as "Clusters", but they are faster to use.

Select a group of CVs that you will be using over and over. In this example all the CVs that are required to move the jaw lower and open the mouth have been selected. (This took sometime to get all those nasty little ones in the interior of the mouth!)

Create>Sets>Quick Select Sets. Give the set a name you understand.

To select this set again -

Edit>Quick Select Sets

Note that in the example at right, the jaw is lowered by ROTATING the group of CVs from a pivot point that matches the jaw bone hinge. This gives a quick realistic movement.

This is another example of set that might be useful. It selects all the CVs that make the lips. Other examples would be:

  • corners of mouth (symmetrical)
  • center of lips
  • top lip
  • bottom lip

 

Another very effective way to create blendshapes is to select ALL the CVs around the mouth and create a detailed lattice around them. Experiment with STU values until you get lattice points directly down the middle of the mouth and lips.

In this example, the center of both lips are being pulled out into a pucker by 3 lattice points. Scaling these 3 points closer together horizontally would continue to create a puckered look.

When modeling with a lattice, you need to Delete History on the model to remove the lattice and save the shape. If you just delete the lattice, you will lose your modeling changes.

If you have separate eye-lids and want to animate a blink, you will also need to create a blendshape animation for them closed.


Blendshape Animation

It is good to test your blendshapes as you model. It is also recommended to keep saving incremental files of your scenes. This protects you if by chance you inadvertently distort your base original shape.

When creating the blendshape animation, set the options so that the original target shapes are not deleted. This allows you to continually update and tweak your animation. Move them over to the side and hide them with layers.

It is VERY IMPORTANT to label each model with a simple easy to understand name. It is these names that will appear in the blendshape GUI or input menu.

This is an example of the blendshape animation GUI for the above head. The labels are easy to understand what parameters will be animated.

The eyes and blinks are on a separate menu because they are separate objects.


Custom Face Control

When all your blendshapes are created and animating well, it is very helpful to create a custom face control that operates ALL the parameters of facial expression. To animate the face only requires selecting one object. You create this control in a similar way to the Robot Arm assignment.

Create a locator and move to in front of the head

Create aim constraints for each eye that point the eyes to the locator. In this way, the eyes are animated by moving the locator.

Add attributes to the Locator that match all the blendshape parameters. Make the Min Value 0 and the Max Value 1.

Using the connection editor, connect these Locator Attributes to the Blendshape Attributes.

To animate (as shown at right), select the locator, select which attribute you need to adjust, and use the middle mouse button to adjust. Set a key with the right mouse button.