De-compiling the VFX of Source Code

For Source Code, director Duncan Jones looked to visual effects supervisor Louis Morin to help realize 850 shots of trains, explosions, virtual transitions and other crucial sequences in the film. We focus on some of the key effects work from Modus FX, MPC, Rodeo FX, Oblique FX and Fly Studio.

Director Duncan Jones

Source Code tells the story of Colter Stevens (Jake Gyllenhaal), a soldier who finds himself in the body of another man on a Chicago commuter train. But after eight minutes the train explodes and Colter is revealed to be inside a mysterious pod, being directed by U.S. Army officials. They convince him to return to the train – eleven times – and investigate the bombing. With only eight minutes to thwart the bomber before the bomb explodes, Colter soon realizes something much larger is at stake.

This unusually structured plot drew visual effects supervisor Louis Morin into the world of Source Code, ultimately delivering several hundred effects shots to depict the multiple train explosions and other sometimes otherworldly scenes. “I like film structures that are a little bit different than the classic American movie,” recalls Morin. “It had a nice twist too and a great beginning – basically Colter finds himself on a train and has no clue who he is. There’s a girl in front of him, Christina (Michelle Monaghan) who knows him, but he doesn’t know her. He looks at himself in the bathroom and sees another guy, and then – kaboom! – after eight minutes the whole train explodes and we’re off.”

Trains and stations

Exterior views of the Chicago commuter train were realised in many shots – including extreme close-ups – as an entirely digital creation, based on reference of a real Chicago train. “We were chasing trains in a helicopter for a full day,” says Morin. “Plus I had a six camera set-up of a train coming into a station.” Modus FX, under visual effects supervisor Eloi Brunelle, modeled and built the CG commuter train and tanker in Softimage, paying particular attention to the metallic surfaces and reflections. The train was incorporated into shots of it stopping at the station.

CG train and station by Modus
Modus created the digital speeding train

“There’s a long shot of Colter is stepping out of the train and realizing he is in Chicago,” recalls Modus CG supervisor Mostafa Badran. “There’s this 180 degree pan around him and you have the train right behind him. There’s a series of people walking by going into the train. Also, the greenscreen was being moved by people accidentally who were also shaking the tracking markers. So that involved a lot of undistortion of the plates, roto, tracking and then adding in the CG train.”

For shots of the train at the fictional Glenbrook Station, production re-created a set in Montreal. “They were planning to use a train station here in Canada,” says Morin. “For construction reasons – the train station was under renovation – they lost the location. So the production designer, Barry Chusid, came to me and suggested we do a set piece. I suggested we could just make the ground floor where the actors would walk. I asked him to cover the other side of the train station where there was a parking lot, where the crew were parking their cars.”

“In the end,” continues Morin, “we decided to go virtual, so everything on the other side of the train station – everything behind it and above the first floor is virtual. There was a tremendous amount of roto and tracking involved in that, and adding reflections and transparencies and detail.” Modus worked on concepts for the station with reference from Orland Park station in Chicago, then modeled buildings and produced matte paintings for backgrounds and vegetation before compositing the shots in Nuke.

Strangers on a train

Since much of the film’s action before each explosion takes place inside the commuter train, Morin pushed for scenes to be shot on a controlled pneumatic platform set in Montreal. Moving backgrounds would be composited through train windows, the majority by Rodeo FX with additional work by Mr. X. “Barry Chusid bought some old trains and re-built it so we could shoot in pieces at various angles,” says Morin. “We had curtains you could slide in and out, so we had a 360 degree greenscreen. I told Duncan, once we’re inside the train, I’ll give you total freedom. You can shoot whatever you want.”

Original greenscreen plate
Final composite by Rodeo FX

After the train interiors had been filmed on the Montreal set, background plates were shot in Chicago to accommodate what would have been minus 20 degree centigrade temperatures if the plates had been shot beforehand. “Because we were shooting the plates afterwards, I agreed to a plan with our DP, Don Burgess, to shoot with very little light interaction,” says Morin. “I would shoot the plates when the sun was above the view from the windows. We also shot with a lot of dirt in the windows. I was always saying dirt’s my friend on set because you can use it as tracking markers and also to really feel that there were windows out there.”

Plates were captured using a three camera set-up, with the two exterior cameras crossing over each other and one in the center. “I basically shot with two of these set-ups, so with six cameras,” explains Morin, “with all of those cameras synced together and did multi-passes of trains in Chicago. I did the two sides, front and back and the second level of the train.”

Rodeo FX then handled over 300 shots of train window comps under visual effects supervisor Sebastien Moreau. Using the background plates, Rodeo had an approximate 120 degree field of view in an 8K wide DPX sequence, and relied on shots and data from the visual effects editor to determine where the backgrounds belonged. “We choose the five most common angles,” says Moreau, “and did a lot of research to define the color palette, to establish speed and horizon line level, and the amount integration with the background. A lot of attention was given to the exposure levels of the outside environments, the amount of light-wrapping that would happen, the amount and the visibility of reflections and dirt on the windows, and the amount of interactive lighting that would get dialed in.”

“We built our comp setups keeping all these different controls in mind,” adds Moreau, “so to that we could easily control the transparency, reflections, dirt and scratch amounts independently based on what we’re seeing in the background plates. We also built custom tools to add and control interactive lighting inside the train based on what was going on outside the train. 
Knowing that all these shots would get composited in Flame and Nuke, and that they would need to look identical, we made sure that all these tools and techniques would get to and from the different compositing packages seamlessly.”

A particular challenge on these train composites was the horizon line and speed of the backgrounds, given that they had to cut seamlessly together. Says Moreau: “Even if the train ride was the ‘real’ train ride as was filmed by the second unit, the perception of speed would change a lot from shot to shot. The compositing supervisors would update all the work-in-progress shots in a 2K edit that was built in Flame, and make sure the speed of the train and horizon line would appear constant from shot to shot.”

Making an impact: the first explosion

The initial train explosion, completed with visual effects by MPC in Vancouver, is seen in seven shots and repeated in shorter bursts throughout the film. Modus previs’d the sequence and shared assets with MPC for the CG train. MPC visual effects supervisor Erik Nordby joined Louis Morin in Chicago for reference photography at the proposed spot of the explosion, which needed to match an aerial location that had been re-shot to accommodate a view incorporating the city skyline. “It was this monolithic-looking mass of red brick buildings,” says Nordby. “We shot HDRIs and textures so that we could re-build it using photogrammetry techniques. We also got lucky because the first day we surveyed it was overcast which allowed us to shoot a bunch of very flat lit photography, and then on the day we actually shot plates it matched with the direct sunlight of the aerial shot.”

The explosion begins in one of the passenger cars, before a chain reaction ends up igniting a tanker train next to the commuter carriage. That tanker train starts ricocheting onto itself and each tanker then lights the next one, the force of those explosions pushing the passenger train off the rails until it ends up collapsing into a roadway. MPC took the Modus train models, which were generally quite pristine, and developed destroyed versions, relying on a hard surface destruction and debris toolkit ramped up for the studio’s work on the destruction of a wooden structure for Sucker Punch.

“Here we also had to mangle concrete, walls, railway ties, gravel and guard rails,” says Nordby. “The train itself was broken up as it de-railed using blend shapes. Actually, the way that an aluminum train behaves is very counter intuitive to how you’d expect. The reason is that although it’s very heavy, 90 per cent of its weight is at its base, so you have this aluminum skin top half that behaves in a very light matter, but then a heavy base that behaves differently. We found some reference where trains that do get destroyed end up shearing very quickly but then become a pile of rubble and don’t maintain their shape, so we had to cheat and keep it feeling roughly train-shaped throughout.”

In addition, MPC added fire and smoke as the explosions take hold, based on elements shot by Louis Morin in an open-cut mine near Montreal with six cameras at multiple angles. Those elements, which formed much of the texture of the fire, were mixed with some CG fire created in Flowline and significant amounts of debris. “The big challenge for us,” says Nordby, “was getting that fire to emit from a volume in a realistic way with all the wind shear and what-not that would be hitting this fire as the train continued to move through space. We ended up incorporating a lot of practical fire into the background and balancing the scene exposure-wise which helped with ramping up the level of destruction and making it look realistic.”

Virtual Colter for one of the train explosions by Modus

Multiple explosions

Subsequent explosions were then shown from different viewpoints throughout the film. Modus, for example, created a flying virtual Colter for one of the explosions as he is catapulted towards camera, relying on a digital scan of the actor and fire elements. Another shot became known as the ‘poetic explosion’. “I wanted to have Colter and Tina close together for a scene when he is locked in as the explosion comes from the back of the train,” says Morin. “I wanted something that was poetic and intelligent.” Production filmed plates of real fire on two life-size train sets – one vertical and another with an all-black interior with real seats in their actual positions and stand-in dummies for the actors.

“We had the Phantom camera running at 1000 fps and the fire aiming towards the camera,” explains Morin. “Then we had a lot of the plates of the actors shot at 1000 fps against greenscreen, and then shot the explosion with the dummies at the same angle. There was a lot of compositing work, but the plates were pretty good to start with.”

Oblique FX relied on Nuke to composite the real fire into the slow-motion shot. “It was not meant to be gory,” says Oblique CG Supervisor Alexandre Lafortune, “so there is no blood or skin melting. We re-created the 3D train to do multiple passes for illumination. There was a lot of tracking involved and we cheated the light from the explosion and added several passes of sparks.”

Original greenscreen plate
Final composite by Rodeo FX

Rodeo FX also delivered a handful of explosion shots from Phantom plates, elements of exploding windows and the 3D tanker train passing by. “The shots had to look beautiful and poetic even though everybody was burning and dying,” says Rodeo’s Sebastien Moreau. “The approach was to keep the gore elements to a minimum. We relied on projecting animated textures on the walls and on the actors, which gave a good sense of interaction with the fire elements while staying away from the melting and burning approach that would have looked way too violent.”

“We added little spark-looking particles that would get set-off when the explosion would get close to the actors’ hair and a large number of layers of explosions, fire, and out-of-focus debris and particles to really sell the idea that we were in the middle of an immense explosion and the actors were engulfed in it. These shots were designed and composited on our Flame systems.”



Virtual train jump

In one scene, Colter is pursuing the suspected bomber from the train, but the doors begin to close before he can get out. To escape, Colter pulls the emergency stop and jumps from the moving carriage, landing on the platform and tumbling to a stop. The jump was envisioned as a one-shot, made up of two separate plates of Gyllenhaal in a studio and on an exterior set, with a digital version of the actor, the train and the environment brought together by Oblique FX.

“The initial challenge of that shot was to merge the studio setting and the outside location,” notes Oblique visual effects supervisor Pierre-Simon Lebrun-Chaput. “We also had to build the exterior of the train in CG, and parts of the interior, including the vestibule and ceiling.” On a greenscreen set, production used a Technocrane to start close on Gyllenhaal as he pulls the train’s brake handle. The camera then moved in front of the actor as he jumped onto the platform. “The first take was the shot!,” says Morin. “Jake had a shoulder problem so they were concerned about that. It was actually a great shot, so there was no reason to do one more.”

Oblique FX handled the Colter train jump

To accommodate the tumble, the shot transitions to a digital actor. Duncan Jones suggested to Morin that a piece of simulation software – NaturalMotion’s Endorphin – could be used to achieve the animation. Using a full body scan of Gyllenhaal captured by XYZ RGB, Oblique experimented with the Endorphin software. The initial sim was something Jones was extremely happy with. “It was just the start for our animation though,” explains Oblique’s Alexandre Lafortune, “because we took the best one we liked and gave it to our animator, and then we completed it as hand animation for the rest of the shot so that we could blend it with the live action at the end.”

“The simulation gave us the weight and the physics,” adds Lebrun-Chaput, “and once we had the proper weight, we tweaked it to get the pose right. We tried different simulation approaches for the cloth, but ended up with a lot of keyframe animation in Softimage.”

Oblique added shaders for hair and clothing, while still images of the actor’s face were sometimes camera projected onto the digital double. “We also did some animation color correction to match the studio shot to the exterior,” says Lafortune. “We almost had to animate every part of his shoes, jacket, hair, skin to match it throughout the shot, and adjust the motion blur as well.”

Fly Studio composited real breath into the shots

Transitions, pods and bombs

Colter’s time in the pod – a chamber linked to the outside via a computer monitor – involved multiple visual effects work, including transitions, monitor burn-ins and the compositing of real breath. There were two kinds of transitions – one type for when the train would explode and Colter would return to the pod and then back to the train, and the other between pods.

“There’s actually three pods,” explains Louis Morin. “A really small one he can barely move in, then there’s a medium one and another huge one. We had transformations between them, so we shot Jake on a greenscreen turntable. The pod was based on triangles and we see the pod becoming bigger and bigger and bigger by triangles appearing in almost an origami style, creating new triangles and making it bigger. ”

“Duncan has done a lot of commercials and has a strong sense of graphic design,” adds Morin. The pod was really inspired by Picasso with his period abstract work using triangles. On top of that we developed a look for the transitions for when he has to go back in the train. The whole movie is dealing with the virtual world – all the environment is photoreal but it’s generated by a computer. So we designed a look that was inspired by those kind of paintings and the virtual world.”

Fly Studio handled both kinds of transitions. For the move between train and pod, Fly visual effects supervisor Jean-Pierre Boies looked to reference of the Bean sculpture in Chicago – a key landmark in the film. “It’s like a big distorted HDR ball,” says Boies. “We would set up a shot in After Effects using a distortion mirror effect and say a flash of light. We used that image of the Bean a lot to distort and reflect things to cross mix.” For other shots featuring the actual Bean sculpture, Fly Studio also had to remove camera reflections and unwanted crowds.

Other transitions of Colter returning to the virtual reality of the train were much more violent and rapid. “Colter’s not always comfortable doing it and you can feel in the acting of Jake it’s more like a physical reaction,” notes Boies. “We needed to feel the digital aspect of going into the virtual reality. We used some cross dissolves and light effects as well. We created some wireframes of the mesh being distorted as Jake makes a sudden movement of the physical reaction. We’re tearing the old scene apart as if it was shrink-wrapped by a mesh of some sort. As he moves suddenly, the whole thing breaks apart, creates some triangles and forms back into the virtual reality of the train.” For the transitions between the three pods, Fly Studio recreated the three different chamber sets in CG using HDR images, references and textures, switching-morphing between shots of Gyllenhaal.

Fly Studio removed the camera from the reflection and performed a head replacement

In one scene the pod becomes incredibly cold, necessitating the addition of real breath after the shoot. “Basically for those shots we composited real breath in,” says Boies. “We went to a meat freezer and shot real breath in that cold environment on a Canon 5D just with a crew of two people. Actually, it was more like a test when we shot it because we didn’t have all the dialogue or shots yet. We would do breath that was hard, softer, taking a break, blowing with the nose, just for one or two hours, just as a test. But that’s what we ended up using in the movie because it worked really well.”

For a sequence in which a bomb set in a van that can potentially take out the entire city is discovered by Colter, Oblique FX enhanced the the location prop. “The van was mostly empty but there was a box in the middle,” outlined Pierre-Simon Lebrun-Chaput. “When they got to edit stage they realised it needed to be bigger in scale. So we enhanced the shot with thousands of pieces stacked on racks covering the whole interior of the van.” Artists created pipes and bottles with an unknown liquid and thousands of pieces of wire in Softimage, using multi-pass renders to pull the complicated shots together and slightly changing the lighting as the bomb was now covering parts of the van windows.

Modus used Massive to help create this traffic jam

Modus also delivered aerial shots of Chicago featuring thousands of cars and people attempting to escape the city as news of the bomb spreads. Artists used Massive to build in panic to the vehicles traveling around a congested road system, showing them speeding up and braking fast.


Glitch in the system

Colter slowly comes to realize he might be part of different states of reality in the film, and begins noticing people around him ‘glitching’. “What Duncan wanted was like when say Skype goes berserk,” says Morin. “So we had this scan of Christina and applied those triangular elements in the face and subtlety played with the elements, so that the audience realized there was something unusual going on there.”

Fly Studio created a VR glitch on Michelle Monaghan, using a 3D model of the actress tracked onto the live action. “We played with the definitions of the polygons to have bigger triangles,” says Fly’s Boies. “It had smaller, bigger and wire frame triangles and different types of mesh.”

The studio also completed effects for a ‘frozen moment’ scene near the end of the film inside the train when Christina and Colter are kissing each other. “One or two of the actors were slightly moving and one was blinking,” adds Boies. We needed to clean the rail of the camera on the ground and the windows were greenscreen, so we needed to re-create one side of the train and the highway and background.”

Creative circle

For Louis Morin, Source Code was an opportunity to create diverse visual effects shots, but also in a creative circle with director Duncan Jones and others like production designer Barry Chusid, DP Don Burgess and editor Paul Hirsch. “I would really push the shots first, making sure I liked them before showing Duncan. The beauty of this is that he just had to focus on what was missing in the shots. He would get great comments from Paul Hirsch the editor too, and it pushed the level of quality much higher.”

2 thoughts on “De-compiling the VFX of <em>Source Code</em>”

  1. Pingback: ERIC ALBA | De-compiling the #VFX of Source Code

Comments are closed.