2012 Step by Step
Director Roland Emmerich was famously destructive in the civilization-in-peril movies The Day After Tomorrow and Independence Day, so when he called 2012 the biggest visual effects movie he's ever done, that's saying something. This Sony Pictures release envisions an end-of-the-world scenario that includes downtown Los Angeles collapsing into a giant chasm, while the film's protagonists try to escape by plane. Their aircraft weaves its way through crumbling skyscrapers and flying debris in a bit of visual choreography that's worthy of a thrill ride. Except for cutaways to the actors inside the plane, this 85-shot sequence was created completely in the computers at Los Angeles-based Digital Domain (DD).
"To fly over city blocks that are collapsing was very daunting," says Mohen Leo, DD's visual effects supervisor. "Up until recently, rigid body destruction was something we felt more comfortable doing with miniatures. But for an office building hundreds of feet tall, even a twelfth-scale miniature would be so enormous it wouldn't be practical."
DD's crew began the task of modeling downtown Los Angeles in Autodesk Maya by referencing location photography and survey data. "We'd actually do a floor of the high rise and build it out," says Digital Effects Supervisor Darren Poe. "We had a very strict protocoljust about every building, air conditioner, and desk were texture painted, and shaders were set up for them. We could turntable them in different HDRI environments of real buildings that we had photographed." For texture painting, DD artists used Adobe Photoshop, and the team created the shaders in Pixar RenderMan.
These objects were then brought into Side Effects Software Houdini for the process of simulating the buildings' collapse. Emmerich provided DD with an extensive previz done by Pixomondo, which showed how he wanted the skyscrapers to collapse.
"It was obvious that off-the-shelf rigid body solvers wouldn't work for this," Leo says. "Hundreds of objects needed to tumble and shatter and break. To make the scale of that destruction believable we'd have to put in so much detail."
This challenge led DD to develop a new simulation system called Drop. "Our software team built it around a fast, open-source engine called Bullet," Leo says. "Bullet was the core solver, but we established a system for generating and breaking constraints and for assigning material properties to objects. That allowed us to do things that are very difficult for rigid body solvers, such as concave objects and organic shapes where collisions become very complicated. Drop is tremendously fast, and it allowed artists to iterate on a fairly long simulation in an hour or two. We were able to simulate tens of thousands of colliding objects."
"The big foreground buildings that had to break at will were modeled procedurally floor by floor," Poe says. "We put in cubicles and people and Bic pens, and then let the sim happen. So when a floor drops, everything on it was programmed to react to those forces. Some things would break and others would bounce or get stuck. We have great abilities to direct the simulations, but sometimes they'd do their own thing and give us something cooler than we expected."
"We worked from the largest objects to the smallest," Leo says. "Once we'd have approval from Roland on the overall performance, we'd add tumbling furniture and even smaller debris. Our modeling department assigned material properties like glass or concrete or wood, and these various elements would then be preshattered based on those properties. The break lines for concrete had different patterns than the ones for glass or wood. All the pieces were reconnected with constraints that held them in their natural shapes. Then forces would be applied to the building to start breaking it. We could also weaken some of the constraints so that if we wanted a building to collapse in a particular direction or break at a certain point, we could define a region where the constraints would be weaker so that the building would be more likely to collapse there first."
All of the CG elements were rendered in RenderMan. "We had massive render times," Poe says. "The airplane itself was a really dense model, and we couldn't render all the buildings together. These buildings are mirror-like, and you can see the reflections of one building on another. Each frame was 100-plus megabytes of image layers and three-dimensional data."
"We made a point of rendering things out in lots of passesnot just beauty passes, but Fresnel passes and depth passes," Leo says. "We broke out reflections and refractions that could be recombined in the composite so that our compositors had as much control over the shot as possible. Sometimes there were 100 render passes, with each pass having 20 layers."
Along with the reflections and refractions of the mirrored skyscrapers, large
amounts of smoke had to be generated as the collapsing buildings caught fire. "For the most part, the smoke was made from particles in Houdini and Storm, our inhouse volumetric renderer," Poe says. "We had the ability to groom the Storm elements as well."
"Storm is a very powerful system for rendering volumes, but there had to be a lot of integration," Leo says. "The smoke simulations had to be based on the rigid body simulations, and then we had to render them with the correct holdouts because all of these details had to be layered on top of each other within the smoke."
Compositing was handled with Nuke, a program originally developed at Digital Domain and currently available through The Foundry. "Nuke allowed us to work flexibly," Leo says. "Our compositors could add elements in the far background without having to go back through layout, rendering, and lighting. That happened on occasion, like when Roland said, 'I want to see more shaking palm trees in the distance.' We had a library of prerendered shaking palm trees, and because there is a 3D application in Nuke, we could basically add those details during compositing."
When the digital dust finally settled, the studio had created around 32,000 shattering windows and dozens of simulations per shot. "This is one of those movies where the amount of detail we could add was limited only by time," Leo says. "I can't remember very many occasions when Roland said, 'That's too much. Don't add any more!'"
Director: Roland Emmerich
Visual Effects Supervisors: Volker Engel, Marc Weigert (for Uncharted Territory)
For Digital Domain:
Visual Effects Supervisor: Mohen Leo
Digital Effects Supervisor: Darren M. Poe
Computer Graphics Supervisor: David J. Stephens
CG Effects Animation Lead: Mårten Larsson
CG Effects Animators: Brian Gazdik, Jaymie Miguel
CG Lighting Artist: Dann Tarmy
CG Modeling Lead: Brian Christian
Animators: Chad Finnerty, Jack Geckler
Digital Environments Lead: Andres Martinez
Digital Compositing Lead: Jason Selfe
Digital Compositor: Francis Puthanangadi
Software Engineer: Nafees Bin Zafar
Technical Developer: Ramprasad Sampath