BIFROST Beach RnD


Reference - Video

 

Reference - Image - click on image for high res

 

 

Beach Inherit Vel Compare

 

Beach MVS Compare

 

Beach AccGEO poly and Acc Voxel size Compare

 

Beach WaveType Compare

 

Bifrost Foam new attributes

Playblast shows the compressionModel with evaluateNeighborTile and surface tension. These attributes are primarily useful for smaller scale foam where the surface tension and clumping over time is more noticeable.

Here are a couple of notes.

AirDrag: This scales the density of the air that affects foam when it is outside the liquid. Lower density foam is affected more by drag with air, while higher density foam moves more ballistically and is affected more by gravity.  As one increases drag more of the foam particles will tend to fall more slowly and move with the wind, instead of falling back into the liquid. High density particles in the air can be thought of as spray while lower density particles will behave more like mist.

 The following new attributes are computed in the preserveVolume node, and thus require preserve volume to be non-zero. They also use the point radius.

 FoamSurfaceTension: this is like an attractive force and pushes particles together when within the tension radius. The useful values are generally between 0 and .1, higher than that results in little balls. This effect may work best with CompressionModel and evaluateNeighborTiles enabled, but it is not required.

 TensionRadius: This is the radius of attractive effect created by the foamSurfaceTension. It is computed as a multiple of the pointRadius… so 2 would be 2 times the pointRadius. Simulating higher surface tension values generally requires using a larger tensionRadius to avoid simply getting a lot of tiny balls, though larger radius values will be slower to compute.

 evaluateNeighborTile: For very dense foam the preserveVolume can result in visible tile boundaries, especially if the water is calm. If this is enabled it fixes these problems, although can have a performance hit.  As well the foamSurfaceTension and compressionModel have attractive effects that generally require this to be enabled.

 CompressionModel: This applies the preserveVolume in a fashion that is more like an SPH liquid model than simple repulsion.  If particles overlap but the density of overlap is less than the target density value they will be pulled together. If greater than they are pushed apart. In general if increasing the targetDensity one may wish to have a larger pointRadius to compensate.

TargetDensity: this is the target overlap density used by the compression model. Larger values would have a smoother distribution with potentially better impressibility, but also be slower and require a larger pointRadius.

 OverlapPruning: (0.0-1.0) This kills particles based on how many particles they overlap. Zero is no effect, 1.0 kills on any overlap, and values closer to zero require a higher number of overlapping particles before the particle is killed. This is useful for regions like the wake at the stern of a boat, or the bottom of a waterfall, where the forces will result in a huge particle count. This allows dense regions to have less particles while still preserving the general emission and dissipation rates. When a particle is killed its density is transferred to its neighbors, so that the total foam density is preserved. If the point radius is high then there will be more overlap and the rate of killing will be higher.


 

Beach HighSettings - Section of beach

 

Beach Foam simulation

Beach Foam 01
Beach Foam 02
Beach Foam01 high res downlod
Beach Foam02 high res downlod

 

Beach Arnold lookdev - press on image for better quality

 

Beach Arnold lookdev - video preview

Beach lookdev 01 - 1080p - 30min/frame
Beach lookdev 02 - 720p - 7-10min/frame