Diana Phillips Mahoney
Water, water everywhere, but not a drop looks real. Trying to create believable digital water dampens the spirits of animators everywhere. Unlike a solid object, water is amorphous-its appearance varies depending on its environment and motion state. For example, running water looks different from splashing water, which looks different from poured or trickling water. As a result, water is not amenable to traditional polygonal representation. And while many amorphous phenomena-smoke, clouds, and fire, for instance-can be believably modeled using particle systems, dynamic water cannot. This is because water is not randomly diffuse. Though variable, its form is generally well defined. Conse quently, many animation research ers have poured themselves into the development of hybrid modeling and rendering techniques that will enable the realistic representation of liquids in motion.
A promising effort in this regard is being developed by researchers Alan Murta and James Miller in the Advanced Interfaces Group at the University of Manchester in Eng land. The pair has devised a method for modeling and rendering dy namic fluids that uses a particle system to approximate the behavior of moving liquid and an implicit-surface technique to "wrap" the diffuse particles and enable realistic rendering.
On their own, each of these techniques is inappropriate for modeling liquid. While particle systems are useful for modeling amorphous phenomena, they do so by modeling huge numbers of miniscule, independently acting points. Thus they are better suited to representing unstructured phenomena such as fire and smoke than they are to depicting the structured behavior of fluids.
|A visualization of the pouring, splashing, and droplet formation of water is achieved by encasing groups of particles, the behavior of which change depending on the environment.|
In contrast, im plicit-surface techniques (me ta balls, soft surfaces, "blobbies") can easily de scribe smooth, intricate forms, but they generally are not able to incorporate the requisite behavioral characteristics of liquid, such as distortions caused by gravity and the ability of droplets to merge and disperse arbitrarily.
The method the Manchester researchers have developed takes advantage of the best of both techniques. "We use a macroscopic model, which features 'large' particles for modeling large accumulations of liquid," says Murta. "These have the capability to dynamically split into several smaller particles should the simulation require it-for example in a high-velocity splash, where many small droplets may be formed." In addition, small particles can fuse into larger ones. The system computes the attractive and repulsive force values of the liquid at given intervals to determine when various particles should and should not coalesce.
The modeling system also supports the creation of distinct particle "families" to allow the modeling of multifluid situations, such as the separation of oil and water or the development of air bubbles within liquid droplets, allowing different physical behaviors to be implemented across the system. For example, particles can be programmed to coalesce only with members of their own family, or they can be defined to exhibit distinct buoyancy behaviors relative to the other families, such as oil droplets or air bubbles rising to the surface.
The particle system also incorporates specialized collision-detection mechanisms for modeling the the fluid's impact with a solid body. If a particle hits a surface at high velocity, rules are applied to create a splash. The consequence of low-speed surface encounters is a sliding effect, whereby the particles move parallel to the surface.
Once the particle behavior is defined, an implicit-surface representation is generated, whereby each particle emits a spherical field, and a surface is drawn where the combined field strength of the particles equals some constant value. This isosurface is then rendered using a custom raytracer that tests for intersections between the emitted rays and the surface values.
Because the potential field generated by each particle is spherical, distortion techniques are implemented to represent the shape deformation that takes place when a droplet hits a solid surface. To do this, the system identifies particles that are in contact with solid bodies then applies relative scale and shear distortions to change the shape profile based on the angle at which the droplet hits the surface and gravity.
To maintain the volume of liquid throughout the simulation process, the system automatically adjusts the rendered isosurfaces to reflect the incompressibility of fluids. "Liquids cannot be compressed or stretched, so we wanted our synthetic liquids to maintain a near-constant volume, regardless of their configuration. Oth erwise, two distinct droplets would tend to occupy a different volume of space than two merged particles enclosed within a single droplet," says Murta.
|When adjacent droplets merge on a flat surface, the volume of the liquid is preserved by computing an ideal volume based on predefined characteristics. (continued on below image)|
To make the appropriate adjustments, the system computes the "ideal" volume of the particles in a given system. This ideal is determined by first calculating the volume contained within an isolated particle droplet, then scaling that volume by the number of particles in the cluster. "When clusters of particles combine to form larger ag glom erations of liquid, we compare the volume enclosed by their shared isosurface with the ideal value produced by this num ber of isolated particles. We then iteratively adjust the field strength of this particle group in order to grow or shrink its isosurface, stopping when the volume of the result matches the ideal to within some predefined tolerance."
Though the iterative nature of the system enhances the realism of the final rendered images, the fact that both the volume-refinement process and the custom renderer approximate results by replicating series of operations has some drawbacks. One in particular is the requisite algorithmic complexity, "which tends to make the rendering method relatively slow," says Murta. Thus, the technique is limited to non real-time applications.
|The angle of surface impact affects the behavior of particle primitives in a liquid splash.|
Additional technical limitations include the system's inability to produce quality models of settled (vs. dynamic) bodies of liquid because the isosurfaces produced by the particles do not produce the requisite flat horizontal surfaces. Also, says Murta, "our methods for dealing with the interactions of liquid volumes with solid bodies in the scene are fairly rudimentary. For example, a collection of particles inside a drinking glass may emit a field that passes through the glass, and droplet parts may exhibit themselves on the glass exterior." While the system can handle simple ar rangements of this sort, complex simulations are beyond its scope.
In addition to addressing these issues, the researchers are also considering other enhancements. One is to make the rendered images look more wet. Right now, says Murta, "the still images produced by this method do not appear to look particularly wet, although this could also be argued of high-speed photographs of real splashing liquids." One way to change this, he suggests, would be to maintain a history of the isosurface values over time. "Knowing where the droplet has been in the past allows us to render 'damp patches' in the droplet's wake. This may help the portrayal of wetness." Another potential enhancement is the incorporation of such physical phenomena as liquid surface tension.
Though still in its early stages of development, says Murta, this proof-of-concept liquid modeling/rendering system is likely to make waves in the animation world as the demand for realistic computer-generated liquids grows.
Diana Phillips Mahoney is chief technology editor of Computer Graphics World.