eTech & Art & More

Natural Animation

by Forrester Cole
15 August 2001

   The Natural Animation presentation was a collection of four papers on animating realistic- looking materials, both in real time and offline. The papers spanned three of the four physical states, including gas, liquid, and solid. Plasma is open for next year.

Visual Simulation of Smoke
   Jos Stam of Alias|Wavefront presented work on the animation of smoke, done in conjunction with Ronald Fedkiw and Henrik Wann Jensen of Stanford. The goal of their work is to produce a system for simulation of smoke that looks good and runs fast, and is applicable to both real time and offline rendering. Additionally, they wanted to develop a model that did not require a large amount of user control to generate good results.
   The authors chose a full physically-based fluid model as their high level approach, in contrast to earlier work that used textured geometry. Any sort of realistic fluid modeling is based on the Navier-Stokes equations. Excepting surface tension, which does not apply to gases, Navier-Stokes fully specifies fluid flow. Solving the full Navier-Stokes equations is notoriously difficult and time-consuming, however, so the authors chose to limit the problem by assuming an incompressible gas with no viscosity. Additionally, the user may vary the smoke's density and its temperature. Density controls the smoke's tendency to fall, whereas temperature controls the smoke's tendency to rise. Solving these simplified equations is fairly straightforward, but conventional simulations run into difficulty with a phenomenon know as numerical dissipation. Numerical dissipation is related to the finite resolution of the simulation, and has the effect of smoothing out vortices and other small, but highly visible details.
   The solution that the authors proposed is to add the energy lost to dissipation back into the simulation. The velocity vector field of the smoke is examined, and areas of high vorticity, i.e. where the smoke is swirling strongly, are isolated. The algorithm computes the energy that would be lost to dissipation in these areas, and then adds that energy back in after the simulation step is performed. The result is a simulation with persistent vortices.
   The demonstrations using this method were very impressive. Stam first showed several demonstrations running in real time on a laptop PC. In a two-dimensional demonstration, he moved a disc through smoke streamlines, producing convincing turbulence. He even showed a more limited demo of smoke running in real time on a Pocket PC. Stam finished with higher resolution, three dimensional movies of smoke billowing and flowing around a sphere.

Practical Animation of Liquids
   Nick Foster of PDI/Dreamworks followed with a presentation on liquid animation, done in collaboration with Ronald Fedkiw of Stanford. The work was aimed at creating a flexible, three-dimensional liquid simulation system for animation. The system has been proven in practice; it was used to good effect in this summer's movie, "Shrek".
   When simulating liquid, computer animators have access to a huge literature of techniques from the computational fluid dynamics (CFD) field. A straight translation of CFD research to animation will give poor results, however, since CFD is concerned with physical accuracy and not rendered appearance. Animators could care less about physics, as long as the results look good. For the authors, good looks mean the liquid has a good combination of "sloppy" splashing effects and a realistic, smooth surface. To achieve good results, the authors used the classic Navier-Stokes equations for incompressible fluids, but made some physically unfounded assumptions when they suited the end result.
   When rendering fluids modeled by Navier-Stokes there are two natural representations. The first is to model each cell of the simulation as a particle. Particles are great for splashes and turbulence, but do not give a perfectly smooth, calm surface. The second method is to render an isosurface of the fluid density. An isosurface gives an excellent smooth surface, but tends to smooth out detailed splashing effects. The solution chosen by the authors is a hybrid of the two approaches. The algorithm looks at the local curvature of the liquid's surface to determine whether a particle, an isosurface, or a blended combination of the two should be rendered.
   The model also allows a user to arbitrarily set the velocity of fluid particles and maintain realistic results. Rather than model solid particles moving through the liquid and the accompanying friction and physical effects, the authors simply treated the object as if it were liquid. The velocities of the fluid particles that intersected with the object were set and held to the velocity of the solid object. The results speak for themselves, as anyone who has seen Shrek will attest.

Dynamic Real-Time Deformations
   Gilles Debunne then presented a paper on real-time deformations for simulation of elastic objects. The paper is a collaboration of Debunne and Marie-Paule Cani of IMAGIS-GRAVIR, Mathieu Desbrun of the University of Southern California, and Alan H. Barr of Caltech. The research is targeted at producing realistic, dynamic deformations for surgical simulations. Dynamic is this context means that the object remembers its state and can continue to change shape and oscillate after external prodding is stopped. Since the system is targeted towards surgical simulation, it must support haptic devices for interaction. A human can sense slow updates in a haptic device all the way up to around 1000 updates per second, which puts stringent limits on the performance of the deformation model.
   The authors found that they could only model around 100 separate points inside a solid before performance would degrade to unacceptable levels. To maintain performance while getting an acceptable resolution around the haptic device's position, the authors adopted a multiresolution system for the deformable mesh. While the rendered mesh is maintained at a high level of detail, the deformable mesh is greatly simplified. When the haptic device deforms the mesh farther than can be acceptably modeled by a coarse representation, the coarse representation is replaced by a finer representation that can model the deformation.
   A multiresolution solution sounds good on paper, but it runs into several practical difficulties when applied to a dynamic setting. The modes of oscillation of each resolution of mesh must match, or else they cannot be combined effectively. The interface where a coarse mesh gives way to a finer one must be bridged in a way that allows forces to be transmitted between the meshes. The authors solved the interface problem by overlapping the meshes. An overlapping area between the meshes gives enough information to transmit forces between the two. The multiresolution preserving vibration modes were achieved with a combination of explicit finite element modeling and a special dampening stage.
   To demonstrate the algorithm Debunne poked and prodded a model of a human liver, a gummy bear, and a fat man. Some popping was still visible around the interface areas of the meshes, but that could most likely be eliminating through morphing or some similar technique.

Optimization-Based Animation
   The last paper in the session was on work modeling difficult conditions on rigid body collisions. Victor J. Milenkovic, who authored the paper, along with Harald Schmidl, both of the University of Miami, described one of the issues as the ping-pong paddle problem: when you bounce a ball between a paddle and the table, as you bring the paddle down to the table the ball begins to vibrate back and forth very quickly. In a conventional rigid body simulation, several collisions of this type can occur between time steps. Collisions between time steps must be either ignored, giving poor simulation results, or solved by breaking the time steps down further, giving an inefficient algorithm. The goal of the authors' research is to model many, crowded and bouncing rigid bodies, along the way, solving the ping-pong problem.
   The algorithm aims to model collisions in a plausible, but not completely physically accurate way. To this end the algorithm uses some heuristics in conjunction with its primary quadratic programming solution. The algorithm can model non-convex bodies by decomposing the bodies into several convex forms. By using a quadratic programming solution, the algorithm can also correctly model objects that bounce and break off from other pieces. These capabilities were shown off by a demonstration of jacks falling into a box and of beads dropping through an hourglass, bouncing around convincingly before settling to the bottom.

The Official SIGGRAPH 2001 Natural Animation page.




This page is maintained by YON - Jan C. Hardenbergh All photos you see in the 2001 reports are due to a generous loan of Cybershot digital cameras from SONY