For the purposes of this tutorial, I'm going to use the head shown here. I built it using a point-by-point method similar to the one discussed in Dan Ablan's Inside LightWave 6. You can use any head for this, but I strongly suggest a sub-patched model with as few patches ("polygons") as possible - more complex models will be much harder to manipulate, and subsequently they often won't give you as clean of a result. Less really is more. Notice the density of the mesh in the selected area; this is quite a bit of data to manipulate for our facial expressions - if we have more data here, this activity becomes progressively more difficult. If you don't have a ready-made head to work with for this tutorial, load up one of the stock heads in "Projects/NewObjects/Heads", make sure all it's polygons are patchable (i.e. turn any polygons with more than four sides into triangles) and turn on Sub Patch mode. I'm assuming you're familiar with the basics of EndoMorph setup. If not, refer to the manuals, or to the endomorph handout from last term. This is easiest of the eyes, teeth, and tongue are in separate layers from the skin - if yours are in the same layer, either relocate them to separate layers, or hide them while we work.
We will begin by selecting and naming various parts of the head that we will want to manipulate. You might do this for each part before you begin doing anything else, but for now, let's just make them as we need them. For instance, I selected the eyelids, as shown below, and used the "Display / Grouping / Change Part Name" tool to give these polygons a selection name (this is not the same as a surface name - part names are used for selection purposes in Modeler, something like Point Selection Sets, but for Polygons).
Next, we want to establish a baseline setup for the various facial parts - I like to set this base shape to a midpoint in the motion that part will have - the mouth partly open, the eyes partly closed, the jawbone rotated about half way through it's typical range of motion. With some animation setups, this would help to minimize stretching, but with morph targets, I do it because of the linear translation between targets - so for instance if the eyelid had two targets (opened and closed) and we morphed between them, the points affected would travel in a straight line from start to finish, passing through the eyeball, and not quite looking right anyway. I established a baseline for the eyelids by making the eyeballs visible in the background layer, and rotating the eyes to a half-closed position, as shown in the image below. I also used the stretch tool to keep the eyelid close to the eyeball - we don't want a gap to open up between the two.
<blockquote> Note: that I've changed the sub-patch display setting in Modeler (o - Option Panel) - it pays to turn this up to 4 or more from time to time to see what effect your edits will have at higher sub-division settings, though I like to turn it back down to 2 or 3 to speed things up. </blockquote>
Now we start by selecting the Eyelid for the left eye (use the part name to select, and then deselect the other side), and making targets for it. The procedure is shown in the image above: 1. select the polygons, 2. choose "M" Morph map mode, 3. select "new" from the popup list, and 4. Give the new target a name. Be sure to use a period (.) in the name, and make the targets for a given part all have the same prefix, or your morphmixer will be all jumbled up later on.(i.e. make all the Left eyelid targets with the prefix "Leyelid", and so on).
<blockquote> Once you "Ok" the Create Endomorph" requester you'll be editing the target you named (so changes will not alter the base object). From here on, I used the Move, Rotate, Stretch, Magnet, Pole, and Drag tools to alter my shapes - I won't bore you with too much specific instruction on shape editing --- just edit the forms as you see fit to get something like what I have in the example images. </blockquote>
Since we called the first target "Leyelid.Open", you'll want to open the eye back up. I only opened mine to a normal (relaxed - open) pose. If you also want extremely wide-open eyes (for a take or to exaggerate surprise), use a separate target for that pose.
Be picky about point placement as you make these targets. I'm only editing six polygons, so is pretty easy to grab each point and drag it if necessary. As well as editing the eyelid itself, we need to stretch the eyebrow a bit - look in the mirror and open and close one eye, and you'll see why. Select the two polygons shown below, and scale them vertically about 5%, with your cursor centered at the bottom of the selection, as shown.
Select the polygons on the left cheek bone, and pull / stretch them down just a touch (something like what we just did to the brow). Next, make a new target called "Leyelid.Closed" and edit the eyelid so it is closed, (but not squinted squint will be separate target). As shown below, we'll also want to pull / scale the eyebrow down a bit, and inwards from the outside corner.
The cheekbone area should be pulled up a tiny bit towards the eye for this target - I did this by editing the three polygons shown on the left below. As well, select the polygon (s) at the outside edge of the eye-socket (as shown on the right below), and scrunch them down a bit (i.e. draw the top one down, and the bottom one up).
<blockquote> At this point we should have a pretty good start made on this one eye. I added one more target called "Brow.lowered" and edited the forehead so the center of the brow was lowered and drawn inwards a bit, and then I saved my work, and tested it in Layout. </blockquote>
In case the procedure is unfamiliar, the steps to try this out in layout are: 1. Save your model, 2. Load it into Layout (or send it via the Hub), 3. Select the layer / object with the skin in it, and open the Object Properties panel, 4. Set Subdivision Order to "Last", 5. Apply the "MorphMixer" Displacement plugin, 6. Open the Morph Mixer interface panel, and 7. Use the sliders to animate your model.
Test the motion of the eyelid by setting up some keyframes and previewing the result. You will find that the shaping is not perfectly in line with the way the muscles in the head should move; simply leave the model set up as it is in Layout, and return to Modeler - if the Hub is working correctly, you should be able to edit the various morph targets in Modeler, and have them automatically updated in Layout. To get this right, nothing beats a mirror! A small make-up mirror is available in discount box stores for as little as a dollar, and makes a world of difference. |