Hero Shading Techniques used on The Lord of the Rings: The Two Towers
Ken McGaugh Guy Williams
Weta Digital, New Zealand
The hero CG characters in The Two Towers provided many challenging shading problems, both for their required quality of realism, and also for the sheer number of shots they appear in. Here we present several shading techniques we feel are either new to feature film production, or are novel adaptations of existing techniques. Ambient occlusion has been discussed often in recent years, and like most we were eager to use it in our production lighting pipeline.
However, some of our characters were just too complex to render using raytracing, as was especially the case for Treebeard. To get around this limitation, we developed a shadow map based approach to compute not only the ambient occlusion, but also the reflection occlusion and the bent normals (average unoccluded direction).
Although the results were not as precise as those computed from raytracing, they were less noisy, they were faster, and they fit better into our existing pipeline. These benefits were so great that we used this approach almost exclusively.
Though relatively small in size, eyes are one of the most important shading challenges for any character. We developed several techniques for rendering the eyes of our CG characters to increase both the realism and the ease-of-use. Specifically for Gollum, we wanted to be able to simulate non-local effects such as corneal refraction of the iris, the meniscus near the eyelids, and an extra amount of shadowing from the eyelids. Additionally, we wanted to do this without raytracing and all in a single pass. We were able to solve the corneal refraction problem using a special displacement shading technique which displaced the iris to appear as if it were refracted through the cornea. The eyelid meniscus and shadow effects were created by constraining curves to the edges of the eyelids, and then querying information about these curves from within the shaders at render time.
Not being anything like humans, Treebeard and the other Ents had special artistic constraints on how their eyes looked and behaved.
Treebeards eye was modeled after a glass (or sap) ball with clouds of color inside that coalesced into the shape of an iris. The main goal was to have a very soulful eye that did not look at all like a humans eye. Treebeards eyes have no sclera, and the iris floats inside the volume of the eye and is not attached at any point. To get this stylized look for Treebeards eyes, the shader simulated the iris as multiple textured planes inside the volume of the eye. This was enhanced to give the illusion that the iris was slightly curved like a shallow bowl. Finally, to make the iris dilation more interesting, the iris texture was rotated along with the dilation, but the amount of rotation was reduced to nothing towards the edges.
We feel the shading techniques used to simulate Gollums skin were unique. Rather than model the skin as multiple layers, each with complex light interactions and angle dependencies, we modeled Gollums skin after the paint-on-silicone process the Weta Workshop uses to create silicone maquettes and prosthetics. Not only did this simplify the shading substantially, it was based upon practical techniques designed specifically for making skin look real when filmed. In this model the skin is a layer of infinitesimally thin pigment on top of a homogeneous translucent silicone base. Simulating the pigment layer on the silicone was the easy part.
Simulating the translucent silicone base layer was the difficult part as it needed the subsurface scattering to be computed. Again, we wanted to do this without raytracing, so we developed a shadow map based approach to subsurface scattering. We cut many corners to make it production friendly, including using a simple lambertian to replace the multiple-scattering component, which also happens to be precisely correct in the flat surface approximation. These cheats also gave us better artistic control over the perceived sense of translucency, which was more important to us than physical correctness.
Thanks to New Line Cinema, the staff of Weta Digital, and in particular the assistance of Kevin Smith, Joe Letteri & Dan Lemmon.
Making Treebeards Beard for The Lord of the Rings
Guy Williams Dana Peters
Weta Digital, New Zealand
In creating a talking tree for the movie, Lord of the Rings, The Two Towers, one of the major hurdles was the creation of Treebeards beard. Following is a description of the process from early concept through final renders.
The early designs were modeled after roots that grow aboveground on a certain type of tree in New Zealand. The goal was to invoke the image of a beard without it looking too anthropomorphic. The plan was to use twigs for the hairs and add leaves and moss in to fill out the volume and give it character.
The first proposed method was to model overlapping shells and use shaders and textures to get the sense of a dense volume. Early test on this test failed (rather miserably). The core of the problem was the twigs and moss in the beard. The leaves and extra details could be added as geometry but the amount of twigs and moss precluded them being anything but procedural geometry of some sort.
For the first movie we had written a plugin for the hair on our digital doubles. This plugin (wmHair) created simple guide curves which could be modeled and animated (by hand or procedurally), then turned into a much denser volume of hairs at render time. We did some early test to see if these hairs could be used as wider twigs and were very pleased with the results.
The moss was created using the same method but the hairs were made very wide (2-4 inches across) and then textured with a transparency map simulating hanging moss. The render times were not as bad as initially feared and this method was adopted for the moss layer. Later in production, however, a bug in Pixars RenderMan caused certain frames to hang and fail. Production couldnt wait for a fix, so a new method for moss was needed.
The actual cause of the render bug was when RenderMan had to pick an orientation for its hairs. The problem manifested more as the hairs got wider in screen space (the reason the twigs and the rest of the hair on the show was ok but the moss was not). To get around this limitation, we extended the wmHair plugin to do a Jacobs Ladder, with hairs growing off the sides of the main hair. The new plugin solved the problem while resulting in lower render times.
For the beard to appear natural, it needed to move as a single mass while also responding to the movement of the face beneath it.
Our first attempts were based on simply shrink-wrapping the beard to the face. Thismethod tended to stretch and bend the beard, acting more like rubber than vines, twigs, and moss. We were fortunate enough to have a life-sized physical model built byWetaWorkshop for reference. Looking to this model for clues on how the beard might move more naturally, we noticed that it was built up from many layers of twigs and moss. We used this idea of layering to drive modeling and movement of the beard.
Using a layered approach, we were able to control smaller areas of the beard to prevent the twigs from stretching. We built a series of shells that replicated the basic structure of the physical model.
A simple set of joints was created for each shell. The base of each joint chain was constrained to the underlying facial geometry. An IK handle was run through the joints and constrained to the shell of the layer beneath it.
This gave us a set of shells that moved correctly with the face but slid over the shells directly beneath it, maintaining its original length. Because all of these shells were interdependent, any movement in the lower section of the beard would move the upper section appropriately as well. The end result was a beard that acted like a unified mass while allowing enough internal movement to convey underlying facial animation.
The last task was to add shaders to make the twigs more twiglike and add the modeled leaves and branches into the beard system. The leaves were simple NURBs patches parented to locators in the bake. This allows us to animate wind over the leaves in the beard without having to rebake the beard structure.
The shader used on the twigs that helped in the look was a displacement shader that displaced the hair curve using a noise pattern along the length of the curve. Instead of offsetting the point along the normal, the displacement moved the entire hair along its width (dpDv), thus adding a scraggly effect to the beard.
Thanks to New Line Cinema, the staff of Weta Digital, and in particular the assistance of Jeff Hameluck, Jane OCallaghan, and Matt Aitken