Make an infinite whitewater sim

2 min read

Learn how to extend your simulation and integrate it with the Ocean Procedural LOP

Building a FLIP simulation, then extending it with a flat extrusion and displacing the new geometry with the Ocean Procedural LOP may seem like a daunting task at first, but we can make our lives easier by building our scene in a way that’s easy to manage.

01 BUILD THE FLIP SIM

Firstly, we have to build our FLIP simulation. In this case I’m using the SOP level FLIP solver to simplify the process, and I suggest you do too. For this scene, I decided to make the bounds of the simulation follow the boat, which is moving forward, so the whole sim is actually moving.

As you can see, I’m driving the simulation by using an Ocean Spectrum. This enables you to control the shape of the ocean. I also built a Pyro sim that shoots smoke from the boat’s engines and sourced its Velocity in the FLIP sim to help emphasise the effect that the propellers would have on the water.

02 CREATE THE WHITEWATER SIM

As for the whitewater, I used the new SOP level Whitewater workflow. It’s as easy as plugging your Ocean Evaluate, FLIP sim output and FLIP container into the new FLIP Volume Combine node, and then plugging that into the Whitewater source SOP, along with your collisions and container.

I selected some parts of the boat and gave them a point attribute Emit, so a value of 1 will emit the maximum amount of particles. I then brought these points in as extra sources on the Whitewater source.

If using only one Whitewater solver doesn’t give you the results you want, you can always use different solvers for various parts of the simulation to achieve your desired look. In my case, I’m using a solver for the left side of the boat, one for the right side and one for the engines. You can also use VDBs as masks to only emit from certain areas.

02a

02b

03 MESH AND EXTEND THE OCEAN

Now it’s time to mesh the sim and create some useful underwater volumes for the whitewater. To mesh the sim, I used the Particle Fluid Surface SOP, which has an option to flatten a border around your sim and then extrude it by a specified distance. This is what we’ll use to extend the ocean.

Before the meshing, I also dropped down a Point Wrangle and set the pscale attribute to decrease as the density of the particles decreases, giving the