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



 

ケーススタディーをもっと見る

カスタマー・ヒストリーをもっと見る