Rune Spaans on the VFX of The Troll Hunter
The Brazil rendering system has been my renderer of choice for ten years now. It’s an extremely fast raytracer, and is very efficient with multi-million poly scenes. GI-rendering was the best solution for this project, since most of the light hitting the camera is bounced. And I knew I would rather render it properly instead of spending days faking a spotlight based lighting setup. But I was unsure of how I could render hair and GI in one pass, since there is no hair rendering primitive in Brazil. I tried two other renderers, and while both could do hair and GI, none could match the speed and stability of Brazil. My solution would be to render everything except the hair, and then have shadow casting polygon hair that was invisible to the camera. The hair was then rendered separately using scanline, with a shadow pass that let me integrate the two.
Also, I found that the combination of GI, area lights and scattering was heavy on the renderer. To speed things up, I rendered a non-bounced pass with scattering. I then rendered the bounced light with simple white materials, without scattering. Finally in compositing, I multiplied this white render with a flat textured render, and added it to the non-bounced pass. The result was impossible to distinguish from a full beauty render, and all passes rendered in only fifteen minutes per frame.
This might sound complex, but it was really fast and simple to set up. Kudos to RPManager for making pass setups like these an easy thing to improvise.
I should also mention that Dave Baker (of Maxplugins.de) created two shaders for this project. He made a shader that rendered XYZ coordinates as RGB colours, and a shader that combined two materials using the lighten method from Photoshop (this way of combining materials works great for sub-surface scattering).
Bringing it all together
Compositing is the carrot at the end of the stick. After all the tiresome modeling, texturing and rigging, there’s finally a part of the project where changes can be implemented at the speed of thought. Doing the final compositing is my second favourite part of any project, right after design and conceptualizing. Each shot had about 15-20 passes that had to come together in compositing, most of them dealing with separating key light from bounce, and integrating of the separately rendered hair. I also rendered out a bounce of helper passes and masks, usually three passes in one render split into RGB. For example, one pass had sharp speculars in the red channel, soft speculars in the green channel and the reflection intensity in the blue channel.
The Troll Hunter was shot on digital video, and matching the lens distortion, grain structure and ccd characteristics was a bit tricky. The lens distortion was analyzed with Nuke and the same distortion applied to the 3D elements. I ended up pulling out the grain, and then replacing it with grain that looked very similar (there was even more grain put onto the film in mastering, so there went my finely tuned imitation!). And I analyzed each RGB channel, and matched their respective glow and offset characteristics. These things can’t be seen unless you pixel peep onto the full resolution frames, but if they were missing you would feel that something was wrong. Depth of field and motion blur was also done in Nuke, carefully tweaked to match the results from the camera and lens combination that shot the scene.
Return of the Ringlefinch!
That could have been the end of my work on the Ringlefinch, but there was one little thing I just had to do. Ever since I was told that the troll was missing one arm, I kept imagining him fighting with Darth Vader, and getting his arm chopped off, like Luke Skywalker did in the famous sequence in The Empire Strikes Back. I knew that I just had to make that scene at one point. I found time in-between projects, and managed to do this fake teaser that I brought with me at the End User Event this year.
Now this was all the "fun" of the Troll Hunter, only 100 times quicker! Here is a quick run-through of how it was made: I modeled a simple set based on blueprints from Empire Strikes Back, and eye-matched the cameras in each shot to that model. The animation was then rotoscoped (and this time I did it myself), by copying the extremes in each movement, and then carefully interpolating the rest to match. I added a 50 frame buffer in between each shot for the simulations to ease in and out of each animated shot. Then the troll hair and floppy bits on the armor was simulated. I could not do muscle simulation on this version, unfortunately. I had to scale the troll down a bit, and that messed up the flex simulations.
After that I picked the cleanest frame from each shot of the film, and cloned away the original characters, in order to comp the CG elements as replacements – I did that after animating the characters, so that I knew exactly where to focus my retouching. I set up the light in each shot matching the specular highlights on Darth Vader’s helmet in the original movie, and did successive renders where I kept improving the placement and intensity of the lights. For passes, I changed my workflow and converted the hair to polys and rendered almost everything in one brutal beauty pass. The only other pass was a separate one for the lightsabers, since they needed more accurate motion blur. The reason why I could raytrace hair this time was because I turned off GI on the teaser. I could have rendered with GI, but then I couldn’t have reached my one-weekend render deadline. On the next project I want to combine hair and GI though.
Finally, everything was comped together in Nuke, the grain and (minor) camera moves were put back in, and the teaser was done! As a last minute change I also flipped the images to be in continuity with Empire Strikes Back. I’m not sure if I should have done that, since people keep commenting on my "mistake" of messing up which arm was chopped off…
Congratulations if you made it this far! I hope you found this to be an inspiring read. The Troll Hunter was a landmark project for my portfolio, and one of the few projects that have let me use the full range of my skillset. I feel privileged to have worked on the film, and I wish every project could be like this. I get a kick reading about directors like Gareth Edwards, who not only writes, photographs and directs the feature film Monsters, but then goes ahead and does all the VFX work as well! I would love to do something similar in the future.
It’s pretty cool that software and hardware today can let a small group of artists do realistic 3D that 15 years ago would have been the domain of big VFX companies. Who can dare imagine what can be done 15 years from now?
Troll Hunter images © Filmkameratene 2010
- The Troll Hunter – official website
- Movie trailer – YouTube
- Interview with director André Øvredal – Wired
- Rune Spaans’s Vimeo channel
- The Troll Hunter on Wikipedia
- The Troll Hunter on IMDB