It's free to join Gamasutra!|Have a question? Want to know who runs this site? Here you go.|Targeting the game development market with your product or service? Get info on advertising here.||For altering your contact information or changing email subscription preferences.
Registered members can log in here.Back to the home page.

Search articles, jobs, buyers guide, and more.

By Alex Ferrier
Gamasutra
August 27, 1999

Printer Friendly Version

Letters to the Editor:
Write a letter
View all letters


Features

Real-time Soft-object Animation using Free-form Deformation

Contents

Introduction

Objects and Coordinate Systems

Mathematical Definition of Bezier Curves

A Review of Bezier Surfaces

Introducing Bezier Volumes

The FFD Operation

Bringing all the Theory Together

Geometry in today’s games tends to be static. It's common to see animated characters composed of a hierarchy of meshes moving relative to each other, but it's rare to see the animation of individual vertices within a mesh.

Animating hierarchies of meshes (the common method) is a fine way to portray an object's movement, but does little to portray character or situation. In fields other than computer graphics, animators traditionally have exaggerated parts of a character to convey expressions. With current animation techniques, such exaggeration isn't possible. An object generally remains the same shape throughout the game.

Deforming the vertices within a mesh (the rare method) is the domain of soft-object animation. Until recently, this process was simply too expensive to consider in real-time. Soft-object animation is becoming computationally affordable, however, and can greatly enhance your animation.

There are many situations where a technique for deforming meshes could be applied in games:

  • In cartoon-like animation, it can be used to personality to an object’s animation sequence. For instance, a character that is jumping will squat down first, and an angry character might pulse with rage. This is an example of a global deformation – the whole object is controlled by one deformation.
  • During a crash in a car racing game, the area where the impact occurred could be deformed, and remain so afterwards. This gives a convincing look of damage and saves the need for having multiple models of each car. This is an example of local deformation – you don’t want the whole car to deform just because the front bumper is bent.
  • A hierarchy of deformations can animate characters with more convincing muscle tone than hierarchies of objects are capable of portraying. This is an example of hierarchical deformation, and the deformations would overlap. For instance, at the joints of a bone how the flesh looked would be dependent on the position of both bones.

We’re going to examine one of the simpler forms of soft-object animation - Free-form Deformation, commonly known as FFD. The technique has been around for some time, and was first documented in a SIGGRAPH paper by Sederburg and Parry in 1986. Programs such as 3D Studio Max have supported FFD both as a modeling and animation technique for some time, but it is only recently that the technique has become practical in real-time game engines.

At its heart, FFD is the metamorphosis of an object from its originally modeled appearance - known as the object’s rest state - to its deformed state. This is accomplished by deforming the object’s coordinate system in the following three steps:

  1. The object to be deformed is embedded in a regular coordinate system defined by three mutually perpendicular axes - the standard (X, Y, Z) axes we’re all used to dealing with.
  2. The coordinate system is deformed, allowing its previously straight axes to become curves. Areas of the coordinate system can collapse inwards or expand outwards.
  3. The positions of the object’s vertices in the old (regular) coordinate system are updated to match where they ended up after the coordinate system was deformed.

This procedure will result in an object deformed in so that it is "intuitively consistent" with how we deformed the coordinate system. The term "intuitively consistent" is very popular in research papers on these subjects, but in practice it means that the deformed object looks like you hoped it would look. This allows artists to have confidence when using the technique in games.


Objects and Coordinate Systems


join | contact us | advertise | write | my profile
news | features | companies | jobs | resumes | education | product guide | projects | store



Copyright © 2003 CMP Media LLC

privacy policy
| terms of service