Water Simulations in SideFX Houdini

M1 designed and installed a 150 panel, 20′ x 17′ DVLED video wall in the lobby at 655 W Broadway, an elegantly modern commercial building located in downtown San Diego, CA. For this gorgeous 4K LED wall, we produced some amazing images. Much of the content was created by capturing effects with drones around San Diego, but there were a few that were produced through digital techniques.

Houdini is a powerful software used by large visual effects studios around the world. It is used alongside Maya to produce some of the most groundbreaking effects on some of the biggest films. It is also used by game studios to produce effects, procedural modeled systems, and animations. It is also used by motion graphic artists and studios that create immersive experiences. The artists at M1 interactive use Houdini for a large portion of our development work.

Houdini is a very unique type of software. It uses a highly flexible node-based workflow. Every action is stored in nodes, which are “wired” into networks that can be refined for different results. These nodes pass information, in the form of attributes, down the network chain.

For the project at 655 Broadway, we used the powerful FLIP fluid system in Houdini to create the crashing wave illusion. The intent of the effect was to simulate a wave tank, and let the viewer to feel the force of waves crashing up against the wall. To create this effect required a month of experiments and iterations.

The final effect required the simulation of millions of particles, each flowing within a volume, calculating surface tension, viscosity and visco-elasticity. The final result is surfaced and rendered using Redshift, a GPU accelerated rendering system.

Tessendorf Wave Advection

Tessendorf Wave Advection Volume

To create the waves, Tessendorf specular volumetric fields “push” the fluids in a way that simulates ocean forces. The system is named after Jerry Teessendorf, professor at Clemson University. His fluid system helped Rhythm and Hues create the Oscar award winning ocean effects used in “Life of Pi”, which was also created using Houdini.

Once the wave effect was tweaked to produce the correct wave size and strength, simulation could begin. The simulation took several minutes per frame to calculate, requiring a Threadripper desktop computer with 128 GB of RAM and an Nvidia 1080 GPU. Much of the processing was able to be handled by the GPU, but the CPU was required due to the large amounts of data and millions of particles. The final simulation took nearly a week to calculate.

FLIP Simulation

FLIP Fluid Simulation

At the final stage, the particles were converted to a surface and fluid interior volume, which helped create a realistic level of detail and depth.

Fluid Surfacing

To create the foam and bubbles, particles are emitted on the water surface. The emission is controlled by wave creasing, velocity, acceleration strength, and the fluid motion is used to push, or “advect” the particle positions inside the fluid and along the surface.

Rendering this volume presented its own challenge. The built in rendering system, called “Mantra”, uses the CPU and was too slow to meet the time constraints. Redshift renderer uses the GPU, and was much faster. The geometry required us to rebuild the materials, but the speed increase made up for the time spent. It was rendered using the Threadripper’s Nvidia 1080 GPU, but still took many days to render the 2,500 frames.

The final result was a balance between available processors, RAM and time. Etherium currency mining made GPUs expensive, and difficult to find, but with the new GPUs becoming more widely available, we will be able to produce simulations with a much higher level of quality.

Author: Chris Tedin

Previous
Previous

AI Art Experiments - Part 2

Next
Next

AI Art Experiments - Part 1