Speech Target Tutorial for 3DS Max 4
by Scott Martin, level of 3D skill needed: at least 5 or 6 monthsThis tutorial is for 3D Studio Max 4. This material is adapted, sometimes directly, from the LipSinc Content Specifications and Guidelines. This tutorial is my slant on their guide and how to use that information to create effective lip syncing and/or to use their software products. Lipsinc can be found at www.lipsinc.com
This tutorial assumes you have a completed head model, ready to be animated. Everything should be present including eyes, eyelids, eyelashes, ears, teeth, tongue, inner mouth, and enough complexity in the mesh to achieve the morph targets needed for speech.
It helps to try this tutorial once - completely, in order to understand the mutual dependency the numerous morph targets have on each other. You will create over 30 variations of the original mesh (named Silent). From Silent, you will create 15 Meta-Targets. From these Meta-Targets, you will very quickly create 15 Viseme targets. In addition, you will need to address Blinking and Eyebrow Movement.
Follow the steps below to efficiently develop the entire set of speech targets (Visemes) for your 3d character.
These are the viseme and eye targets that need to be created for proper speech lip syncing. The normal amount of mixing a morph target is from 0 to 100%. At times you will use negative values or values greater than 100% to achieve specific morph targets. Using morphing values below 0 and above 100 is achieved by checking OFF the option for "Use Limits" under the Global Parameters tab of the Morpher Modifier. These targets are created AFTER the Meta-Targets are created.
- Eat
- Earth
- If
- Ox
- Oat
- Wet
- Size
- Church
- Fave
- Though
- Told
- Bump
- Cage
- New
- Roar
- Blink_L
- Blink_R
- EB-UP_L
- EB-UP_R
Here is the same Viseme Target list (without the blink and eyebrow targets) with phonetic relationships and example words. The name of the morph target must be exactly as indicated in the left column including the correct capital letters - in order for the morph targets to correctly work with Lipsinc's software. This list and tutorial is also quite effective for setting up your 3d character for lip syncing by hand.
Viseme NAME phonetic SOUNDS Example Words 1. Eat (EE) Eat 2. Earth (Er) EARth, bIRd, buttER 3. If (Ih) If, bIt, bEt, bAlt, bAt, bOUt, bIte, bUt, abOUt, debIt, sUspect 4. Ox (Ahh) Ox 5. Oat (Oh) OAt, bOY, bOAt 6. Wet (W/OO) Wet, Way, Yacht, bOOk, bOOt, tOOt 7. Size (S/Z) SiZe, Sea, Zone 8. Church (Ch/J) Church, She, Azure, Joke, Choke 9. Fave (F/V) FaVe, Fin, Van 10. Though (Th) THough, THin, THen 11. Told (T/L/D) ToLD, Lay, boTTLe, Day, Tea, muDDy, baT 12. Bump (B/M/P) BuMP, MoM, bottoM, Bee, Pea 13. Cage (K/G) Cage, Gay, Key 14. New (N/NG) NooN, siNG, buttoN, washINGton, wiNNer 15. Roar (R) Roar, Ray
Other targets you can create:
- EyeBrow Left Down
- EyeBrow Right Down
- Sadness
- Anger
- Joy
- Fear
- Disgust
- Surprise
- Smirk Right
- Smirk Left
- Head Fix
- etc.
OKAY, HERE WE GO!!!
This may take you an entire day or two to finish if you have had limited experience with 3d morphing. Normally it takes a couple of hours to create the Meta-Target and Viseme Sets for one character. Again, this tutorial assumes that you have a completed 3d model ready to modify to create speech targets. You can NOT modify the head mesh by adding or subtracting vertices. You will have to re-create all Meta-Targets and Speech Targets if you need to modify the mesh. The Head Fix target suggested above is only for aesthetic adjustments to the mesh - only for moving vertices - NOT for adding to or taking away from the complexity of the mesh. Spend sufficient time on creating a completed model before creating all of these variations.YOU WILL START with creating 15 Meta-Targets. Create this set first before you create the Viseme targets.
- Jaw Open
- Lip Corner Down
- Widen Lips
- Lower Lip Up
- Lower Lip Down
- Narrow/Extrude
- Tongue Down
- Tongue Out
- Tongue Teeth
- Upper Lip Up
- Cheeks Down
- Cheeks In
- Narrow/Extrude with Cheek movement
- Jaw Open with Cheek movement
- Upper Lip Up with Cheek movement
First create and rename your original mesh to "Silent". I suggest that you array the "Silent" mesh vertically to create the Meta-Target set. This will allow you to copy and move objects and element, if necessary, into precisely the exact location as needed. Use the array tool in 3DS Max to create 15 copies (NOT instances) of the "Silent" mesh. Use something like a half of a meter between the meshes. This allows you to quickly move between the Meta-Targets and adjust them or re-do them as necessary.
1. Jaw_Open Meta-Target (Jaw Open with No Cheek Movement)
Since the teeth are elements of the mesh and not their own object, it is helpful to first center the back of the teeth in the center of the screen, then rotate the teeth and the face vertices using the Screen Reference Coordinate System and the Transform Coordinate Center about 15 degrees. Remember you can use Out-of-limit values in the Morpher modifier to open the jaw further (or raise the jaw slightly to tough the upper and lower teeth). I name this one and the other Meta-Targets with the exact convention as listed in bold. This allows you to see the entire morph target name in the Morpher modifier.
- The jaw is in its fully open position.
- Bottom lip rotation and teeth rotation match the movement of the jaw.
- The corners move about half as much as the middle of the jaw.
2. Lip_Crn_Dn Meta-Target (used for Lip Corners Up and Down)
- The corner of the lips move down.
3. Widen_Lips Meta-Target (can also be used to narrow lips without extruding them)
- The corners of the lips move outwards and back in to the cheeks. Move the vertices parallel to the line of the teeth. The motion is unlike a smile.
4. Lower_Lip_Up Meta-Target (Lower Lip moves Up to meet the upper lip and teeth)
- The lower lip is raised.
- The lower lip rotates inward. Values above 100 can be used to pull the lip higher when the jaw is open - as in a surprised/closed mouth position.
5. Lower_Lip_Dn Meta-Target (Lower Lip moves Down)
- The lower lip is pulled down.
- The lower lip rotates outward.
6. Narrow_Ext Meta-Target (Narrow and Extruded Lips - Blowing a kiss with the lips slightly open)
- The corner of the lips move inward parallel to the teeth.
- The upper lip rotates up.
- The lower lip rotates down.
- Both lips are extruded
- The lip corners rotate inward slightly.
7. Tongue_Dn Meta-Target (Controls height of tongue)
- The tongue rotates down in to the bottom of the mouth
8. Tongue_Out Meta-Target (Moves the tongue through the lips for the 'Though' viseme)This target is used in combination with other targets so the mesh elements don't actually go through each other.
- The tongue moves out, actually penetrating the lips and teeth.
9. Tongue Teeth Meta-Target (Curls the tongue Up to meet the back of the teeth for 'T', 'L', and 'N' sounds)
- The Tongue curls up to touch the back of the teeth.
10. Upper_Lip_Up Meta-Target (For the 'J', 'Ch', and 'S' sounds)
- The Upper Lip pulls up along the teeth.
- The Upper Lip rotates slightly out.
11. Cheeks Down Meta-Target (Controls the up (negative values) and down movement of the cheeks to be used with the jaw opening and with upper lip movement)
- The cheeks move slightly downward.
12. Cheeks In Meta-Target (Controls side to side movement of the cheeks to be used with narrowing and extruding the lips)A slight cheek movement inward accompanies jaw opening.
- The cheeks move slightly inward and forward.
13. Narrow/Ext_Chk Meta-Target (Narrowing and Extruding of the lips with slight cheek movement)It is quite easy to copy the Narrow/Extrude Meta-Target to create this one.
- Use the Narrow/Extrude Meta-Target as a base.
- Cheeks move in about 1/2 to 2/3 as much as the lip corners.
14. Jaw_Open_Chk Meta-Target (Jaw Open with cheek movement down and in)
- Use the Jaw_Open Meta-Target as a base.
- Cheeks move in 1/2 to 2/3 as much as the lip corners.
- Cheeks move down 1/2 to 2/3 as much as the lip corners.
15. Upper_Lip_Up_Chk Meta-Target (Upper Lip Up with slight cheek movement)
- Use the Upper Lip Up Meta-Target as a base.
- Cheeks move down 1/2 to 2/3 as much as the center of the lips.
THAT's IT! - for the Meta-Targets. Now get ready to create the Viseme targets!
Viseme and Facial Targets
You will first want to add a Morpher modifier to the original "Silent" mesh and then load all of the Meta-Targets. You can load them at once - producing an alphabetical list - or one at a time, in any order you choose. You will use the Meta-Targets to create the Viseme target set.Instead of using the Silent mesh to create the following targets, I suggest that you array the Silent target diagonally, away from the original "Silent" mesh. To do this, simply go to the top view, and array the "Silent" mesh, with the Morpher modifier included one half meter to the right and one half meter back, 15 times as copies, NOT instances, then rename each target according to the Viseme name list. This allows you to quickly use the F (Front) or R (Right) hot-keys with E (Zoom extents) to zoom in on a particular Viseme target. Each of these targets should include all the Meta-Targets found in Silent but should not include the MeshSmooth modifier. It is best to add the MeshSmooth modifier before rendering and eliminate it before editing.
You could use Silent to create each Viseme and Eye target one at a time, but if you wanted to go back and edit the 'Eat' or 'Ox' targets for example, you would have to start over with that particular Viseme. Arraying the Silent target back and to the right allows you to easily get to the target you created and edit it. For instance, let's say you widened the lips too far for 'Eat'. You may have the lip corners and jaw correct, but the lips are too wide. You can easily return to the 'Eat' target and lessen the amount of 'Widen Lips' used in 'Eat'. Eat (EE)
- The jaw is in a medium open position.
- The lip corners are pulled to their widest position.
- The lip corners are moved slightly upward.
Earth (Er)
- The jaw is in a medium open position.
- The corners of the lips are pulled down slightly.
- The lips are extruded slightly.
- There is very little narrowing of the lips if any.
- The tongue is pulled back slightly, floating in the middle of the mouth.
If (Ih)
- The jaw is in a medium open position.
- The lip corners are slightly widened.
- The lips are slightly open more than by the jaw alone.
- The tongue is toward the bottom of the mouth.
Ox (Ah)
- The jaw is in a medium open position.
- The lip corners are slightly pulled in.
- The lips are rounded towards on "O" shape.
- The lips are slightly extruded.
Oat (Oh)
- The jaw is slightly more open than in a medium open position.
- The lip corners are slightly pulled in.
- The lips are rounded towards towards an "O" shape.
- The lips are moderately extruded.
Wet (W/OO)
The "Wet" viseme is associated with both consonant and vowel sounds. It is the kissing shape.
- The jaw is in a medium open position.
- The lips are very rounded.
- The lips are very extruded.
Size (S/Z)
It is very important to make the S/Z, the Ch/J, and the Th sounds visually distinct.
- The teeth are clenched (use a slight negative jaw open movement).
- The lips are narrowed inward slightly.
- The lips are opened slightly.
- The lips are slightly extruded.
Church (Ch/J)
- The jaw is almost closed.
- The lips are extruded, but not rounded.
- The lip corners are narrowed inward.
Fave (F/V)
- The jaw should be open enough to allow the lower lip to fit between the teeth.
- The lower lip must be pressed against the upper teeth while the lower lip is rolled in OR is pushed slightly outward.
- The lip corners are slightly widened.
Though (Th)
It is important that the tongue is visible in this viseme.
- The jaw is open just enough to see the tip of the tongue.
- The tip of the tongue is between the teeth.
- The lips are at their relaxed width.
Told (T/L/D)
This position is very similar to the Ih and N/NG positions except for the position of the tongue.
- The jaw is in a medium open position.
- The lip corners are very slightly narrowed inward.
- The lips are at their relaxed opening.
- The tongue is pressed against the back of the top teeth.
Bump (B/M/P)
- The lips MUST be closed.
- The lips may be compressed and rolled in.
- The jaw should be open slightly.
- The corners of the mouth may be widened.
Cage (K/G)
- The jaw is in a medium open position.
- The corners of the lips are slightly widened and lifted.
- The lips are NOT extruded.
- The tongue is at the bottom of the mouth.
New (N/NG)
- The jaw is in a medium open position.
- The lip corners are slightly narrowed inward.
- The lips are slightly open more than by the jaw alone.
- The tongue is curved up just behind and above the upper teeth.
Roar (R)
- The jaw is slightly open.
- The lips are very narrow.
- The lips are very extruded.
Blink_L
- The upper lid of the Left eye comes down with the eyelashes, of course.
- The lower lid of the Left eye rises very slightly to meet the upper lid.
- The Left eyelid is completely closed.
Blink_R
- The upper lid of the Right eye comes down with the eyelashes, of course.
- The lower lid of the Right eye rises very slightly to meet the upper lid.
- The Right eyelid is completely closed.
EB-Up_L
- The Left Eyebrow is raised.
EB-Up_R
- The Right Eyebrow is raised.
Okay, Now what?!First, this is a good time to make a back-up copy of what you have done.
Now, you will want to return to the Silent object and eliminate its Morpher modifier, add a brand new Morpher modifier and load the Viseme targets, one at a time, in the order as indicated above. In the Track Info within 3DS Max, (without 'Show only Selected Objects' in Filters), under 'World', there is 'Sound', and under that is 'Waveform'. Right-click on 'Waveform' and go to properties, click on 'Choose Sound' and load the sound with which you wish to work. Then, have at it!
Using the slider in Max, move the time indicator along the timeline until you come to the first part of the sound file that requires 'Silent' to morph to one of the Viseme targets. Let's say that the first sound is 'M' in 'Matter'. Use the 'Bump' Viseme to close the lips of the character with a value of close to 100% at the point in time where the lips should meet each other. This creates a key at that frame. It is actually the 2nd key created since a key at time 00:00 is created simultaneously. I like to use the track info in order to control the before and after keys for the sound. When you create a key, let's say frame 30, another key is created - at frame 0. Move the first key at frame zero to 2 frames before the key that you set. Then copy this first key with a value of 0 to 2 frames after the key that you set. You can right click on any key and see its value. In this example, the time values of the keys would be 28, 30, and 32. Sometimes sounds require a mix of keys and sometimes 2 frames between keys is too much or not enough. Continue this madness until you have created targets for the sounds in your sound file.
This, as you can see, is extremely time consuming and that is why companies like Lipsinc create software to do it for you. I suggest that you practice with a very short sound clip. I recommend that you reserve half a day to lip sync a character by hand. Lipsinc, for a price, can do the lip syncing for you in a matter of seconds!!
Good luck!
Things to remember when working through the lip syncing.
Don't forget that you can extend the morph targets beyond their limitations by checking OFF the option for "Use Limits" under the Global Parameters tab of the Morpher Modifier.
I prefer to add a TCB Float controller to each speech morph target track and to both eye rotation tracks in order to gain better control over the character animation. With a TCB Float controller, you can set Ease To, Ease From, Tension, Continuity and Bias of each key frame. It is important to set the Continuity between speech target keys and the Continuity between Eye movement keys to zero or very close to zero. Otherwise, the movement of the visemes or eyes will "swing" through the keyframes. Sometimes, however, Continuity may be adjusted higher than zero to achieve certain effects.
Loading multiple targets when using the Morpher modifier will result in an alphabetical listing of your Meta-Targets or Speech Targets. It is essential that when loading the targets for the final Viseme targets, that you load them, one at a time, in the order listed above if you want to use the Lipsinc software.
The MeshSmooth modifier used to add smoothness to a mesh should be deleted when hand syncing lip motion. The extra complexity of the mesh may bog down your computer. It is very simple to delete the modifier and add it again with 1 or 2 iterations when you are ready to render test animations of your character.
Disclaimer
This material is adapted, sometimes directly, from the LipSinc Content Specifications and Guidelines. The tutorial is my slant on their guide and how to use that information to create effective lip syncing and/or to use their software products. Lipsinc can be found at www.lipsinc.com