|
Features

Giving
Life to Ratchet & Clank:
Enabling Complex Character Animations by Streamlining Processes
Walks
and the Walk Guide
Another
device we used to aid our animation was called the Walk Guide. We
used this tool help our characters' feet stick to the ground during
walk and run animations. Although foot slippage is commonly forgiven
in the world of games, we hoped that by eliminating it we could
add an extra dimension of believability to our characters' locomotion.
The
Walk Guide was an elongated cube with many smaller cuboids attached
to it. The smaller cuboids were identical to the polygonal markers
on our characters' ankles and toes, which were grouped to their
feet during setup.
By
scaling a special parent node, the Guide's small cuboids could be
adjusted to match a character's foot size. Scaling the large cuboid
allowed an animator to accommodate for the character's stride length.
A set of constraints and locators ensured that as the stride length
changed, the preset foot size remained constant.
Since
our walk cycles were animated in place, we needed a way in which
to simulate forward movement while keeping track of the positions
of a character's feet. The solution was to animate the Walk Guide
to the speed specified by the designer (2 meters per second, for
example). Once the Walk Guide was moving at the proper speed and
the small cuboids correctly scaled, an animator could begin working
on the character's walk cycle.
The
trick to using the Walk Guide to eliminate foot sliding was to keep
the character's foot markers lined up with the small cuboids on
the Guide. This applied for every frame in which the foot made contact
with the ground (Figures 8).
Upon
a cycle's completion, a character could be put into a level and
moved at its preset speed with little or no foot slippage. Additionally,
programmers could scale the playback speed of the cycle relative
to the character's velocity and still have the feet stay grounded.
There
were several gameplay situations that were not as clean as the test
case I just described; however, the Walk Guide did serve to plant
our character's feet properly in most of our worlds. Once accustomed
to the Guide, we animators found that using it benefited both our
schedule and our artwork, as it kept track of the more technical
aspects of locomotion for us.
Making
Faces: Artistic Reasons and Technical Details
We
knew from the start of developing Ratchet & Clank that
facial expression would be an important component not just to our
cinematics but to our gameplay animations as well. Once again, we
were faced with the dueling goals of animation depth and scheduling
efficiency. We settled on two methods for making faces: one simple
one for our enemies and one more complex for our heroes. Expressions
exaggerated the idles, intensified the attacks, and sealed the deaths
our of enemies and heroes alike.
When
animating our enemies, we drew on a traditional animation dictum:
A viewer of animation is usually drawn to a character's face, particularly
to the eyes. Attention paid to a character's eyes and mouth was
very important to making convincing actions, especially during our
quick gameplay cycles.
Most
enemy characters had fairly simple face skeletons. However, these
skeletons allowed for a high degree of manipulation of the eyes
and mouth. Each eye had between two and four bones controlling its
brow and lids. Mouths were generally simpler, using only one or
two bones. In most cases, this setup gave us all the flexibility
we needed to exaggerate the enemy's features and thus heighten the
emotion of its actions (Figure 9).
Our
heroes' faces had a more sophisticated setup, which they shared
with the NPCs. Though NPC faces were manipulated mostly in our cinematics,
Ratchet & Clank made heavy use of expression during gameplay,
as well.
Like
the enemy setups, hero and NPC faces were manipulated via their
face joints. Unlike the enemies', these joints were animated though
a driven key system instead of being transformed directly. Since
they clocked more screen time, hero and NPC faces tended to have
a far greater amount of bones - and hence expressive range - than
their enemy counterparts.
Figure
10 shows some of the range of expression Ratchet and Clank exhibit
during gameplay. He smiles when excited, grimaces when he's hit,
grits his teeth during combat, chatters them when he's cold, and
drops his jaw when he dies. Clank's expressions change both while
he's strapped to Ratchet's back and when he's played independently.
As
I mentioned earlier, hero and NPC expressions were animated by combining
preset driven key attributes via a MEL script slider interface.
These presets allowed the animator to combine and create a wide
array of facial expression without having to build them from scratch.
Like color primaries, these attributes could be blended together
to form new combinations.
About
half of a character's 40 or so facial attributes were dedicated
to producing a basic expression, either on all or on parts of the
face. These basic expressions included anger, disgust, fear, happiness,
sadness, and surprise, all of which would be easily recognizable
to a player. More subtle attributes were dedicated to animating
phonemes and controlling individual facial features. Unique and
varied emotional ranges could then be achieved by combining expression,
phoneme, and feature attributes together.
Scripting
Facial Presets
Assigning
facial presets to our characters cost us some setup time. However,
we were able optimize some of the processes with another MEL script.
Like our other MEL tools, this script automated some of the tedious
steps, allowing a setup artist to spend more time on the art of
sculpting facial poses.
Facial
presets were created in a separate animation file, where each expression,
phoneme, or feature pose was stored as a separate keyframe. Upon
completing this file, a character artist would use our MEL Driven
Key Generator (Figure 11) to set the driven keys automatically
for each pose.
The
Driven Key Generator worked by comparing the transformations of
the keyframed pose to those of a default. When the script registered
that a channel had changed from the default, it would set a driven
key on that channel based on its changed value. The script relied
on MEL's arithmetic functions to identify value changes, and its
setAttr and setDrivenKeyframe commands to activate the drivers.
Listing 2 shows some of the Driven Key Generator's sample
code.
The
drivers for our facial animations were stored on a model called
the Control Box, shown in Figure 12. This hierarchy of cubes
served as a visual outline of facial attributes, and could also
double as a second interface. For efficiency's sake, Ratchet, Clank
and all of our NPC characters had identical Control Boxes, though
Ratchet's had many more active drivers.
We
found our automated setup method to be advantageous for three reasons.
First, it saved a setup artist from having to manually identify
and key bones, channels, and drivers. Second, it assigned driven
keys to changed channels only, leaving any non-affected channels
free for animators to keyframe. Finally, it circumvented Maya's
built-in driven key interface, which we found to be cumbersome and
even unreliable when simultaneously assigning multiple bones and
channels to a driver.
Regardless
of method, facial animation played a vital role in breathing life
into our gameplay characters. Again, MEL was instrumental both in
granting our artists access to an advanced Maya feature, and in
optimizing our workflow. Whether a hero or an enemy, virtually every
character personality in our game was strengthened through facial
expressions. In turn, this enhanced interactions both with players
as well as between the characters themselves.
______________________________________________________
End
of Cycle
|