Search Unity

The Butterfly Effect animated short made big waves at Unite 2012 in Amsterdam. It was shown in video form and demonstrated in-engine for the first time during the keynote. It gave attendees the first glimpse into the steps being taken to include and improve the tools needed to create truly cutting edge visuals.

The project was visualized as an avenue to show you, our community, what Unity is capable of visually. We wanted to push the engine, learn from the process, and identify ways to improve the tool both immediately and into the future. As you can see from our new “behind the scenes” video, it was a huge success that will lead to a lot of great improvements in Unity’s future.

We’ve heard plenty of questions about why we chose to work with Passion Pictures as they exist outside of the realm of videogames as a traditional CG animation studio. Their separation from video games and lack of experience with real-time rendering is exactly why we chose to work with them. We knew their experience with traditional animation processes would provide an incredible new perspective on how we could improve Unity for the better. It did and we couldn’t be happier with deciding to look to an outside studio for this knowledge. Features like live scrubbing in-editor allowed for preview without compiling and the ability to preview the scene camera in the game view were powerful additions to the project and provided some great ideas for the future of the Unity product.

Working with Passion wasn’t just about new tools but also their expertise in creating a load of stylized art and content. We didn’t want to create more space marines or dystopian futures. We wanted some maniacal whimsy instead, something we could relate to! And to really sell the feeling of this movie, a lot of great work was done on the character design and technology. Everything from blend shapes for the hugely important facial animations to the lifelike skin shaders brought frantic life to the hapless main character.

Our friends at Nvidia also helped push the character to the limits with incredible tessellated hair on his head and his awesome bunny slippers. With their help, we were able to create even more animated motion through wind-whipped hair that really brought the quality of each scene to new levels.

We stuffed in plenty of other technical fun including new lightmapping solutions for better lighting and shadows at a lower cost, tools that provided more control for both artists and programmers, new physically based shaders inspired by widely adopted in offline CG Mental Ray Architectural library for a huge range of material types, more robust material inspector tools, and high performance reflections via probes similar to light probes all capped off with an incredible pyroclastic explosion.

While a lot of what we learned will be put towards improvements in Unity 4.x and beyond, you’ll see the immediate effect of DirectX 11 support and some seriously improved post effects in Unity 4.0, which is right around the corner.

So take a moment to watch the video above to get a better idea of how we, along with Passion Pictures and Nvidia, made The Butterfly Effect come to life and then make sure to take another look at the full animated short in the video below!

For more information about the Butterfly Effect movie, please visit the website located at

40 replies on “The Butterfly Effect Project”

this totally rocks ! a film real-time rendered !
Big applauses to unity and also to the team that made this film !
Btw, How did you record the video btw to make it a HD one ?

@REJ etc – +1 for physical shader access. Also how did you add extra passes to the Path Tracer (in BeastSettings.xml? I can only find syntax for extra FinalGather bounces and you mentioned you used four. Would love access to the full scene and your beast settings

You’ve actually pulled of the thing why I started playing around with Unity. No more rendering :). Or at least be able to create camera angles without having to re render. I really hope you implement the blendshape option, it is exactly that which keeps me from progressing.

@REJ : Thanks for your comments. I would like to have a look at this uberShader you guys created it will be very useful to learn how to make our shaders better specially dx11 shaders.

Keep the good job!

@REJ : Thanks for your repky. Would love to have a look at the “physically based shaders”. Would be a stretch to ask you to share them somewhere ?

I’m sure I’m not the only one interested in these :)

That’s really nice and interesting, I wondering how you guys did that. I’m working on something where people can view and old historic building back in the year 1500, where I now have a loading screen between interior and exterior. However preloading a scene this way, would make it seamless change and look better ;)

@JDMulti: actually for continuos playback Joachim extended our asynchronous loading system – several scenes can be loaded ahead without being activated. This way we can preload assets for 2 scenes ahead, while playing the active scene. With quite some optimizations work, jump to already loaded scene, becomes almost instant. That tech still requires a lot of love, but it looks very promising!

Really nice video. I was already wondering how you guys got the video captures without scene loading. It couldn’t be anything else then editing aftherwards in a video editor. But I would really like to see this project as a Unity project I could download. Maybe host a torrent file and share it? :) I’m really curious, but it’s a really nice job done with Unity. Can’t wait for Unity4 tbh.

@Nicolas: yes, music was added afterwards. We don’t really have a good way to do such complicated and precise sync in Unity so far :(

@Dev.D: for Butterfly Effect we developed our “physically based shaders” only for Forward mode.

@SNoChE: release’ing source code/assets until we have integrated crucial things back into Unity 4.x would be problematic. But on overall we would like to release as much as possible of course!

Didn’t really measured frame rate _while_ saving it to files, but I know that most of the time is spent in PNG compression. It takes around 10-15 minutes to dump the whole movie into >5000 PNG files at FullHD resolution – 1920×1080.

No posts afterwards.

Congratulation guys, very impressive short, one of the best I have seen ever in realtime.

To be able to see the source code it will be awesome and very welcome even if it is 20 gb!!! I second the bittorrent file option, it will be the most appropriate. Hard disk space or broadband width it is not an issue nowadays, we will be available to learn from all this tricks and custom scripts, textures from professionals, and organization on the fly!

Unity always has been very kind with this kind of things. Please don’t change now. Share it with all the community so we all can grow together.

I have a few questions I think it could interest all the comunity.

What is the REAL frame rate of this trailer when you was saving it to files? 1fps? 10? 20?
What format/resolution you saved the files?
Did you made any post afterwards?


@Aras : Awesome, it would be amazing to get all of those feature completely implemented/integrated as native tools in Unity

Saw the video at the Unity workshop at NASSCOM GDC (Pune, India) . Looked lovely!

@Aras : Question about these ” physically based shaders” – Assuming these are really energy preserving, have you guys integrated these into the deferred lighting mode? I thought you couldn’t do too many different materials types in deferred lighting.

I’d really appreciate if you’d put something in the asset store / elsewhere as a demo.

Thrilling new technologies, and an excellent “Making Of” presentation!
The future of Unity 4 is looking bright indeed.

In the mean time, some of the scripting and shaders compatible with released Unity versions would be a valuable asset to the community at large. If massive file sizes and their accompanying bandwidth considerations are proving to be an obstacle to the public dissemination of these assets, I humbly suggest that BitTorrent would be an excellent (and very easy to implement) solution. Amazon S3, for example, can automatically seed and generate tracker files for anything posted to it.

I really hope you guys release the “stuff possible in the current version” on the asset store. Becaue even if they are possible it doesn’t mean we can do them on our own (or do them in a super clever way like you would).

Also, it would be great if we can see such tech applied into a proper game context/scenario. I mean this is the sort of quality I expect of next generation games on the upcoming consoles.

Why don’t you Torrent the stand-alone version, if it’s 5GB, and too big for the FTP?

There will be dozens of people interested in it and could probably seed it after download as well.

@Rea: some of the features do require “future unity versions” (Blend shapes, custom material inspectors etc.). Some others are entirely possible in current version (custom editor scripts / shaders)

Ah okay is it possible to do that in the current version of Unity?,
So is there any feature from those video that will be shipped in the future updates?
I’am curious with all of the tools that you guys showed in the Making of videos :)

@Rea: Animation Scrubbing and Realtime SceneView were done purely with Editor scripting, no changes to the Editor were required.

@Jamie: btw, we would start baking with 100 rays and then gradually increase ray count for every next bake while tweaking things. Final bakes where done with 500 rays per lightmap texel.

@Ashkan: well you can write them right now, even in Unity 3.5. It’s just different math in the shaders ;)

That said, yes, we do want to have better built-in materials at some point. Or at least put the shaders used in the demo in Asset Store.

@Jamie: yes, they were baked with Beast.

For outdoor scenes we were using custom Beast XML scripts (you can do that at least since 3.5) and tweaking them manually to get the best quality / performance – we found that 1 bounce with Final Gather followed with 4 Path Tracer bounces gives best results in our case. We as well used IBL texture for realistic sky lighting, as of today you can only use it with Beast XML file.

Largest scene (from the shop and down the street until the scooter) would usually take 2 hours to bake and 8 for the final highest quality bake. Other scenes would usually take between 15 minutes and 1 hour to bake. We wrote rather simple Editor scripts to automatize baking of the multiple scenes.

Fantastic demo guys!

I’m keen to know were the lightmaps done in Beast? Or was everything baked externally via Maya/3DS Max then brought into Unity?

@Samuel: BlendShapes is a generic implementation, it should appear in future version of Unity – once we’re happy with implementation/UI.

@Indy: Standalone version is over 5GB of data right now. It is not really practical to “drop it on the FTP” :) We are brewing ideas how to proceed with it in the future.

Great work!
Did notice something about the site though in Chrome at least. You can only view the videos in fullscreen by clicking on the direct links in the page source. The “Next Clip” overlay is covering the fullscreen control in the flash video player so clicking it simply switches to the next video instead. Also the link to this blog post gave me a 404 error so I found it by going directly to the blog instead. Just FYI

Comments are closed.