Home
Next Event
Past Events
Resources
Volunteers
What's New
ACM SIGGRAPH
Visual Effects in Shrek

Juan Buhler, Jonathan Gibbs, Scott Peterson, Scott Singer
PDI/DreamWorks

March 27, 2001

Notes by Rob Fitzsimmons

PDI/DreamWorks will be releasing Shrek May 18th. Meeting attendees had a captivating look at the research and results that push the limits of CG. The four presenters discussed skin, "mud-poop", trees, and mixing mud and beer.

Jonathan Gibbs spoke first about the challenges of rendering skin. Why is it so hard to get good skin on a 3D character? We see it all the time; we know when something's wrong. Why is it that we can tell a mapped skin texture from an organic skin? Skin is translucent, and therefore the light is scattered in the subsurface. You can learn more about how Henrik Wann Jensen at Stanford solves that problem in our meeting notes from February.
PDI's subsurface scattering approach is somewhere between physical reality and artistic judgment. Inspired by physical reality, the skin shader calculates light that penetrates the surface, bounces around, and exits the skin at a different point. The artistic approximation comes into play when the skin goes from sun to shade. The shadow edge has a reddish color due to the simulation of light entering the lit part of the skin, and diffusing under the skin to creep into the shadow area. This effect can be seen when you press a flashlight against your hand. Artists also took matters into their own hands by painting trasparency maps to thinner areas such as ears.
Jonathan was also responsible for hair. As we know, a realistic character has countless strands of hair. PDI found it was best to dynamically generate the hair only at render time. Otherwise, Fiona was a prohibitively large model - around 40 megs. They modeled the structure of the hair, not unlike an artist would quickly sketch the volume that a persons hair occupies. I learned from figure drawing that's the better way to convey hair, rather that trying to draw every strand. But I digress. They used that geometry as guide for growing hair, and textured the hair though a random lookup to a column on a color map. To render convincing hair, a volumetric depth map was used to calculate and generate shadows.
Download his presentation

Scott Singer then spoke about the challenges of animating and rendering "mud-poop". A real crowd pleaser. Scott's task was to find the line where gross stops being funny, and stay just West of that line. Mud poop is used to tell us of Shrek's bachelor kind of life. Scott solved the challenge of creating believable mud-poop and other semi-solids with particles. The poop had to undergo drastic changes in scale, stretching to twice its length at times. Scott's solution involved "marshmallow" like geometry wrapped with a stretchy skin. Animating the marshmallows imparted the movement to the skin. First renders demonstrated the traditional UV mapping methods distort way too much. The answer to this problem comes from sampling the stretchy skin's UV coordinates, translating into 3D world space, and assigning particles to those points. The particles don't stretch themselves, but stretch the space in between. The result is a clumpy surface that breaks at points to reveal a sublayer of more gooey stuff. Beyond the technical lessons learned, Scott also saw the sociological aspects of calling poop meetings over the company intercom. He learned that some people are uncomfortable discussing poop around a conference table. Most interestingly, everybody has a different idea of what it should look like, and they are surprised by that fact.
Download Scott's presentation

Scott Peterson presented the approach he using to create and animate the hundreds of trees in the film. The trees were represented as curves - sort of a stick figure of the tree. Tubes were assigned to the reference curves, and viola, you have a tree. Well, mostly. Close inspection shows the tubes crashing through each other where the branches meet. Converting the tree to a polygon mesh, and then relaxing the polys gave the smooth transition from trunk to branch. The curve representation of trees helped both in their compact structure (less data required to represent the tree), and their hierarchical relationships. Correct hierarchy is crucial for animating the tree. Adding a wind force to the tip of a branch affects that branch much more that its parent branch and much much more than the trunk. As far as animating, the first attempt involved applying a wind force to the tree, and dynamically solving the motion. This effect was not quite right. More complex wind forces would generate better motion. The wind force was better described as a fluid. This produced eddies and a more natural force to drive the tree motion.
Download the other Scott's presentation

Juan Buhler worked on the daunting challenge of creating the complex interactions between objects, thick mud and thinner water and beer. Starting with Nick Foster's Flu Tools from the Antz flood sequence, a team modified it to describe a thicker mud. Collision detection wasn't too hard for known geometry, such as Shrek's feet, or other objects. The real challenge was to get two dynamic simulations to interact. They could simulate the mud, and then used the mud as an obstacle for the water/beer. But since the mud was not aware of the water and beer, it would not leave any space for it. The solution is the run them both in the same simulation, but this is very costly in computer power. Tests looked great - a ball thrown into a rectangular section of mud behaved very convincingly. Mud splashes away, and tries to return to equilibrium, but the water, being runnier, can rush to fill the void faster. Puddles form and change shape as mud slowly returns to displace the water. Juan was really pleased with these tests. Then he realized the slop that Shrek and others will be wallowing in was a hundred times larger. This huge increase in real estate prohibits running a simulation anytime this decade. However, all they really care about is the goop that's immediately in Shrek's wake. They broke the mud field into sections, and only simulated the ones needed. A blending system was put into place the carry the effect into neighboring, inactive sections.
Download Juan's presentation

Send comments to the webmaster