Rigorous Simulations Sent Iron Man and Thor Crashing Through a Forest

“It’s gods fighting each other,” says Weta Digital visual effects supervisor Guy Williams, describing a fight between Iron Man and Thor in The Avengers, one of many for which the studio supplied digital doubles and a CG Iron Man. For these shots ILM provided geometry – Maya files – for Iron Man’s Mark VI suit; Weta provided shaders and most of the textures.

“When Iron Man shoots Thor, we see big explosions of light, smoke, and sparks,” Williams says. “When Thor shoots back with lightning summoned from the sky, the lightning dances across Iron Man and melts his armor. Iron Man shoots a second time, Thor and Iron Man are 50 yards apart, and they both take off and tackle each other 50 feet off the ground. Iron Man uses his thrusters to fly Thor up through the trees while punching him in the face, and slams Thor's face into a vertical wall. Thor lifts off the cliff and elbows Iron Man. They fall to the ground through the trees while they’re punching each other, right through the center of one tree that shatters and falls right behind them. Even the sedate shots had tons of effects.”

Enough spoilers. Let’s just note that in the sequence, a shockwave topples trees and peels the bark off their branches.

Kevin Romond led an effects team of around 15 artists at Weta Digital who planted the forest and then destroyed it, and who created the sparks, explosions, dust hits, liquid nitrogen and other effects in the studios’s 400 shots. Jason Lazaroff  was the lead effects artist.

The team used Maya’s fluid solver to generate most of the explosions, Houdini’s particle effects to create magical blasts when Loki blows up cars, and Synapse, an in-house simulation toolset, for volumetric effects such as the liquid nitrogen and the dust hits.

“If you take out the buoyancy in a smoke ‘solve,’ it looks instantly like dust,” Lazaroff says. “But we always combine that with other elements such as fine Maya particles, pebbles, dirt particles, and the ground cover. We always start with the heavier stuff like the dirt and debris, and then use those as emission forces for dust.”

For the forest, modelers supplied the layout department with branches and trunks created using an in-house, curve-based tool. Layout artists combined a limited number of these parts to create a variety of trees. “The elements are RIB files that deform at render time,” Lazaroff says. “We generated the pine needles procedurally using curve instancing at render time.”

Having the deformation happen at render time saved compute time. “Trees are a problem for CG because of the detail,” Romond says. “Rendering the trees straight up is a problem, and if they’re moving, that’s another problem. Our solution is to send the curves, which are like the joints and bones in a character, and the hero geometry, and munge them together at render time. That way, we don’t have to write out big files of moving triangles on disk.”

To shatter the trees, the effects team used the studio’s optimized implementation of the Bullet rigid body solver. Wrapped into the implementation are fracturing tools and a glue solver. With the glue solver, effects artists can first pre-fracture the geometry to art direct the damage. The glue holds the pieces together until the simulation takes over and fractures the geometry based on forces – fractures it again and again.

 “The system is fast and makes geometry that allows for re-fracturing,” Romond says. “Our artists can determine how many generations of procedural fracturing to use.” A tree might break apart when a superhero crashes into it, and when those pieces collide, fracture into smaller pieces that can in turn fracture again. The system detects the forces generated by the collisions, and only re-fractures if the force is significant, but the re-fracturing can continue as long as memory allows.

The sequence was one of many challenging simulations. “We had about 50 trees in those shots [of Iron Man and Thor fighting],” Williams says. “It was a fun scene to work on, and we just kept piling on the challenges. Jason [Lazaroff] and Ronnie Menahem [lead effects TD], who came in half-way through, were fantastic. We’d say, ‘While we’re at it, let’s blow that other tree up.’ They never balked at the challenge.”

Lazaroff notes that the studio’s decision to devote dedicated resources to simulations helped the crew meet the demanding schedule. “We have a special machine with 32 cores and a lot of RAM for turning out simulations in a timeframe that makes production possible. We had a lot of simulations.”