An approach to facial animation in Realsoft3D
|
The goal is to build an "interface" which we can animate the model with.
The animation is split up into several small parts like muscles and expressions.
All parts are then driven through curves over time.
Depending on the task I choose one of the following approaches, or a combination thereof.
*Individual animations of individual muscles/parts, i.e.- corners of the mouth up/down, or in/out - inner/outer eyebrow up/down, etc. - lower jaw up/down |
*A neutral face pose and several expressions to morph into- grin - laugh - panic * or a neutral mouthshape and morphtargets like A (E, I), B (M, P) , F (V, W), etc. |
To illustrate this method I use a very basic SDS head.First build Mr.Sock or use the supplied model. I also included the functional model with 7 choreographies. Open the choreography window on your second monitor. Or learn to live with your single monitor setup and use a tri-split view with front, side and choreography at once.
|
|
Load the mrsock.r3d object, select it in the select window, right-click and select "make choreographable". This attaches a new choreography object to Mr.Sock.
This thing is a container for all the animation attributes we teach him now.Any object can have multiple choreographies assigned. The little red yellow ring indicates this as the active choreography that is recorded to. |
|
Dbl-click the chor and rename it to "lower jaw". Enter object edit mode, Press "Anim Record". Now modify points/edges/vertices for the lower jaw until satisfied. End record mode. With this you have not taught an animation but simply a morphtarget. |
Here you can adjust how strong each paticular choreography affects the object.Drag the slider to 0 and see how the modification you just made is "faded" out. Set it back to 1. |
|
Create a new choreography for the upper jaw's down movement and for the mouth corners' in/out. The animation is built by pressing record, jumping to the desired frame and adjusting the weight fader. |
You can then edit the resulting curves in the choreography window.RMB-select "show all curves". Select between showing state curves and weight curves. |
Fine tuning of the curve happens in the Animated Properties tab.
The curve view can be zoomed and panned with ctrl-rmb and shift-rmb. |
Note that you have to touch one of the timesliders to reflect the changes to curves on the geometry.(Quick hack: press +, then -, until I find/build a hotkey for update animation system)
|
|
The eyebrows get a chor each for the left and right corner. A different method this time: |
|
Press record, move the frame slider somewhere, and adjust the geometry. Repeat as needed. When done, stop recording. |
Goto state curve tab, activate the state curve and tweak it to your liking.
|
|
With this method the actual time inside the choreography is modified according to the curve. We sort of drive the animation back and forth between it's endpoints. ![]() Editing happens in the State Curve tab. The are numeric input fields and the standart shift-rmb and ctrl-rmb controls work for panning and zooming. |
| This method has the advantage that it also works with animations with multiple keys (for curved movement paths, etc.). |
|
Here is a rendered AVI/DivX example of MrSock singing a few bars of "Don't You Know" (255KB, AVI, DivX MPEG4 V3, IMA ADPCM Audio) courtesy of B'Rocks, a former band of mine. (c)1985 B'Rocks from the demo tape "Songs that were to become hits, but...". |
|
You can download the html-tutorial zipped (166KB) including the objects here . |
|
Have fun with this, and please, kids, do try this at home;)
regards, Hellmut |
Keywords: facial anim, choreography, state curve, weight curve, sock Version: 1.2 Fixed: 22-Jan-2001 Modified: 17-Jan-2001