VFX Voice

The award-winning definitive authority on all things visual effects in the world of film, TV, gaming, virtual reality, commercials, theme parks, and other new media.

Winner of three prestigious Folio Awards for excellence in publishing.

Subscribe to the VFX Voice Print Edition

Subscriptions & Single Issues


April 12
2021

ISSUE

Spring 2021

HOW TO SIMULATE A WATERFALL IN HOUDINI AND MAYA BIFROST

By IAN FAILES and IGOR ZANIC

 

FX technical director and visual effects trainer Igor Zanic, co-founder of Rebelway. 

In visual effects, artists are often given a problem to solve. They will need to reach the desired outcome of the client, but it can often be up to the artist or studio what tool they may use to solve the problem. 

What if you were asked to build a flowing waterfall for a scene – where would you start? What tool or tools would you use to simulate the flowing water of a waterfall? Arguably the two most used and accessible tools for such a task in VFX right now are SideFX’s Houdini and Autodesk’s Maya Bifrost. 

Houdini is well known for its procedural approach to animation and effects and offers a number of solvers, such as pyro and particles, for handling fluid simulations. Bifrost in Maya is now a fully-blown visual programming language that also allows for the generation of procedural effects, although when first implemented into Maya its strength was in fluid simulations. 

 Here, FX technical director and visual effects trainer Igor Zanic, a co-founder with Saber Jlassi of online VFX training website Rebelway.net, which specializes in FX and procedural effects-related courses, outlines in simple terms how an artist might begin the process of crafting a waterfall in both Houdini and Bifrost. 

Zanic is an experienced Houdini user, but he was also one of the first freelance artists to try out the precursor to Bifrost, a fluid simulation tool called Naiad. He has contributed to a number of projects that were heavy in water simulations and other FX sims, including Shark Night 3D, Kon-Tiki and The Man in the High Castle. Zanic has also worked previously for both SideFX and Autodesk as an artist and technical director. 

Rebelway Creative Director Urban Bradesko works on a scene in Houdini. 

 

 In the steps below, Zanic shows how similar-looking waterfalls, where water is flowing – essentially colliding – over rocks, can be simulated in both Houdini and Bifrost with somewhat relatively similar procedures. Some of the differences relate to generating the fluid simulation and the water simulation itself, foam generation and the caching and meshing process. 

While these steps might not instruct you in exactly which buttons to push in each tool or which nodes to create and use, they will hopefully give you a guide to getting started in each piece of software.

 

MAKING A WATERFALL IN HOUDINI

1. Preparing assets for simulation

When we import our geometry into Houdini, the first thing we want to be sure of is that it has the correct scale. Sometimes an object coming from other software will appear in a different scale. The next step is to optimize and prepare the geometry for simulation. This includes doing things like ensuring that the geometry is closed so there are no object edges. Also, if the object is high-res, we create proxy geometry. After optimization, we can set up our collision geometry for simulation, creating proxy collision geometry and volume.

2. Prepare source for simulation

Before we set up our waterfall fluid simulation, we need to decide where we want to put our emitter for the fluid simulation. This emitter can be a single object or a few smaller objects. Then we will need to add initial velocity to push the fluid in one direction, and also to add a bit of noise on top to break the uniform source.

3. Set up and cache fluid simulation

After we set up our collision geometry and source, we can set up our fluid simulation. The next step is to tweak parameters such as resolution, fluid simulation boundary and a few other attributes to arrive at a suitable simulation look. The last step here is to cache our fluid simulation.

4. Set up and cache water simulation

Using our cached fluid simulation, we create a water source, isolating just the areas where we want our whitewater simulation to emit. The next step is to cache our whitewater source to be faster for our whitewater simulation to read. We then set up the whitewater simulation and cache that final simulation.

5. Mesh fluid simulation

Using our cached fluid simulation, we combine particles and volume to create our final mesh. After the mesh is done, we transfer attributes from the fluid simulation particles to the mesh. The final step is to cache our fluid mesh, and this allows us to continue creating a waterfall scene in Houdini, or elsewhere.

 

 

 

 

 

MAKING A WATERFALL IN BIFROST 

1. Prepare scene and assets for simulation 

While these steps for Maya Bifrost are similar to those outlined for Houdini, there are a couple of differences, so please note them. When we import our geometry into Maya, the first thing we want to be sure of is its correct scale, as in Houdini. The next step, again, is to optimize and prepare the geometry for simulation. Remember, this involves ensuring the geometry is closed so that there are no open edges. Also remember that if the object is high-res, it’s important to create proxy geometry. 

2. Create Bifrost Liquid and add source 

Before we set up our waterfall fluid simulation in Bifrost, we need to decide where we want to put our emitter, just like with Houdini. It can be a single object or a few smaller objects. We select our emitter and add Bifrost Liquid from the shelf, and then we also create a source tab with all the relevant settings. After that, we add the initial velocity to push fluid in one direction, and then we set up our liquid properties such as resolution. 

3. Add collision geometry and cache fluid simulation 

After we set up our initial Bifrost Liquid container, the next step is to add collision geometry. Sometimes it is better to split every piece of geometry into separate collision geometry, or you can group objects for better control. We also now create a Bifrost kill-plane to limit our waterfall so that it’s not falling into infinity. The last step here is to cache our fluid simulation. 

4. Set up and cache foam simulation 

Using our cached fluid sim, we create a foam source, isolating only areas where we want the foam simulation to emit. The next step here is to tweak our desired foam parameters, and then we cache our foam simulation. 

5. Mesh fluid simulation 

Using our cached fluid sim, we create our final mesh. We tweak the settings for our mesh to get the look we want. The final step is to cache our fluid mesh, which enables us to continue to develop the scene in Maya or elsewhere. 


Share this post with

Most Popular Stories

PROGRAMMING THE ILLUSION OF LIFE INTO THE WILD ROBOT
01 October 2024
Tech & Tools
PROGRAMMING THE ILLUSION OF LIFE INTO THE WILD ROBOT
For The Wild Robot Director/writer Chris Sanders, achieving the desired visual sophistication meant avoiding the coldness associated with CG animation.
REALISTIC FACIAL ANIMATION: THE LATEST TOOLS, TECHNIQUES AND CHALLENGES
01 October 2024
Tech & Tools
REALISTIC FACIAL ANIMATION: THE LATEST TOOLS, TECHNIQUES AND CHALLENGES
Facial animation has come a long way since the days of animatronics, as filmmakers now have access to a choice of advanced facial motion capture systems.
META QUEST 3 AND APPLE VISION PRO SPARK SURGE IN VR/AR HEADSETS
01 October 2024
Tech & Tools
META QUEST 3 AND APPLE VISION PRO SPARK SURGE IN VR/AR HEADSETS
While sales of VR and AR headsets were gloomy in 2023, 2024 has seen a solid recovery.
VFX IN ASIA: BOOM TIME
01 October 2024
Tech & Tools
VFX IN ASIA: BOOM TIME
Asia is playing an evolving role in shaping the global VFX ecosystem.
ARTISTIC ALCHEMY: THE PERSONAL CREATIONS OF VFX TALENT
01 October 2024
Tech & Tools
ARTISTIC ALCHEMY: THE PERSONAL CREATIONS OF VFX TALENT
In the world of visual effects, digital toolsets reign supreme, but that does not mean that traditional mediums have been tossed to the wayside.