Houdini 20.5 Nodes Geometry nodes

Whitewater Source 3.0 geometry node

Generates the emission field for whitewater simulations.

On this page
Since 20.0

Overview

The Whitewater Source SOP generates an emission field used by the Whitewater Solver to spawn particles. The values in the emission field determine if whitewater will appear at that point. You can approximate the amount and location of the newly-created whitewater by visualizing the generated emit VDB: the fog’s density is directly related to the birth rate. This node can also source whitewater particles using the same method as the Whitewater Solver DOP. The whitewater particles are colored according to their emission criteria. This lets you evaluate particle counts and fine-tune emission controls with direct visual feedback.

In contrast to the previous particle-based sourcing, the new system is scale-independent and takes the underlying liquid simulation into consideration. You can directly control the whitewater’s physical amount without considering particle counts. Additionally, the new system is designed to facilitate full-pipeline prototyping for fluid simulations. You can now work with low-resolution settings to find a satisfying overall look for both liquid and whitewater simulations. The particle count can then be increased for a hi-res final pass on both solvers without having to care about significant changes in the amount of whitewater.

Note

This operator expects surface and vel fields in its first input. Depending on the emission sources used, the fluid particles and pressure field can also be required.

Note

By default, emit, surface, and vel are all output through the first output of the node. However, it is possible to only output the emission field to cache it in isolation and save some disk space. To enable this option, turn off the Output Fluid Fields checkbox on the Fluid Fields tab.

For more information, see the SOP Whitewater page.

Inputs

Liquid Simulation

Surface and velocity volumes or VDBs from a liquid simulation.

Container

Expects the domain geometry from the FLIP Solver SOP as a surface field or geometry hull.

Note

You could optionally provide a custom VDB SDF instead of the container. This will effectively limit the emission to the activated region of the provided VDB mask. Keep in mind that the Whitewater Solver still expects a meaningful container such as the one used for your flip simulation.

Collisions

Expects collision objects from the FLIP Solver SOP as surface and velocity fields.

Extra Source Points

Extra points to splat into the emission volume. The emission amount for each extra source point (indicated by the value of its Emission Attribute) is distributed trilinearly to its nearest voxels.

Outputs

Volumes

The emission volume (emit). If Output Fluid Fields is turned on, the geometry also contains the fluid’s surface and vel fields.

Container

Pass-through of the Container input.

Collisions

Pass-through of the Collisions input.

Visualization Particles

Visualization of the potential emission resulting from the generated emit field. The whitewater particles are colored according to their emission criteria. This lets you evaluate particle counts and fine-tune emission controls with direct visual feedback.

Parameters

Start Frame

Specify the frame when the simulation will start. This is used for acceleration-based and pressure-based emissions to avoid unwanted sourcing on the first frame.

Voxel Size

Voxel size for the emission volume.

Emission

Masks

Depth

Limit by Depth

When turned on, whitewater will only be emitted within the specified range of depths.

Maximum Half-Width

When turned on, the system tries to activate the signed distance VDB to ensure that accurate depth readings to the specified limiting values are made. The Maximum Half-Width parameter can limit the number of activated voxels to save computing resources.

Note

This should be turned on when using Narrow Band, and off for dense SDFs such as oceans.

Speed

Speed Range

All regions of the liquid, with speed greater than the minimum, can emit whitewater. Regions moving at or above the maximum speed will always emit whitewater.

Remap Speed

By default, speed is mapped linearly to a (0, 1) range. This behavior can be changed by specifying a custom mapping.

Sources

Curvature

Emit from Curvature

Enhance emission rates with the curvature of the surface SDF. Curvature is an effective method to detect the leading edges of breaking waves.

Note

High-resolution fluid simulations tend to contain fine details that may result in spurious curvature-based sourcing. For better results, consider smoothing the surface field with the parameters of the Volumes tab’s Surface Filtering subpane.

Max Velocity Angle

The angle between the velocity of the particle and the surface normal must be lower than this value for whitewater emission. This limit helps to ensure that whitewater is only created on the leading edges of waves.

Curvature Range

Range of curvatures that gets mapped to a (0, 1) emission range.

Compute Range from Data

Set the Curvature Range to the min and max of the current frame curvature.

Remap Curvature

By default, the curvature is mapped linearly to a (0, 1) range. This behavior can be changed by specifying a custom mapping curve.

Acceleration

Emit from Acceleration

Increase emission rates with the magnitude of acceleration. Acceleration is effective at detecting areas where particles are rejoining existing parts of the fluid. This results in trapped air that causes whitewater. This parameter uses Eulerian acceleration, which is the time-rate of changes in the fluid’s velocity at fixed locations in space.

Acceleration Range

Range of accelerations that gets mapped to a (0, 1) emission range.

Compute Range from Data

Set the Acceleration Range to the min and max of the current frame accelerations.

Remap Acceleration

By default, the acceleration is mapped linearly to a (0, 1) range. This behavior can be changed by specifying a custom mapping curve.

Vorticity

Emit from Vorticity

Enhance emission rates based on vorticity (or magnitude of rotation) inside the velocity volume. This method identifies churning areas of the fluid, which generally occur deeper below the surface.

Vorticity Range

Range of vorticities that gets mapped to a (0, 1) emission range.

Compute Range from Data

Set the Vorticity Range to the min and max of the current frame vorticities.

Remap Vorticity

By default, vorticity is mapped linearly to a (0, 1) range. This behavior can be changed by specifying a custom mapping curve.

Splash

Emit from Splash

Enhance emission rates based on splashes. This method identifies fast-moving isolated droplets or thin liquid structures mostly in contact with air. This emission type requires the fluid particles to be provided along with the surface and vel fields in the node’s first input.

Replicate Points along Velocity

Replicate the particles backward along the velocity vector to avoid stepping artifacts along the emission trajectory.

Scale

Multiplier affecting the splash-based emission.

Remap Relative Density

By default, the relative density is transformed using a negative linear mapping from a (0, 1) range. This behavior can be changed by specifying a custom mapping curve. The default configuration should select the loosely packed particles as splash-based emission, whereas densely packed particles will not be used.

Pressure

Emit Based on Pressure

Increase emission rates based on the alignment between the pressure and surface gradients. This method can identify the face of a wave before and as it is crashing down. Note that this method requires the pressure field, the collisions, and the container to be provided in the first three inputs of the node.

Pressure Scale

Multiplier affecting the pressure-based emission.

Remap Pressure

By default, pressure is remapped from the (0, 1) range using a custom mapping curve.

Deformation Sources

Emit Based on Surface Deformation

Increase emission rates based on the local deformation of the surface. This method identifies stretching, squishing, and scaling of the fluid surface. Stretch corresponds to the most significant expansion of the surface along a specific direction. Squish corresponds to the most significant compression of the surface along a specific direction. Surface scale corresponds to how much the surface compresses (negative values) or expands (positive values) considering all directions.

Squish

Squish Scale

Multiplier affecting the squish-based emission.

Squish Range

Range of squish that gets mapped to a (0, 1) emission range.

Compute Range from Data

Set the Squish Range to the min and max of the current frame squish.

Remap Squish

By default, squish is remapped from the (0, 1) range using a custom mapping curve.

Stretch

Stretch Scale

Multiplier affecting the stretch-based emission.

Stretch Range

Range of stretch that gets mapped to a (0, 1) emission range.

Compute Range from Data

Set the Stretch Range to the min and max of the current frame stretch.

Remap Stretch

By default, stretch is remapped from the (0, 1) range using a custom mapping curve.

Surface Scale

Surface Scale Scale

Multiplier affecting the surface scale-based emission.

Surface Scale Range

Range of surface scale that gets mapped to a (0, 1) emission range.

Compute Range from Data

Set the Surface Scale Range to the min and max of the current frame surface scale.

Remap Surface Scale

By default, surface scale is remapped from the (0, 1) range using a custom mapping curve.

Extra Sources

Note

Turn on this feature by connecting geometry to the fourth input.

Group

Only points of the fourth input that are part of this group will be used for extra emission.

Emission Attribute

Name of the attribute that stores the amount of emission for each source point. No extra emission will be added if the specified attribute does not exist.

Particle Scale

The pscale attribute is scaled by this value. Increase this value to add a larger footprint to the extra emission points.

Merge Method

This parameter controls how extra sourcing is combined with the emission volume.

Add

Extra emission is added to the original volume.

Maximum

Final emission is the maximum of the original volume, and extra emission.

Override

Emission in the areas influenced by extra sources is replaced by their value.

Post-Process

Remap Emission

You can optionally remap the final emission probability with the Emission Ramp.

Fluid Fields

Output Fluid Fields

When this option is turned on, the node also outputs the fluid’s signed distance field (surface) and velocity field (vel).

Modify Fluid Fields

Output the fluid’s signed distance field (surface) and velocity field (vel) clipped to the provided container. If Surface Filtering is used, the filtered surface is outputted. This is useful if the whitewater simulation is limited to a subdomain of the fluid simulation.

Emission Size

Physical size of the emission region. This option can be used to restrict emission to a certain subregion of the fluid simulation.

Emission Center

Center of the restricted emission region.

Mask Name

Name (or name pattern) of the primitive you want to use as an emission mask.

Surface Filtering

The filtering operations in this section can be used to smooth the surface field before it’s used for generating the emission field. This helps to eliminate noise from curvature-based emission.

Note

Dilation is performed first, followed by smoothing and, finally, erosion.

Note

If Modify Fluid Field is turned on, the filtered surface will be exported by this node. Be careful with transferring the filtered surface to the Whitewater Solver. Aggressive smoothing may create suddenly disappearing fluid regions.

Dilate

The surface is expanded by this number of voxels.

Smooth

Turn on the filter to choose a smoothing method from the dropdown menu and determine the number of filter iterations. Higher values create smoother surfaces, but will also remove detail.

Erode

The surface is shrunk by this number of voxels.

Visualization

Visualize Emission Volume

When this parameter is turned off, the generated emit volume is invisible and won’t be rendered in the viewport.

Source Particles

Whitewater Scale

Whitewater scale controls the number of particles that are created to fill a given volume. The parameter’s value should match the solver’s Whitewater Scale.

Emission Amount

The parameter’s value should match the solver’s Emission Amount.

Max Point Limit

Hard limit on the amount of points to be generated for visualization.

Output Point Velocity

Adds velocity attribute to the generated points.

Output Emission Attributes

Adds emission attributes to the generated points. Note that those are the raw attribute values before being remapped to the (0, 1) range or going through the ramp.

Curvature Color

Color of the particles from the Curvature emission.

Acceleration Color

Color of the particles from the Acceleration emission.

Vorticity Color

Color of the particles from the Vorticity emission.

Pressure Color

Color of the particles from the Pressure emission.

Deformation Color

Color of the particles from the Deformation emission.

Extra Color

Color of the particles from the Extra Sources emission.

See also

Geometry nodes