Houdini 20.5 Nodes Geometry nodes

Ocean Spectrum geometry node

Generates volumes containing information for simulating ocean waves.

Since 12.5

This node creates volumes containing information modeling the effect of constant wind and tidal pull on ocean waves over time. You can then wire into the Ocean Evaluate node to animate ocean surface geometry.

Specifically, this node generates three named volumes that Ocean Evaluate expects in its second input.

phase

The phase offset of each wave.

frequency

The angular frequency of each wave.

amplitude

The amplitude of each wave.

The amplitude volume primitive will have additional attributes created that control behavior of the ocean when evaluated, for example the Chop and Time Offset parameters.

Multiple ocean spectra can be layered together by Merging them together before sending them into Ocean Evaluate for geometry deformation, or for render-time evaluation via the Ocean Sample Layers VOP.

This node also accepts a world-space Houdini or VDB volume to use as a suppression or contribution mask when the ocean is evaluated to further modify the ocean amplitude, as well as multiplying in evolving noise to break up tiling and mimic wind-over-water effects. Additionally, any non-volume points plugged into the inputs will be used to “instance” ocean waves onto the deformed geometry with position and orientation controlled by the Copying and Instancing attributes on the input points and the randomized parameters on the Wave Instancing tab of this node.

Note

If the camera is quite close to the ocean surface, there may be some visible blocky artifacts. To fix this you can either zoom out or increase the Resolution Exponent slightly (to 10 or 11).

Parameters

Resolution Exponent

The resolution exponent of the 2D Volumes generated by this SOP. Higher resolution volumes add higher frequencies to the ocean and are more expensive to evaluate. All volume resolutions are powers of two, so the final voxel resolution will be pow(2, resolution), e.g. a value of 8 yields a voxel resolution of 256 x 256.

Grid Size

The world space size of the generated ocean spectrum.

Grid Center

The world space center of the generated ocean spectrum. Adjusting the center will move the entire spectrum and can be useful in ensuring a particular wave hits a desired point in space.

Depth

The depth of the ocean. The waves in deep oceans have a strong dispersion relationship, meaning the large, low-frequency waves move faster than the smaller waves. Decreasing this parameter reduces the amount of dispersion and causes more uniformity in wave speed.

Gravity

The standard gravitational force.

Seed

The seed for generating the phase offsets and Random Distribution of the ocean spectrum.

Time Offset

An offset in seconds added to the time at which the ocean spectrum is evaluated. This parameter can be useful in timing specific wave motion, particularly when layering multiple ocean spectra together.

Time Scale

A scale applied to the time at which the ocean spectrum is evaluated. This parameter can be useful in timing specific wave motion, particularly when layering multiple ocean spectra together. This scale also effects wave point velocities.

Loop Over Time

When enabled the ocean waves will loop over the time specified by Time Period. Very short time periods can cause quantization artifacts in the generated waves.

Loop Period

The length of the looping period in seconds when Loop Over Time is enabled.

Wind

Spectrum Type

The algorithm used to generate wave amplitudes given various parameters such as water depth, wind direction and speed.

Phillips

The classic spectrum that provides control over wind direction in a fully developed ocean. This spectrum type is also known as Tessendorf.

TMA

An enhanced spectrum that adds additional parameters for how long wind has acted upon the ocean and performs better at lower Depth settings. The implementation of the TMA (Texel-Marsen-Arsloe) spectrum is also known as Encino waves.

Direction

The wind direction in degrees, with zero being along the X-axis.

Speed

The wind speed. Higher wind speeds create larger low-frequency waves and generally increase the dynamic range of the ocean spectrum.

Directional Bias

The amount that the waves in the Phillips spectrum will align with the wind direction. As this parameter increases, waves that don’t align with the wind will be dampened.

Directional Movement

The amount that waves in the Phillips spectrum will move in the same direction as the wind. When this value is low, the ocean will contain waves that are aligned with the wind, but moving in the opposite direction from the wind. Increasing this value will dampen those waves, leaving only those moving in the same direction.

Swell

Enhances the directionality of the waves in the TMA spectrum when set to values greater than zero. Negative values remove directionality and adds more waves in directions opposing the wind.

Fetch

The distance in kilometers that the wind has been acting upon the ocean in the TMA spectrum, often thought of as the distance from shore.

Chop

The amount of sharp cusps the waves will have. Increasing this value too high can cause the waves to become too peaked and invert on themselves.

Wave Amplitude

Normalize

The ocean spectrum is shaped by reducing the amplitude of waves traveling in unwanted directions, which causes the overall height of the ocean to change as the waves are shaped. Normalizing maintains consistent wave heights as the various shaping parameters are modified. When this parameter is enabled the only shaping parameters that affect wave height are the wind Speed, which affects dynamic range, and amplitude Scale, which affects overall amplitude gain.

Reference Wind

The reference wind used for normalizing the overall wave height. Should only be changed if the units of your scene are changing.

Scale

A constant gain by which to scale all the wave amplitudes.

Random Distribution

The random distribution used to scale the wave amplitudes after the shaping parameters have been applied.

None

No random values are applied to the amplitudes. This setting is useful for post-multiplying the amplitude volume with custom values before they are evaluated with Ocean Evaluate.

Uniform

Use a uniform random distribution, which gives amplitude to many wave frequencies across the spectrum.

Gaussian

Use a Gaussian random distribution, which tends to be the best match to experimental models of ocean spectra.

Log Normal

Use a Log Normal distribution, which gives higher amplitudes to fewer wave frequencies.

Min Wavelength

Dampen any waves with a smaller wavelength than this value, which can help with aliasing of very small waves at very high resolution.

Filter Above Resolution

Dampen any waves that would exist in an ocean spectrum higher than this resolution. For example if set to 8, this spectrum will have no higher frequencies than a spectrum of resolution 8. This parameter can be useful along with Filter Below Resolution when layering spectra and applying masks and noise to only the highest frequencies.

Filter Below Resolution

Dampen any waves that would exist only in an ocean spectrum lower than this resolution. For example if set to 8, this spectrum will contain only frequencies higher than a spectrum of resolution 8. This parameter can be useful along with Filter Above Resolution when layering spectra and applying masks and noise to only the highest frequencies.

Remap Amplitude

Modify the output wave amplitudes with a ramp.

Max Remap Resolution

The resolution of the highest wave frequency represented on the Amplitude Ramp. Having this fixed allows a ramp to always affect the same frequencies even as the overall resolution of the ocean is changed. Alternatively this can be channel-referenced to the Resolution parameter.

Amplitude Ramp

A ramp applied to the amplitudes of the wave frequencies in the spectrum, with low frequency on the left and high frequency on the right, up to the highest frequency specified by Max Remap Resolution.

Mask

A native Houdini or VDB fog volume can be plugged into this node to further control world-space wave amplitudes. If no volume is input into this node, the spectrum will contribute full amplitude everywhere unless further modulated by Add Noise. The mask can be visualized with the Visualize menu parameter.

Type

Controls whether a value of 1 in the volume mask will Suppress or Contribute to the ocean at that point.

Add Noise

Multiply noise into the mask. Note that the noise will apply even if no volume mask is input into this spectrum.

Size

The approximate world-space size of the noise patterns along and across the specified Direction.

Roughness

The roughness of the noise pattern.

Turbulence

The number of octaves of turbulence to add to the noise.

Direction

The orientation of the noise pattern and the direction it will move if given a Speed.

Speed

The speed at which the noise pattern will move, which can be useful to emulate wind-over-water effects without animated parameters.

Pulse Length

The rate at which the noise patterns evolve over time, which can be useful to emulate wind-over-water effects without animated parameters.

Offset

The offset applied to the noise.

Input Range

The input range of the noise that will be mapped to the Output Range. Decreasing these values creates harder, more distinct regions in the noise pattern; increasing it softens the transitions between noise regions.

Output Range

The output range of the noise, limited to a 0-1 range. Increasing the minimum value will cause less noise damping in the waves. Decreasing the higher range will reduce the overall amplitude of the waves.

Blend With Spectrum

This spectrum will get its noise parameter values from the other specified Ocean Spectrum node, then use the complement of the evaluated noise. If both spectra are evaluated as merged ocean layers, the resulting ocean will be a blend of the two spectra with the noise patterns controlling each spectrum’s contribution.

Wave Instancing

Any non-volume points input to this node will be used for instancing ocean waves onto the input points. Besides the usual Copying and Instancing attributes, these parameters can be used to randomize the position and orientation of the wave instancing.

Radius

The radius of the instanced wave area. This parameter overwrites any incoming pscale attribute on the input points.

Variance

The amount of randomness in the instanced ocean radius.

Rotation

The amount to rotate the instanced waves. This parameter overwrites any incoming rot attribute on the input points.

Variance

The amount of randomness in the instanced ocean orientation.

Amplitude

An amplitude scaling for the instanced waves.

Variance

The amount of randomness in the instanced ocean amplitude.

Offset

The amount to offset within the ocean grid before instancing waves. This value is in the 0-1 range, with 1 being the entire Grid Scale range of the ocean grid.

Variance

The amount of randomness in the instanced ocean offset.

Wavelength

If set to a non-zero value, a single waveform of this wavelength will be instanced onto the point. Several of these can be combined in a line or curve to form a wavefront. The velocities for these waveforms will be derived from the input point’s velocity, if any.

Note

You will usually want to set Offset Variance to zero when using this setting. Also setting the Scale on the Wave Amplitude tab to zero will disable the instancing of the ocean spectrum.

Wave Chop

Controls the choppiness of the waveform instanced when using the Wavelength parameter.

Rolloff

Controls how quickly the ocean waves falloff as they approach the Radius of the instanced area.

Seed

A random seed for the Wave Instancing parameters.

Point Configuration

Controls how the input points are looked up when instancing waves. If they are determined to be close to a flat plane with either the Auto Detect or 2D Best Fit Plane settings, then all point lookups will be done in 2D space and give accurate velocities at depths below the surface. However, for input points that are widely dispersed in 3D space, this projection can lead to overlapping wave instances, and the 3D setting can be used to override Auto Detect, at the expense of inaccurate wave velocities at depth.

Visualization

Visualize

None

No visualization:

Spectrum

Visualize the amplitude of the output spectrum, with low frequencies in the middle of the plane.

Mask

Visualize the mask of the output spectrum, including the moving noise patterns.

Wave Instancing

Visualize the effect of the wave instancing parameters.

Visualization Ramp

The color ramp used for visualization.

Visualization Resolution

The resolution exponent of the grid used for visualization.

Visualization Range

The minimum and maximum amplitude values to visualize in the spectrum.

See also

Geometry nodes