Clouds with Character: Partly...

1
Copyright is held by the author / owner(s). SIGGRAPH 2009, New Orleans, Louisiana, August 3–7, 2009. ISBN 978-1-60558-726-4/09/0008 Clouds with Character: Partly Cloudy David Batte Pixar Animation Studios Michael Fu Pixar Animation Studios The short film Partly Cloudy is about the relationship between a stork and a cloud named Gus (Figure 1). To achieve the goals of the film, Gus needed to emote while maintaining a cloudy physical quality. Our talk will discuss the development and challenges of creating a cloud with the appeal of a human character. Figure 1: Volumetric Character Gus with Stork Partly Cloudy c Disney / Pixar. All rights reserved. 1 Approach We explored several techniques to achieve a cloudy character and settled on a volumetric approach that allowed us to leverage our existing tools. A traditionally rigged subdivision surface charac- ter was built, which represented the approximate outer surface of the cloud volume. This allowed animators to use Pixar’s existing animation pipeline to drive Gus. Particle control meshes were ex- tracted from the surface model. The animation of the CG model was also transferred and applied to the control meshes. Particles were goaled to the control meshes so that the particles track with the an- imation, and procedural expressions were added to the particles to create secondary motion within and off of the control mesh. The particles were then exported and used in combination with an At- mos volume shader [Scheepers and Angelidis 2008] and rendered with Pixar’s Renderman to create the final look. Other approaches explored were surface-based and sprite-based methods. The surface method attempted to create a volume cloud with a ray-marching shader on animated geometry. It was diffi- cult to develop a cloudy look with this technique. The sprite-based method offered visual interest but neither achieved the cloudy look nor scaled as well as the volumetric approach. 2 Artistic Control Definition of shape is an important factor in creating a readable character. Attempting to match the carefully posed face and hand animation proved particularly challenging. Due to the particle ra- dius we used to approximate the control surface, there was an er- ror between the apparent isosurface created by the volume particles and the original animated surface model. Our procedural secondary motion further complicates this. This error and variation is nec- essary to obtain the cloudy look, but simultaneously disturbs the carefully posed shape the animators have created. To address the issue, we used control maps to define particle radius, emission rate and amount of secondary motion. These control maps were tested against extreme character poses to make sure they worked for a full range of motion. Gus’s eyes presented an interesting challenge. The artistic direc- tion given for his eyes required the use of surface geometry, but the cloud material Gus is composed of was not dense enough to occlude the eyes behind the eyelid. This was particularly apparent when he closed his eyelids – mere films of cloud. To solve this problem, we pre-rendered texture masks, matting the eyeball with the original eyelid surface model. The eye shader used these texture to mask out any region of the eyeball that should be occluded. We discovered that our volumetric objects were very sensitive to light and shadow placement – Gus is vertical in a horizontal cloud base, making it difficult to find a lighting setup that worked for both objects. We decided to build Gus in sections that could be lit inde- pendently and merged together. This allowed for greater creative control in lighting and therefore, a more appealing character. 3 Optimization Volume rendering can be computationally expensive. A rendering profile of Gus showed that large portions of our renders were be- ing spent calculating noise. For each volume sample, there can be multiple overlapping particles contributing density. Each of these particles make calls to the noise functions. We attempted to min- imize the noise calls by balancing the particle count, the particle size and the number of octaves of fractal noise that were being used while maintaining the look of the character. A second method was also employed to optimize our renders. The Atmos shader utilizes an opacity threshold to halt marching along the ray. We employed an offset interior mesh that was articulated to closely follow the exterior surface. This mesh was used to gen- erate a second set of particles, which helped fill the void inside the character. By making these interior particles more dense, we in- creased the accumulated opacity more quickly, thereby halting the marching sooner. References SCHEEPERS, F., AND ANGELIDIS, A., 2008. Atmos: A system for building volume shaders. ACM SIGGRAPH 2008 Talk.

Transcript of Clouds with Character: Partly...

Page 1: Clouds with Character: Partly Cloudywebstaff.itn.liu.se/~jonun/web/teaching/2009-TNCG13/Siggraph09/c… · Clouds with Character: Partly Cloudy David Batte Pixar Animation Studios

Copyright is held by the author / owner(s). SIGGRAPH 2009, New Orleans, Louisiana, August 3–7, 2009. ISBN 978-1-60558-726-4/09/0008

Clouds with Character: Partly Cloudy

David BattePixar Animation Studios

Michael FuPixar Animation Studios

The short filmPartly Cloudy is about the relationship between astork and a cloud named Gus (Figure 1). To achieve the goals ofthe film, Gus needed to emote while maintaining a cloudy physicalquality. Our talk will discuss the development and challenges ofcreating a cloud with the appeal of a human character.

Figure 1: Volumetric Character Gus with StorkPartly Cloudyc©Disney / Pixar. All rights reserved.

1 Approach

We explored several techniques to achieve a cloudy character andsettled on a volumetric approach that allowed us to leverage ourexisting tools. A traditionally rigged subdivision surface charac-ter was built, which represented the approximate outer surface ofthe cloud volume. This allowed animators to use Pixar’s existinganimation pipeline to drive Gus. Particle control meshes were ex-tracted from the surface model. The animation of the CG model wasalso transferred and applied to the control meshes. Particles weregoaled to the control meshes so that the particles track with the an-imation, and procedural expressions were added to the particles tocreate secondary motion within and off of the control mesh. Theparticles were then exported and used in combination with an At-mos volume shader [Scheepers and Angelidis 2008] and renderedwith Pixar’s Renderman to create the final look.

Other approaches explored were surface-based and sprite-basedmethods. The surface method attempted to create a volume cloudwith a ray-marching shader on animated geometry. It was diffi-cult to develop a cloudy look with this technique. The sprite-basedmethod offered visual interest but neither achieved the cloudy looknor scaled as well as the volumetric approach.

2 Artistic Control

Definition of shape is an important factor in creating a readablecharacter. Attempting to match the carefully posed face and handanimation proved particularly challenging. Due to the particle ra-dius we used to approximate the control surface, there was an er-ror between the apparent isosurface created by the volume particlesand the original animated surface model. Our procedural secondary

motion further complicates this. This error and variation is nec-essary to obtain the cloudy look, but simultaneously disturbs thecarefully posed shape the animators have created. To address theissue, we used control maps to define particle radius, emission rateand amount of secondary motion. These control maps were testedagainst extreme character poses to make sure they worked for a fullrange of motion.

Gus’s eyes presented an interesting challenge. The artistic direc-tion given for his eyes required the use of surface geometry, but thecloud material Gus is composed of was not dense enough to occludethe eyes behind the eyelid. This was particularly apparent when heclosed his eyelids – mere films of cloud. To solve this problem, wepre-rendered texture masks, matting the eyeball with the originaleyelid surface model. The eye shader used these texture to maskout any region of the eyeball that should be occluded.

We discovered that our volumetric objects were very sensitive tolight and shadow placement – Gus is vertical in a horizontal cloudbase, making it difficult to find a lighting setup that worked for bothobjects. We decided to build Gus in sections that could be lit inde-pendently and merged together. This allowed for greater creativecontrol in lighting and therefore, a more appealing character.

3 Optimization

Volume rendering can be computationally expensive. A renderingprofile of Gus showed that large portions of our renders were be-ing spent calculating noise. For each volume sample, there can bemultiple overlapping particles contributing density. Each of theseparticles make calls to the noise functions. We attempted to min-imize the noise calls by balancing the particle count, the particlesize and the number of octaves of fractal noise that were being usedwhile maintaining the look of the character.

A second method was also employed to optimize our renders. TheAtmos shader utilizes an opacity threshold to halt marching alongthe ray. We employed an offset interior mesh that was articulatedto closely follow the exterior surface. This mesh was used to gen-erate a second set of particles, which helped fill the void inside thecharacter. By making these interior particles more dense, we in-creased the accumulated opacity more quickly, thereby halting themarching sooner.

References

SCHEEPERS, F., AND ANGELIDIS, A., 2008. Atmos: A system forbuilding volume shaders. ACM SIGGRAPH 2008 Talk.