Case Studies
Primeval
Luma Pictures
California-based
visual effects studio Luma Pictures went
croc hunting for this season’s horror hit Primeval, creating
over 80 complex VFX shots involving a full CG crocodile and
intricate water effects using RealFlow. We had a chat with
Chris Bradley and David Fedele of Luma to find out what’s
really beneath that water surface.
Next Limit: Luma was the
lead VFX house for Primeval, with some very ambitious water
and other fluids effects to take care of. Why did you decide
to use RealFlow for the fluid simulations?
Luma Pictures: "We were
impressed with the work that we've seen done by other RealFlow
artists in the industry so we decided to look into the software
and what it could do. There aren't many off-the-shelf tools
that do fluid simulations and RealFlow sets a high bar for
realism. After careful analysis of the shot requirements,
we were confident that we could produce the quality that we
needed and integrate RealFlow into our pipeline through its
advanced Python scripting abilities."
NL: Exactly which simulations
have been done with RealFlow? Did you also use it for the
blood and saliva for example?
LP: "Every scene that contained
both water and the crocodile used RealFlow. The types of effects
created included impact splashes, targeted splashes, spray
coming off the crocodile, surface wake elements (using RealWave),
rain and rain splashes, beading drops on the croc, and gushing
blood. RealFlow proved all too capable in accomplishing these
effects."
NL: What was the most challenging
part of the project? How did you overcome this challenge?
LP: "This was our first
show with a hero CG character that needed to interact with
massive amounts of water in almost every shot, so it was our
first experience with RealFlow. We had to deal with all the
typical issues that arise when you introduce a new application
into your pipeline, an application that your artists have
never used before: navigation, parameter syncing, render management,
data i/o, etc., and since there isn't as much of a user base
as there is with something like Maya, we just had to learn
through trial and error."
NL: Was any real water used
in the film and was it easy to integrate the CG water with
the real water?
 
See
the whole sequence of images here
LP: "Yes, real water was
used to augment certain problem areas and also help for overall
integration in some scenes. We obviously used our plates as
reference for water movement and lighting in order to closely
match our simulations to the in-camera water. As this was
our first show incorporating full CG water effects, we worked
back and forth with the compositors, reviewing the output
in the comps to determine what additional elements were needed.
We shot them on site in HD in a small water tank in order
to ensure that we spent our resources on generating the major
water action. The end result is seamless; you can’t tell what
is real, and what is CG."
NL: The crocodile is completely
CG as well. How did you ensure a realistic interaction of
the croc with the CG water?
LP: "Our modeling department
created a low resolution version of the croc that we exported
in the .sd format. Our sims included this model to get the
best interaction possible. The crocodile action was directed
to be extremely menacing and explosive and this frequently
resulted in actions that well exceeded the reality of what
an animal of that size would be capable of. RealFlow is a
very physically accurate simulation tool, but in some cases
this worked against us because of our crocodile animation.
In those cases, we needed to use custom scripts that would
help RealFlow generate these extreme results and to mitigate
the effect of the exaggerated crocodile size and animation."
NL: You used Python scripts
to extend RealFlow’s capabilities. What did the scripts do?
Did you find RealFlow too limiting to achieve the desired
fluid simulations? How far did you push the software?
LP: "We relied heavily
on the built-in Python scripting capabilities of RealFlow
allowing us focus our sim resources on specific areas in order
to optimize processing times. Specifically, we created scripts
to isolate splashes in the sim that were above the waterline.
Additionally, once the sims were completed we sometimes split
them up into sections to give us more flexibility during output.
This was done using a Python script that would extract sections
of particles defined by areas we select in our RealFlow scene.
This allowed us to conserve mesh output time and better isolate
areas of importance to the shot. We also created custom batch
scripts to mesh a scene over multiple machines using RealFlow
nodes, which dramatically sped up the meshing process. We
also created scripts that would allow us to extract particles
from sims as a post process based on a set criteria. This
gave us the flexibility to isolate specific vectors such as
Vorticity for mesh output."
 
See
the whole sequence of images here
NL: You built a fluid simulation pipeline from scratch. How easy/difficult was it to integrate RealFlow in that pipeline?
LP: "There are three components
to integrating a new package into our pipeline. The first
component is setting up the hardware. Our pipeline currently
revolves around Shake as a compositing tool and that makes
us predominately Mac based. For this project we really needed
to include 64bit into the equation because of the large datasets
and a 32bit OS would be too limiting. With the introduction
of the Intel Based Mac Pro came the flexibility to run both
Linux and OSX/Shake on the same hardware, but at the time
this was an un-supported solution. To fill in the gap we acquired
additional Intel based PC's, 2x Dual cores with 8GB of Ram,
while we were working out the kinks in the Linux on Mac Pro
installation. Towards the end of the production we were able
to employ additional Mac Pro's to the cause and we will continue
to pursue that option for future projects until Apple and
other vendors release true 64bit versions of their applications
for the Mac platform.
“The second component is workflow. This means establishing
protocols and working methodologies that can be carried over
between scenes and projects. Initially, because there were
so many shots that required water simulations, we had to determine
the quickest way to get as many iterations of a shot as possible.
To do this we worked initially with low res meshes and established
criteria to allow us to judge how a low res mesh would look
when output at a much higher resolution for final.
“The third component is integration into the rendering and
compositing process. Because of the tight deadline and the
compressed ramp up phase for this project, we had to develop
a number of patches to allow RealFlow to operate within the
pipeline, with a portion of the work being handled manually
by the artists. Because we applied much of what we have learned
from integrating other software packages, we managed to shoehorn
RealFlow in with very little effort. With the integration
of Python into applications like RealFlow and Maya, we are
currently working on unifying our pipeline under Python as
a common scripting language. Once the transition is complete,
RealFlow will sit snuggly into the pipeline with the rest
of our tools and be just as automated with database driven
parameters, automated file setup and version controls."
NL: Luma is one of the biggest
Mac users of RealFlow. Are you pleased with the Mac version
of RealFlow and what areas would you like to see improved?
LP: "We primarily used
the 64bit Linux version for simming and meshing because it
offered the ability to sim much faster than 32bit versions.
We could do sims with 1 to 3 million particles more manageably
than we could on our OSX machines. After upgrading to Intel-based
Mac Pros we saw a great deal of improvement with the Mac version
of RealFlow, and it is very fast, but unfortunately it is
still lacking due to the fact that OSX is still a 32bit OS
at this time. Our goal is to continue to use the 64bit Linux
version running on Mac and PC hardware until there is true
64bit support within the Mac OS."
Copyright:
Primeval © Buena Vista/ Touchstone
Credits:
Luma Pictures
www.luma-pictures.com
Senior Visual Effects Supervisor: Payam Shohadai
Visual Effects Supervisor: Vince Cirelli
Digital Effects Supervisor: Justin Johnson
Visual Effects Producer: Steven Swanson
CG Supervisor: Pavel Pranevsky
Technical Director: Chad Dombrova
RealFlow Artist: Chris Bradley
RealFlow Artist: David Fedele
RealFlow Artist: Peter Shipkov
|