Procedural Animation

In a procedural animation objects are animated by a procedure -- a set of rules -- not by keyframing. The animator specifies rules and initial conditions and runs simulation. Rules are often based on physical rules of the real world expressed by mathematical equations.


Key-frame animation vs. procedural animation
To produce a keyframe animation, the animator creates the behavior of a model manually by using an intuitive “put that there” methodology. The animator has direct control over the positions, shapes, and motions of models at any moment in the animation. On the other hand, to produce a procedural animation the animator provides initial conditions and adjust rather abstract physical parameters, such as forces and torques, in order to control positions, shapes, and motions of models. The effect of changing a parameter value is often unpredictable in procedural animation. The animator has to run a simulation to see the result.


Categories of procedural animation
Two large categories of procedural animation are 1. Physics-based modeling/animation and 2. Alife (artificial life)

1. Physics-based modeling/animation deals with things that are not alive. Physics-based modeling/animation refers to techniques that include various physical parameters, as well as geometrical information, into models. The behavior of the models is simulated using well-know natural physical laws. Physics-based modeling/animation can be considered as a sub-set of procedural animation and includes particle systems, flexible dynamics, rigid body dynamics, fluid dynamics, and fur/hair dynamics.

Particle systems simulates behaviors of fuzzy objects, such as clouds, smokes, fire, and water.

"Star Trek II" Genesis Effect"

Flexible dynamics simulates behaviors of flexible objects, such as clothes. A model is built from triangles, with point masses at the triangles’ vertices. Triangles are joined at edges with hinges; the hinges open and close in resistance to springs holding the two hinge halves together. Parameters are: point masses, positions, velocities, accelerations, spring constants, wind force, etc..

(Reference: D. Haumann and R. Parent, “The behavioral test-bed: obtaining complex behavior from simple rules,” Visual Computer, ’88.)


"Shrek 2"

Rigid body dynamics simulates dynamic interaction among rigid objects, such as rocks and metals, taking account various physical characteristics, such as elasticity, friction, and mass, to produce rolling, sliding, and collisions. Parameters for “classical” rigid body dynamics are masses, positions, orientations, forces, torques, linear and angular velocities, linear and angular momenta, rotational ineria tensors, etc.

(Reference: J. Hahn, Realistic Animation of Rigid Bodies, Proceedings of SIGGRAPH 88.
)

 


Fast frictional dynamics for rigid bodies
Fluid dynamics simulates flows, waves, and turbulence of water and other liquids.

Computational fluid dynamics
Fur & hair dynamics generates realistic fur and hair and simulates behaviors of fur and hair. Often it is tied into a rendering method.

"Monsters, Inc."


2. Alife (artificial life) deals with things are virtually alive.

Behavioral animation simulates interactions of artificial lives. Examples: flocking, predator-prey, virtual human behaviors.

"Mulan"
Artificial evolution is the evolution of artificial life forms. The animator plays the role of God. As artificial life forms reproduce and mutate over time, the survival of the fittest is prescribed by the animator's definition of "fittest" (that is artificial 'natural' selection). See Karl Sims's works.

"Panspermia" by Karl Sims
Branching object generation generates plants, trees, and other objects with branching structures and simulate their behaviors. Without a procedural method, building a model of a branching object, such as a tree with a number of branches, requires a lot of time and effort. Branching object generation methods (L-systems & BOGAS) employ user defined rules to generate such objects.
"I have never seen..." by M. Kitagawa