Behind the Scenes of The Butterfly Effect
Through the creation of a high-quality real-time rendered short, the goal of The Butterfly Effect was to take many techniques and workflows used to create Hollywood blockbusters and apply them to Unity in ways that would benefit the entire Unity community.
The Butterfly Effect demonstrates the amazing results of our collaboration.
Animation pipeline
The Butterfly Effect was a complex short movie with multiple shots by multiple cameras through a number of different Unity scenes. Cameras were animated to provide Passion Pictures’ artists the ability to create the look and feel of high-end Hollywood-style cinematics through multiple camera angles. Live scrubbing was built into the editor so that we could scrub through animation and also preview without having to compile. Finally, the ability to preview the scene camera in the game view was added in order to allow artists to see the final shot with all post-processing effects in place.
Lighting
Amazing lighting is of huge importance when creating quality motion graphics. For The Butterfly Effect, real-time direct illumination and indirect light were baked into lightmaps and probes. Shadows were baked separately from lightmaps to provide more control over baked and dynamic lighting. HDR Images Based Lighting provided realistic color from ambient light from the skybox instead of single ambient color and intensity. The light mapping tools in the Unity editor were extended for automatic computation of light map resolution to bake multiple scenes in sequence. Finally, Lighting Render mode was added to the scene view in order to help the artists debug the lighting of their scene.
Shaders
A new subset of shaders inspired by the Mental Ray Architectural shader were used to render a wide range of materials. This allowed the use of a standardized single shader throughout all environments including buildings, cars, and even particle effects. This gave us near offline rendering quality, proved to be intuitive for us and was already familiar to the CG artists we were collaborating with. We also extended our material inspector, separating shader properties into distinct areas we could access quickly and introduced reflection probes, which are similar to Unity's light probe workflow, to set up baked or dynamic reflections.
Character
The main character was one of, if not the, most important aspects of the movie. For the character artists at Passion, we added a number of improvements to Unity including catmull-clark tessellation, an industry standard in film for smooth geometry.
Sub Surface Scattering shader replicated layers of human flesh and skin. This was done using 3 layers of texture space diffusion and 2 specular overlays and created a translucency that could also be used for plastic surfaces, like the balloons and the kettle.
Blend Shapes are used to deform the face and create extreme facial expressions like screaming and shouting.
Nvidia provided the character's hair and slippers! The variety of styles is defined by a set of Guide Hairs which are amplified by hardware tessellation on the GPU giving us the volume and flexibility you see in various scenes.
The movie also called for highly detailed multi-layered cloth motion which was pre-simulated for performance and full artistic control.
Fireballs were visualized using animated spheres while ray marching and pyroclastic noise techniques created dynamic surfaces resulting in an incredible explosion that goes beyond mere particle effects.
While there are already post effects found in Unity, work on The Butterfly Effect helped to improve many aspects of existing work. Depth of field, Bokeh, Look Up Tables, and Bloom all saw significant steps forward.
Credits
Programming
Renaldas Zioma
Ole Ciliox
Paulius Liekis
Aras Pranckevičius
Andrius Keidonas
Robert Cupisz
Kuba Cupisz
Technical Artist
Erland Körner
Lighting Artist
Tommy Andersson
Video Production
Will Goldstone
Project Management
Steffen Toksvig
Audio Mix
Mason B. Fisher, East Coast Game Audio
Director
Dan Sumich
Producer
Ryan Goodwin-smith
Head Of CG
Jason Nicholas
VFX Supervisor
Neil Riley
CG Coordinator
Aline Ngo
Lead Character Modeller
Cesar Nunes
Character Modellers
Michael Orbing
Mario Ucci
Lead Environment Modeller
Ian Brown
Environment Modellers
Nicolas Guiraud
Florent Rousseau
Texture Artists
Gabriel Loques
Emma Berkeley
Eleanor (Ellie) Bond
Nicollette (Nikki) Newman
Additional Texture Artist
Alonso Varela
Previz
Richard Perry
Xavier Zahra
Lead Animator
Wesley Coman
Animators
Lucas Vigroux
Steve White
Marc Phoutharath
Alexandra Gasztowtt
Catherine Brooks
Rigger
Chris Dawson
Lead Lighting
Quentin Vien
Lighters
Stuart Hall
Paulin Cointot
Patrick Krafft
Lead VFX
Jamie Franks
Additional VFX
Augusto Lombardi
Cloth Sim
Simon Clarke
Marc Di Nocera
Lead Pipeline Developer
Julian Hodgson
Additional Pipeline
Sajjad Amjad
Concept Art
Giles Dill
Colour Board
Celine Desrumeaux
Matte Painter
Carlos Nieto
Editors
Jamie Foord
Tim King
Additional Editors
Nadine Strohaecker
Anne Monnehay
Michael Sofoluke
Grade
Stephane Coedel
Programming
Simon Green
Jon Jansen
Alexander Kharlamov
Nikolay Chirkovv
PhysX Team
Bryan Galdrikian
Andrey Shulzhenko
Jared Duke
Sheikh Dawood Abdul Ajees
Hai Loc Lu
Lou Rohan
David Sullins
Technical Artist
Khariton Kantiev
Project Management
Phil Scott
Miguel Sainz
David Schoeml
Monier Maher
The Butterfly Effect project was an eye-opening experience and took Unity to places it's never been before. Many of the improvements that surfaced were planned for further development and were rolled into the product throughout the 4.x cycle and beyond. The first of these implementations is DirectX 11 support and the improved post-processing effects you'll find in Unity 4.0.