Here’s something I’ve done completely in Houdini. Render quality isn’t great, but I just wanted it to render quick so I can start working on it again.
Right now, I’ve created a procedural mountain and scattered rocks across the mesh by randomly deforming the copied rocks. I’m plugging that into a simulation network where I first simulate the water, and then simulate the spray. I plan on turning the simulation network into a digital asset to use anytime, by grouping it and allowing controls to easily adjust the input geometry, where water is emitted from, the resolution of the water and the spray amount, among other things. This way, I can create geometry of any kind, and have waterfalls where I want them. That way, you can do mountains with huge waterfalls as easily as a flowing streams.
Further down, the first step in the simulation network is to emit particles from geometry. Whatever gets fed into the network is the emitting geometry. An animated 3D noise field is spraying the water out of the geometry at a constantly different place, resulting in a nicer looking simulation. That simulation reacts with the collision geometry and is saved to disk as a point cloud.
That point cloud is having it’s velocity compared to its velocity one frame behind to find out the magnitude of the change in velocity. This represents all the particles that are transitioning from a really quick speed to a really low speed in a short amount of time and vice versa, so it represents the water that is splashing into things or gaining a lot of speed. Another set of liquid is emitted from these filtered particles to create the “splash” liquid. It collides with the original collision geometry as well as some calculated collisions with the other water simulation. If the splash particles are inside of the water particles, they will animate towards nearest point of the top of the surface, so they’re always on top of the surface of the water. They will live and die depending on how deep they try to get inside of the water mesh.
Once that is bundled into an asset, I’ll try creating a really big mountain-like scene, and testing it out on that. I’ll need a lot more splash particles for that.