Interactive skeleton-driven simulation

Interactive skeleton-driven simulation (or Interactive skeleton-driven dynamic deformations) is a scientific computer simulation technique used to approximate realistic physical deformations of dynamic bodies in real-time. It involves using elastic dynamics and mathematical optimizations to decide the body-shapes during motion and interaction with forces. It has various applications within realistic simulations for medicine, 3D computer animation and virtual reality.

Background

[edit]

Methods for simulating deformation, such as changes of shapes, of dynamic bodies involve intensive calculations, and several models have been developed. Some of these are known as free-form deformation, skeleton-driven deformation, dynamic deformation and anatomical modelling. Skeletal animation is well known in computer animation and 3D character simulation. Because of the calculation insensitivity of the simulation, few interactive systems are available which realistically can simulate dynamic bodies in real-time. Being able to interact with such a realistic 3D model would mean that calculations would have to be performed within the constraints of a frame rate which would be acceptable via a user interface.

Recent research has been able to build on previously developed models and methods to provide sufficiently efficient and realistic simulations. The promise for this technique can be as widespread as mimicking human facial expressions for perception of simulating a human actor in real-time or other cell organisms. Using skeletal constraints and parameterized force to calculate deformations also has the benefit of matching how a single cell has a shaping skeleton, as well as how a larger living organism might have an internal bone skeleton - such as the vertebrae. The generalized external body force simulations makes elasticity calculations more efficient, and means real-time interactions are possible.

Basic theory

[edit]

There are several components to such a simulation system:

  • a polygon mesh defining the body shape of the model
  • a coarse volumetric mesh using finite element methods to ensure complete integration over the model
  • line constraints corresponding to internal skeleton and instrumented to the model
  • linearizing of equations of motion to achieve interactive rates
  • hierarchical regions of the mesh associated with skeletal lines
  • blending of locally linearlized simulations
  • a control lattice through subdivision fitting the model by surrounding and covering it
  • a hierarchical basis containing functions which will provide values for deformation of each lattice

domain with calculations of these hierarchical functions similar to that of lazy wavelets

Rather than fitting the object to the skeleton, as is common, the skeleton is used to set constraints for deformation. Also the hierarchical basis means that detail levels can be introduced or removed when needed - for example, observing from a distance or hidden surfaces.

Pre-calculated poses are used to be able to interpolate between shapes and achieve realistic deformations throughout motions. This means traditional keyframes are avoided.

There are performance tuning similarities between this technique and procedural generation, wavelet and data compression methods.

Algorithmic considerations

[edit]

To achieve interactivity there are several optimizations necessary which are implementation specific.

Start by defining the object you wish to animate as a set (i.e. define all the points): .

Then get a handle on it. Let

Then you need to define the rest state of the object (the non-wobble point):

Projects

[edit]

Projects are taking place to further develop this technique and presenting results to SIGGRAPH, with available reference of details. Academic institutions and commercial enterprises like Alias Systems Corporation (the makers of the Maya rendering software), Intel and Electronic Arts are among the known proponents of this work. There are also videos available showcasing the techniques, with editors showing interactivity in real-time with realistic results. The computer game Spore also has showcased similar techniques.

See also

[edit]

References

[edit]
[edit]