Getting closer to a more detailed Krakatoa-type look for the foam. Currently the sim has +20,000,000 particles and cache sizes are approaching 1.2 GB per frame, which makes it a challenge to manage on the renderfarm. The render time for the foam by itself is only 2-3 minutes, but when rendering the ocean surface as a holdout it goes up to 10-15 minutes due to the displacement of the ocean mesh, and loading the geometry. I have reduced this time by writing out the mesh and loading it on to the farm, but I need the space to hold the cache files so for now I am offloading the mesh generation to the farm.
Front foam with no ocean matte (downloadable) 20,000,000 particles
Foam: rear view
With ocean matte
Current Foam Technique:
For this version I used a combination of methods. I used the particle generation system of the white water solver with some customization added for external forces (wind), a curl noise vop, and vaporization (vop) for the spray. I also used and attribute that normally gets deleted in the solver called "foamdensity", which allows you to create a fit expression, that when multiplied by the pscale can have the effect of reducing the pscale to almost zero in areas of low density. This results in more defined foam patterns and reducing the visibility of individual particles between foam clumps.
Lots of particles
To get the fine particle appearance I used a pscale of 0.05 as a starting point, then added variation based on density. After that, I cranked up the particle amounts to over 20,000,000.
Isotropic Volume Shader
Based on the feedback, I decided to use a completely different method to shade the particles. Instead of using the particle replicate along with the VDB + rasterizer that comes default with the whitewater tool, I used a custom shader, which utilizes an isotropic volume method, which seems to be better able to maintain the detail, and avoid the smokey look I was getting before.
Separating into layers
To get more detailed sims that are more manageable and easier to art direct, I have begun to separate them into layers. This will also allow customization of the velocities, for example, on the front independent from the trailing foam in the wake.
More color variation will be added using color by velocity and vorticity fitted to color ramps and added to the shader.
Foam wake (downloadable)
Turntable no car
October 17th, 2018
October 10th, 2018
Despite the new foam solver being released today I decided to work on the old system with assumption that some of the workflow elements will be the same or similar. The enhancements I made to the shelf tool include:
1) Noise VOP on foam source
2) Vaporizer DOP VOP to scatter the splashes after a certain threshold
3) Wind velocity field
Shot 3: Shore simulation. Reduced the scale, remvo
Close up splash/foam testing
Week 4: Focus on tweaking the mesh
Rendered still with higher rez mesh, Laplacian smoothing, and droplets
After tweaking the droplet threshold
Original Tire Splashes: stringy
Used dilate and erosion tweaks to reduce the holes while maintaining as much splash detail as possible.
Used Laplacian Smoothing applied with a velocity mask calculated before. Kept splash detail while flattening the mesh. However, it introduced some holes in the mesh.
Used Laplacian Smoothing to correct this and make more fluid/flowing surface, but it resulted in the loss of detail in other areas.
Close up camera reveals the fluid is too thick along the shore and rocks
To address the lack of splashes, additional pumps for each tire.
Calculate the velocity
First: uprez the mesh
Shot 3 Initial Render Test:
Flip sim is low resolution
-Not enough splashes and droplets around car, especially
-Very shallow water has the same displacement as deeper
parts because it was meant for mid-ocean integration
not shore breaks
-Some wave sets are moving in wrong direction
1/4 Resolution Render Test
Foam and spray test V02
Based on feedback to look at scale and to use more references I made some improvements on the overall ocean surface using the following techniques:
1) Wave instancing: created a separate ocean spectrum node with random seed and instanced it to scattered particles in the distance with a mask for the bounding box area
2) Ocean Waves: created a set of "tidal" waves instanced to a plane and animated across the infinite spectrum and flip tank.
3) Wave mask: painted a mask attached to a "calmed" ocean spectrum node to create some flatter areas in the ocean
Latest foam version as of 9/25/2018. Varied the pscale of the source particles (post process) using a simple vex snippet @pscale = fit01(rand(@id), 0.055, 0.0035); Dialed down the density on both the point replicate and the foam shader.
Ocean Surface with improvements and new HDRI light from Tybee Island (SUNSET)
Foam test with spray
Overhead low density foam
Higher density foam test with forced matte objects
I went to Tybee Island this weekend to get some references to improve the look of the ocean surface. Unfortunately it was cloudy and raining but I got some good shots anyway.
Ocean Surface (calm)
Many small waves breaking at different angles
Splashes and foam
Foam on flat hard sand
Medium-sized waves breaking
September 24th, 2018
KELVIN WAVES: The flip solver by default does not create proper wakes for moving objects. Objects will disturb the water creating a trail, but it will not create a self propagating wave. I researched some different options including using the ripple solver to create a displacement map, which could be added to the overall displacement. The other option I found was to use velocity pumps. With velocity pumps there is more control and it can be easily integrated with the existing network. Initially, I had to animate the pump geometry independently from the car, but soon created a rig that could be attached to any object, and reference the transforms so it moved with the object.
The velocity pump works similar to using it with the pyro solver. Create the geometry, convert to a fluid source volume and export to DOPs as a Source Volume.
Initial velocity pump set up
Kelvin wave V01
Kelvin wave V01 in motion
Kelvin Wave V02: from the reference I noticed that there were two kelvin waves coming from the front and sides of the car and another from the rear, so I created another pump to simulate this effect.
Below is the double kelvin wave test applied to the overhead scene (shot 2) interacting with a set of incoming waves. The effect was pre-rolled enough to start with the wake already in place.
Shot 3: car exiting the ocean and interacting with breaking waves and shoreline.
Concept #2 Land Rover
Test Render #2 Chaotic foam with noise added on the point replicate node
Test Render #1 Smooth foam
FLIPBOOK of Guided Ocean Layer simulation with Flip fluid integration