Both are 100% ICE based systems and it's not Hybride's policy to go
public with our tools. We did collaborate with Fabric Engine on CP
Flora. We wanted to use it on this project and we had a huge input into
it's design, but because of time constraints and lack of familiarity
with their code to quickly adjust it to our needs, we ended up going
back to a 100% ICE based tree solution for White House Down.
-Mathieu
On 05/07/2013 4:05 AM, Eugen Sares wrote:
Thanks for elaborating, Mathieu!
Another interesting point would be the city generator and your tree
system.
Did you build everything in Softimage from the ground up, or is there
a mixed pipeline behind all the assets you needed?
Do you plan to ever go public with those systems?
Am 03.07.2013 18:01, schrieb Mathieu Leclaire:
Hi Eugen,
>which version did you use, and how many seats?
>Any serious trouble you ran into?
You're talking about Fabric Engine' Creation Platform? We have a site
license so we can do deep image processing on about 120 machines if
we chose to. For Nuke, we have 20 or 25 licenses (I'm not sure
anymore). So by using our Creation Platform site licenses, we can use
many more machines to process the data without having to buy more
Nuke licenses. But the speed gain is not only because we can now use
more machines, our CP based deep image tool is much faster then Nuke,
though it's hard to say how much faster. It's relative to a lot of
factors and we are still working on optimizing our version. We've
noticed certain operations that can be over 10 times faster, while
others can be longer then Nuke, but we are still putting in a lot of
work and hope to improve performance even more as we learn to use CP
more and more. Creation Platform is a lot to take in so all the
trouble we ran into was mostly a normal part of the learning curve
that comes with adopting a new development platform. I don't remember
on which version we started implementing this tool, but we've adapted
with each new release of the platform.
>So you built your own crowd system... what's the reason for not
using the built-in system?
We created a crowd system for the French movie Jappeloup where we
delivered 404 crowd shots in about 3-4 months last summer. This
happened before Crowd FX was released. I remember having discussions
with Autodesk while they where still working on Crowd FX, but we had
to deliver shots way before their system was to be complete and
stable. Our crowd system isn't complex. There's no real interaction
between agents. It's a stadium agent based crowd system. It's based
on a list of animation clips doing various actions, and the system is
all instance based. The system basically randomly choses an animation
cycle with a few clever tools to help select the timing and
distribution. Since it's all instances, the memory needed is much
less then creating unique mesh per agent, but the more varied the
action of the agents are, the more memory it takes and it can
eventually become as memory heavy as having unique geometry per
agent. It was a matter of finding a good threshold where you have
enough variations in the cycles so you don't notice they are being
repeated, but not too much so it keeps memory low. Our agents are
also very high resolution compared to most crowd solutions where
agents are very low-resolution. That helps the look of the crowd a
lot. It adds a lot of detail to the crowds and really helps sell the
shots. With deep composting, we can raise the bar even further and
split our renders in many layers without ever having to worry about
where the agents of each layer fit in the crowd. The system of White
House Down is the evolution of that system. Since the shots have
constantly moving cameras and the crowds are motion blurred with
individual agents only visible for a limited number of frames, we
could deal the crowds as if they where stadium agents where the
stadium is basically the streets of Washington. It was only a matter
of adding animation cycles of people reacting to a helicopter passing
just over their heads.
-Mathieu
On 03/07/2013 2:44 AM, Eugen Sares wrote:
Thanks a lot for this, Mathieu!
Always nice to hear when Softimage is used on such high profile
titles. That prooves a lot technically, and it is good for the
spirit, too...
Autodesk wants to use this for advertising...
Also, what you say about Fabric Engine instead of Nuke is amazing.
If I may ask,
which version did you use, and how many seats?
Any serious trouble you ran into?
So you built your own crowd system... what's the reason for not
using the built-in system?
Am 02.07.2013 18:19, schrieb Mathieu Leclaire:
Hi guys,
I just wanted to share some information on the shots we did for
White House Down.
First off, there's an article in fxguide that explains a bit what
we did :
http://www.fxguide.com/featured/action-beats-6-scenes-from-white-house-down/
And here is some more details about how we did it :
We built upon our ICE based City Generator that we created for Spy
Kids 4. In SK4, all the buildings where basically a bunch of
instances (windows, wall, doors, etc.) put together using Softimage
ICE logic to build very generic buildings. ICE was also used to
create the streetscape, populate the city with props (lamp post,
traffic lights, garbage cans, bus stops, etc.), distribute static
trees and car traffic. Everything was instances so memory
consumption was very low and render times where minimal (20-30
minutes a frame in Mental Ray at the time). The city in Spy Kids 4
was very generic and the cameras where very high up in the sky so
we didn't care as much about having a lot of details and
interaction on the ground level and we didn't really need specific
and recognizable buildings either.
The challenge in White House Down was the fact that it was
Washington and we needed to recognize very specific landmarks so it
needed to be a lot less generic. The action also happens very close
to the ground so we needed to have a lot more detail on the ground
level and there needed to be a lot of interaction with the
helicopters that are passing by.
So we modeled a lot more specific assets to add more variation
(very specific buildings and recognizable landmarks, more props,
more vegetation, more cars, etc.). We updated our building
generator to allow more customizations. We updated our props and
cars distribution systems. They where all still ICE based
instances, but we added a lot more controls to allow our users to
easily manage such complex scenes. We had a system to automate the
texturing of cars and props based on rules so we could texture
thousands of assets very quickly. Everything was also converted to
Stand-Ins to keep our working scenes very light and leave the heavy
lifting to the renderer.
Which brings me to Arnold.
We knew the trick to making these shots as realistic as possible
would be to add as much details as we possibly could. Arnold is so
good at handling a lot of geometry and we where all very impressed
by how much Arnold could chew (we where managing somewhere around
500-600 million polygons at a time) but it still wasn't going to be
enough, so we built a deep image compositing pipeline for this
project to allowed us to add so much more detail to the shots.
Every asset where built in low and high resolution. So we basically
loaded whatever elements we where rendering in a layer as high
resolution while the rest of the scene assets where all low
resolution only to be visible through secondary rays (so to cast
reflections, shadows, GI, etc.). We could then combine all the
layers through deep compositing and could extract whatever layer we
desired without worrying about generating the proper hold-out
mattes at render time (which would have been impossible to manage
at that level of detail).
In one shot, we calculated that once all the layers where merged
together using our deep image pipeline, it added up to just over
4.2 billion polygons... though that number is not quite exact since
we always loaded all assets as lo-res in memory except for the
visible elements that where being rendered in high resolution. We
have a lot of low res geometry that is repeated in many layers, so
the exact number is slightly lower then the 4.2 billion polygons
reported, but still... we ended up managing a lot of data for that
show.
Render times where also very reasonable, varying from 20 minutes to
2-3 hours per frame rendered at 3K. Once we added all the layers in
one shot, then it came somewhere between 10-12 hours per frame.
We started out using Nuke to manipulate our deep images, but we
ended up creating an in-house custom standalone application using
Creation Platform from Fabric Engine to accelerate the deep image
manipulations. What took hours to manage in Nuke could now be done
in minutes and we could now also exploit our entire render farm to
extract the desired layers when needed.
Finally, the last layer of complexity came from the interaction
between the helicopters and the environment. We simulated and baked
rotor wash wind fields of air being pushed by those animated Black
Hawks using Exocortex Slipstream. That wind field then was used to
simulate dust, debris, tree deformations and crowd cloth
simulations. Since the trees needed to be simulated, we created a
custom ICE strand based tree system to deform the branches and
simulate the leaves movement from that wind field. Since the trees
where all strand based, they where very light to manage and render.
We also had created a custom ICE based crowd system for the movie
Jappeloup that was updated for this project. We bought a couple
Kinect to do in-house motion capture and build a list of animation
cycles of agents reacting to helicopters flying over their heads.
We then procedurally analyzed the movement of the helicopters per
shot and randomly select an animation cycle from the list and time
the cycle in a way that the agents would react when the helicopters
passed within a specified distance of the agents.
These where definitely the most complex and technically challenging
shots we ever managed here at Hybride. It was achievable thanks to
the evolution of a lot of in-house tools we had created over the
years and obviously, thanks to a lot of very talented and hard
working people in a very short span of 3-4 months.
Mathieu Leclaire
Head of R&D
Hybride Technologies, a Ubisoft division