Rune Spaans on the VFX of The Troll Hunter
I don’t remember the exact circumstances, but sometime in late 2009 I got word that there was this interesting new movie being prepared in Norway. It was a mockumentary about trolls titled The Troll Hunter, written by a debut director, André Øvredal, and it would be the first time a Norwegian movie would need photo-realistic 3D characters. This was surprising since VFX-heavy movies are rare up here, and it was made more exciting since it concerned our cultural heritage. I mean, how often is there a chance to get paid to do big trolls? Even though I have wanted to move away from VFX work, I knew this was a project I had to be part of!
Through a fair bit of luck and lobbying (begging on knees), I eventually found myself bidding on the VFX work. There were three big troll sequences in the movie, and the production wanted separate companies handling each sequence. I eventually won the bid for the so-called Ringlefinch sequence, about a predator troll living under a bridge, who is confronted by the Troll Hunter. I suggested I could help with the character design, and ended up doing the final design on the Ringlefinch and another troll in the movie (The Mountain King).
The Ringlefinch sequence was the simplest VFX sequence in the film, but it had some challenging aspects to it. Even though it was only ten shots, the longest shot was 900 frames long. It was photographed hand-held at night, with some zooming (which is hard to track). There was some interaction, the troll was going to eat a sheep and try to eat the troll hunter. And that meant I had to do two digitals stunts as well, so there were three photoreal characters in total.
I quickly figured out I couldn’t do this all by myself, and I didn’t want to either! For the animation, I hired Atle Blakseth. He is the fastest animator I know, and he actually ended up doing animation for the other companies as well. We did not share office, so I had to come up with some kind of pipeline that enabled parts of the project to be kept online.
And the final challenge was the software. My base package is 3ds Max, which is a great all-round 3D application, but out of the box it isn’t the ideal software for doing team-based animation work. There is no easy way to reference animation rigs, so if you want to change the underlying rig while keeping the animation, you have a problem. And 3ds Max has no text-based file format where you can build multiple scenes from a collection of assets. These two issues force you into a very linear workflow. Also, animators really seem to hate 3ds Max! (If you’ve ever used the fast rigs and the excellent graph editor in Maya, you probably understand why.) But 3ds Max has a lot of good things going for it; it has an incredible selection of plugins and scripts, the wonderfully flexible stack, and a high-level scripting language which makes for quick and easy development.
A minimalistic 3ds Max creature pipeline
Fighting myself out of a linear workflow was the most important thing for this project. I did not want to end up with a situation where the director might want a change on the character, and we had to scrap both the rig and the animation just because, say, there was some topology change on the arms. That wouldn’t be very professional! Also, my animator kept needing extra features in the rig while we were animating (like FK/IK switching that actually worked, ho-hum!), another reason to get some kind of reference system working.
Demonstration of the Ringlefinch rig made for The Troll Hunter. The rig was built using Rune’s Super (Simple) Character Rig system.
De-coupling the rig and the animation is something I have wanted to build into my rigging system. I have a set of maxscripts that I use to build and animate my animation rigs. It all starts with loading a helper template that I fit into my character, and that the rig is built around. The only parts of the rig that can be animated are custom attributes on spline objects suffixed with "_CTL", nothing else. Knowing that, it’s very easy to find the animation data in the scene. For The Troll Hunter, I created a simple text-based animation file format that would store the keys that are put on these controller objects. I then made a window where I could save out all the animation in a scene, character or single controller, clear everything – and then load it back in. Expanding from that, I wrote a script that collected new versions of all assets in a scene, found the most recent animation, and then saved an updated file for the animator. This was a perfect little pipeline, and was exactly what we needed to be able to update the rigs as we went along.
I have used Dropbox on smaller advertising jobs, and we used it to keep all files related to the animation online. Now the animator could work together with the director in his office, while I sat at home grabbing animation files as they were ready. Dropbox does this neat thing where it automatically backups deleted and overwritten files, which was a nice safety for us.
Troll Hunter images © Filmkameratene 2010