BLOOM VFX Behind-the-scenes with RealFlow
The guest author on the blog this week is our friend and RealFlow Xpert Josh Clos. Josh is a VFX artist from Minneapolis with 8 years of experience in the field. He worked for MAKE for 6 years, where he began specializing in FX, dynamic simulations, procedural systems, and scripting. Josh spent lots of time studying water behavior and small-scale simulations like drops, splashes, and puddles and he constantly does side projects in his free time to test and learn more. He now lives and works in New York City as a freelance FX Artist and 3D Generalist and considers himself lucky to do what he loves for a career.
Josh has kindly agreed to share with us the behind-the-scenes of a stunning project from a few years ago that made last year’s RealFlow reel. Bloom is truly special!
Bloom was created as a labor of love to exercise creative freedom and as a memorial dedication to our friend, Jenny.
Tools and Set-up
Software Used: 3ds Max, VRay, RealFlow, Maya, Photoshop, Nuke
Hardware Used: Workstations with 2x Intel Xeon e5-2698v3; Titan X; 128gb ram.
MAKE supported our project and kindly allowed us to use their Renderfarm
The purpose of Bloom was to explore visual design and animation with more creative freedom than usual. It was created without a deadline and without a client and allowed us to create something we really wanted to make. We were continually motivated by its dedication to our friend Jenny, who had recently passed away in childbirth.
The concept for this project started around certain styles and animation that we were interested in. In my case, I wanted to work with rain for the technical challenge but also because it’s naturally very beautiful. The idea evolved from mostly dripping water, like condensation and found its way to shots of splashing water in a macro scale, which also turned out to be the biggest challenge because every particle needed to be supervised. There was no script or any strict structure; each of us got to add elements we liked.
The project started with a few styleframes created by Cristina Barna that we used to develop the look and style. Her original styleframes can be viewed on her website here.
We then created an animatic edit with very basic geometry to test the timing. Next up was research and development of the various effects working together. We used SPH fluid simulations of water droplets with very high surface tension and rigid body simulations from RealFlow interacting with cloth simulations from Maya which was used for the leaves interacting. While I was preparing the dynamic effects systems, Romain Faure began creating our main asset, which was the hero flower and plant body. He began from reference material of real plant photography and modeled, rigged, textured, and shaded our hero plant model while the effects were set up using a low-poly proxy model. Next, we started the production of a close-up shot of the actual flower petals blooming, which became our hero shot and we used it as a way to develop the look of the renders and test our pipeline. The first hero shot had 51 simulation version iterations that eventually became the final version.
I have been using Realflow since version 4, which I started learning in 2010. I’ve always been fascinated with liquid simulation and have continued learning as much as I can. Realflow has come a long way since then!
I knew this project would have detailed splashes of close-up water drops so it would certainly require a liquid solver and after many different fluid projects, I’m now very comfortable with RealFlow.
RealFlow integrates very well into different pipelines and allows exporting of multiple file formats including PRT.
I enjoy using Python scripting for systems like this to help create things like 10,000 drops of water without losing my mind.Some of the Python scripts written to assist with Bloom involved automating tasks that would normally take lots of time. Because we are very close to the drops and it is in slow motion, each water drop was a separate emitter. I wrote a script that would drive most of the rain while most of my simulations were going. I would just hit simulate and my script would create 50 sphere emitters, animate them around the scene area, vary their position, size, and speed on every frame, and emit spheres of SPH particles constantly – this is the main system to drive the rainfall.
I chose RealFlow’s SPH solver for this project because I find it very controllable and I also used Python to access and adjust specific particle properties in every shot. RealFlow has great compatibility with Python and I’ve been able to really open up the software’s capabilities in that way. In one shot, a falling drop slides down the edge of a moving plant leaf, and collects with another larger droplet at the tip of the leaf and then falls, which required precise control.
To keep file sizes low and viewport interaction quick, I meshed the fluid surfaces in 3DS Max with Thinkbox Software’s Frost which fits together seamlessly with RealFlow.
A couple of my favorite tools in RealFlow that I used on this project are Spreadsheets which are a really great way to find thresholds and highlight specific areas of the sim and the visual display of vector fields, which is amazingly helpful.
The Final Piece
I am very pleased with our results and it was well received from the always supportive Vimeo community. It was also honored at the MSP ACM Siggraph Minnesota Electronic Theater, where it was awarded Best Independent production, which we were very honored by.
Teamwork and Credits
Josh Clos – FX Simulations; Water, Rocks, Plants
Romain Faure – Modeling, Animation, Shading, Lighting, Compositing
Cristina Barna – Concept Design, Art Direction, Compositing
Alec Considine-Mueller – Sound Design