FLIP simulation in Houdini with procedurally modeled and textured rocks. This post documents my work in progress with this piece.
I was inspired to create this piece from photos I saw of the Studlagil Canyon in Iceland. I've taken some creative liberties with how dynamic the water is. I wanted a bigger, faster waterfall so that I could add the whitewater. I kept that balanced by making the river calmer. It moves fairly quickly still but doesn't have near the amount of whitewater as the waterfall.
Above is a work in progress shot of the simulation. I had about four more iterations of the simulation before the final product. The biggest fix that had to be made was the loss of volume at the end. That can be fixed by increasing substeps, but first I checked to see if my colliders were preventing the flow of water at the lower boundary layer.
The main challenge I face with this project is the simulation time and cache size. All my simulations are usually run locally on my personal computer. I don't have access to a sim farm at school. It wasn't an issue running the sim with one substep, but once I increased the minimum to two and the maximum to four to solve issues with volume loss, I ran out of RAM often. This made it difficult to keep it running iterations efficiently.
I decided to source to Grid Markets. It was my first time using a cloud-based sim farm. I had a good experience with them, but it was a bit expensive so I could only use them one time. I continued to run my simulation on my computer and actually learned that to pick up caching from a certain frame you have to cache a .sim file, other DOPs starts over every time you run the cache. I haven't ever run a simulation so dynamic and large that I couldn't cache it without running out of RAM. But now I know and I have the disk space to cache the .sim files.
Procedural Modeling and Texturing
I've done procedural modeling in the past, that was the bulk of my studies when I first became seriously concentrated in the software. In terms of procedural texturing, this was a new one for me. I've made it point for myself to better my procedural skills so that I can easily change my environment for my simulations to get better results from the simulations, and also save working time and render time.
When I started the procedural modeling, I knew I wanted to make a tool that gave a lot of artistic control. I hadn't ever made procedural rocks before, so I searched to see what some people had already made. I specifically search the type of rock that was looking to make and found an awesome procedural tool by Kevin Quinn (link: https://www.artstation.com/artwork/KaJ29X). He posted a video that showed the functionality and I really like the falloff controls that he made to easily shape the height of each rock. I referenced that part of his tool in my project. I recreated the functionality to the best of my knowledge based on the ending result I saw in the video.
I learned a great deal about VOPs with this project. To get me started on learning what tools I had to mix the various noise types and apply those to different geometry, I watched Rohan Dalvi's Procedural Texturing and Baking videos (link: https://www.rohandalvi.net/baking). From what I learned in those videos I made three different textures. I ended up not applying the colors in SOPs, I did that in the MAT context because I was able to achieve a cleaner result with a significantly less amount of render time. I made a texture for the shorter rocks and the taller ones and then a "wet" version of the shorter rocks. I added a ramp that multiplied over the noise to give more variation in the color of the rocks and add more dimension.
The networks are all very much the same, the difference is the coloring in the ramps.
The current pass was about 145 hours in render time at 2k resolution.