The Butterfly Effect is a collaborative project between Unity Technologies Stockholm office, two-time Academy Award winning creators of Gorillaz visuals Passion Pictures, and Nvidia to push Unity to new levels of technological advancement. The goal, through the creation of a high-quality real-time rendered short, 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.
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 Picture’s 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.
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.
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 standardised 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.
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.
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.
Blend Shapes are used to deform the face and create extreme facial expressions like screaming and shouting.
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.
Our take-away for Unity
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 are planned for further development and will roll 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.