The making of Pixar's UP

The tech breakthroughs powering Pixar's new blockbuster

Pixar's latest film UP opens in the UK today. It tells the story of a retired widower called Carl who uproots his house and flies it to Venezuela, suspended from a canopy of helium balloons.

During the five years the film was in production, Pixar employed new rigging, animation, shading and rendering techniques to overcome the challenges the movie brought to the table.

Like the house in the film, the technology to create UP was anything but a light load. The challenges included defining intricate rigging and simulation to reproduce the balloons convincingly, and inventing a clever workaround to overcome the inherent difficulty of rendering iridescent feathers.

NEW PIXAR: UP is the latest movie from the CGI giant to grace our screens

The solution for Pixar was to develop new shading techniques that would push its industry-standard RenderMan rendering software to new heights. Supervising technical director Steve May explains: "The balloons were the biggest problem. Managing the complexity of the balloon canopy required some new techniques."

The solution was to use a physics-based simulation. In September 2007, FX technical directors Jon Reisch and Eric Froemling were tasked with transforming the canopy from the static model it was at that stage to a secondary character in its own right. "We needed to figure out a way to either simulate or animate the balloons. It required a massive effort to rewrite our rigid body pipeline from the ground up," says Reisch.

Reisch and Froemling started with the shape of the canopy, and a balloon was instanced on each of the points within that defined shape. Froemling set up the Open Dynamics Engine rigid body pipeline and wrote a Python layer on top of the ODE.

Then the Python procedural setup was abstracted into nodes in a Maya interface designed by Reisch. This enabled them to manage the amount of bounciness the balloons would have when they collided, and to vary the sizes of the individual balloons depending on where they were in the canopy.

TIME CONSUMING: Painstaking modelling has created a very impressive effect

The final balloon count was 10,297. Each was attached to the chimney of the house by a string with thousands of interactions going on. "The entire canopy is filled with balloons," says Reisch. "We didn't just simulate the outer shell." The result was not so much a balloon rig as a Python program that ran under the artists' tools.

Trick of the light

As if the balloons weren't enough, the bird character Kevin posed another set of challenges that were no less complex. The first challenge was to give the bird's iridescent feathers a soft, fluffy appearance.

In past Pixar features, feathers were modelled as either fur, as single hairs, or as single pieces of geometry shaded to look like feathers. Pixar used this method as a base to grow an additional set of hairs, and in some cases they added a third.

Kevin's feathers number in the thousands, and the number of hairs used to construct them were in the millions. Pixar created a curved plane full of hairs with added supports within the illumination model. The artists could illuminate the feathers as either individual hairs or as a surface, which offered a great deal of flexibility to explore soft and hard textures on different parts of the bird. This technique achieved the desired soft and fluffy look, but it also created the second challenge: how to make the feathers iridescent.

IRIDESCENT: The iridescent effect of the feathers required an entirely new approach to fur creation

Iridescence is a complex optical phenomenon caused by the spacing between tiny, microscopic fibres. If you examine an iridescent surface under a microscope, you'll see multiple layers of different shapes. As light reflects off these different surfaces, the different wavelengths of light interfere with each other, resulting in colour shifts.

In nature, iridescence occurs when the spaces between these structures are adjusted, such as when the organism moves. The problem was that there wasn't enough information on the surface of Kevin's feathers to reproduce this effect, since they were multiple pieces instead of coherent shapes derived from single pieces of geometry.

Pixar's solution was to create a simplified simulation of iridescence using the same idea, but based on the incidence of the light and the viewing angle. A system was designed that enabled iridescent highlights to move in a plausible manner, but the actual colours were painted in texture maps.

By using the angular difference between the feather and the location of the light in conjunction with the camera location, the angle of the reflected light allowed for lookup of a specific colour. The specular highlight was the same shape whether or not it was iridescent; the difference was in how the highlight was tinted.

The artists made a colour selection for one of the texture maps, then masked it according to the location of the specular highlight. The location of the light in relation to the camera defined which colour to use; then the specular highlight would cut out a shape from that colour.