1.
Draw an Eyebrow Curve Select
the face object and press
i to go into it. In the Perspective viewport,
tumble and dolly until you are looking at the eyebrow area. Before
drawing the curve, press Ctrl -
j to turn on snapping. Press
tab > Curve and snap to the points on the
face model as shown below. When you are finished, RMB-click
to complete the curve. Change the curve's Primitive
type to NURBS.

Press tab
> group. Since the curve is already selected,
RMB-click to
accept. In the Parameter pane, change the
Group name to eyebrow. Also
change the operator name to eyebrow_group. The group
name will make it easy to set up your wire capture controls.
2.
Draw a Smile Curve Tumble
and dolly until you are looking at the corner of the mouth. Press
Ctrl - k to open the snap options. Increase
the priority for the Geo edge
option. This will let you draw a curve by snapping to both edges
and surface points. Press
tab > Curve, snap to the edges on the face
model as shown below. In this case you are not following the topology
of the surface directly. RMB-click
to complete.

Change the
curve's type
to NURBS. Press
tab > group.
Since the curve is already selected, RMB-click
to accept. In the Parameter pane, change the
Group name to smile. Also change
the operator name to smile_group.
3.
Merge the Curves
In the Network
pane, press tab > Merge
and place the tile near the two group SOPs. Next,
wire the outputs of both group SOPs into the input
of the merge SOP.
4.
Capture the Wires
In
the Network pane, press tab >
wireCapture and place the tile below the new
merge SOP. Wire the output of the face
geometry into the wirecapture's first input. This
is the geometry to be captured. Next, wire the output of the merge
into the wirecapture's second input. Turn
on the display
flag for the wirecapture SOP then select
Operator > Footprints and Templates
> Clear all Footprints from the pane menu.
In the Parameter
pane, go to the Capture
tab and click on the Initialize
From Groups button. This uses the two curve
groups built earlier to define the wires used to capture the face
model.
The wirecapture
SOP is now displaying a yellow error icon. If you MMB-click on the
tile's icon, you are told at the bottom that no points are being
captured. This is because the wires do not have a capture radius
set. For the eyebrow wire, set the U
Radius to 0.125
and for the smile wire, set the
U Radius to 0.1.
Now the areas surrounding the wires are being captured.

5.
Vary the Eyebrow Capture Radius
In the Parameter pane, Alt-click
on the second parameter of the U
Radius and Lookup parameter to set a keyframe.
This parameter represents the lookup amount. RMB-click
on the field and select Scope Channels
from the pop-up menu. Alt-click
somewhere to the right of the existing keyframe to add a second
key then Alt-click
again in the center of the channel. Drag this key down to reduce
the size of the radius.

In the Perspective
view, you can see the radius
along the eyebrow wire adjusting to match the shape
of the channel.

The channel
is defining a lookup table that defines what the U radius will be
at different positions along the curve. The values for the first
and last key on the channel will be assigned to the start and end
of the wire with any internal keys being adjusted along the curve
in proportion to its position in time.
6.
Deform the Wires In
the Network pane, RMB-click on the wirecapture SOPs
output, select wireDeform, and
place the tile below the new wireCapture SOP. Next,
wire the merge SOP output into both the second and
third inputs on the wiredeform SOP. These define
the rest geometry and the deformed geometry as defined by the wires.
Turn on the
display flag
for the wiredeform SOP. In the Parameter pane, click
on the Deform
tab and click the Initialize from
Rest Groups button. Now there are now controls
for the two wire groups that can be used to deform the face. MMB-click
in the smile's U
Deform parameter and with the value grid set
its value to about 0.6.
The face is now deformed.

7.
Create a second Curves For
the eyebrow, you will create some facial deformation by reshaping
the eyebrow curve using a blend operation. Set the Display
flag on the merge SOP. In
the Viewer pane, press tab >
edit and press 1
to set your selection to points. Click on the first point on the
eyebrow curve, RMB-click
to accept it then push it down. Set the template
flag for the merge SOP in order to use it as a reference
for your edits.
Make sure that
Secure Selection
is off then use this edit SOP to reshape all the
points on the new eyebrow curve as shown below. You
may want to Display points to help you find the CVs while you edit.
Don't touch the smile curve.

8.
Blend the Eyebrow Curves In
the Network pane, press tab >
blend and place the tile. Wire the output of
the merge SOP into the blend's input and then wire
the output of the new edit SOP into the same input.
Next, wire the output of the merge SOP to the second
input of the wirecapture SOP. This replaces the
connection betwen the edit SOP and the wirecapture
SOP. You want to make sure that the original curve is being used
to capture the face not the reshaped curve.
Next, wire the
output of the merge SOP to the second input (rest
geometry) of the wiredeform SOP and the output of
the new blend SOP to the third input (deformed geometry)
of the wiredeform SOP. When you are finished, set
the display
flag for the wireDeform SOP and turn off any footprints
or templates in the network.

9.
Create HUD sliders
In the Network
pane, select the blend SOP tile. In the Parameter
pane, double-click on the second blend
field and then LMB-drag
it to the Viewer pane to create a Heads-up
Display (HUD) slider. RMB-click
on the HUD and choose Handle
Parameters... In this window, keep the range
set to 0 and 1 then lock the high and low values.
In the Network
pane, click on the wireDeform SOP, then double-click
on the smile's U
deform and LMB-drag
from the Parameter pane to the Viewer pane. Set the Handle
parameters to lock the high and low values.
If you want to give these sliders friendlier names then select
Tools > Persistent Handle Editor... from
the main menu.
10.
Test the Results
You can now
use the HUD sliders to deform the surface. Press u
to go back up to Object level then press s
to get the transform tool. Click in empty space then use the HUD
sliders to deform the face. At any time press k
to keyframe the slider values then scrub in the timeline and keyframe
some new values.

Conclusion
A real facial
setup would make use of many curves all representing the muscles
that define facial expressions. Only two curves were used in this
lesson but the principle would be the same.
The various
parameters used to control the deformations along the curve and
any blends would be rigged up to the character's digital asset interface
for high level access by animators.
|