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.
The phase offset of each wave.
The angular frequency of each wave.
The amplitude of each wave.
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.
The default render is zoomed quite close to the ocean surface, which may produce some visible artifacts. To fix this you can either zoom out or increase the Resolution Exponent slightly (to 10 or 11).
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.
The world space size of the generated ocean spectrum.
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.
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.
The standard gravitational force.
The seed for generating the phase offsets and Random Distribution of the ocean spectrum.
An offset 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.
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.
The length of the looping period in seconds when Loop Over Time is enabled.
The wind direction in degrees, with zero being along the X-axis.
The wind speed. Higher wind speeds create larger low-frequency waves and generally increase the dynamic range of the ocean spectrum.
The amount that the waves will align with the wind direction. As this parameter increases, waves that don’t align with the wind will be dampened.
The amount that waves 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.
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.
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.
The reference wind used for normalizing the overall wave height. Should only be changed if the units of your scene are changing.
A constant gain by which to scale all the wave amplitudes.
The random distribution used to scale the wave amplitudes after the shaping parameters have been applied.
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.
Use a uniform random distribution, which gives amplitude to many wave frequencies across the spectrum.
Use a Gaussian random distribution, which tends to be the best match to experimental models of ocean spectra.
Use a Log Normal distribution, which gives higher amplitudes to fewer wave frequencies.
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.
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.
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.
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.
Controls whether a value of 1 in the volume mask will Suppress or Contribute to the ocean at that point.
Multiply noise into the mask. Note that the noise will apply even if no volume mask is input into this spectrum.
The approximate world-space size of the noise patterns along and across the specified Direction.
The roughness of the noise pattern.
The number of octaves of turbulence to add to the noise.
The orientation of the noise pattern and the direction it will move if given a Speed.
The speed at which the noise pattern will move, which can be useful to emulate wind-over-water effects without animated parameters.
The rate at which the noise patterns evolve over time, which can be useful to emulate wind-over-water effects without animated parameters.
The offset applied to the noise.
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.
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.
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.
The radius of the instanced wave area. This parameter overwrites any incoming
pscale attribute on the input points.
The amount of randomness in the instanced ocean radius.
The amount to rotate the instanced waves. This parameter overwrites any incoming
rot attribute on the input points.
The amount of randomness in the instanced ocean orientation.
An amplitude scaling for the instanced waves.
The amount of randomness in the instanced ocean orientation.
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.
The amount of randomness in the instanced ocean offset.
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.
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.
Controls the choppiness of the waveform instanced when using the Wavelength parameter.
Controls how quickly the ocean waves falloff as they approach the Radius of the instanced area.
A random seed for the Wave Instancing parameters.
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.
Visualize the amplitude of the output spectrum, with low frequencies in the middle of the plane.
Visualize the mask of the output spectrum, including the moving noise patterns.
Visualize the effect of the wave instancing parameters.
The color ramp used for visualization.
The resolution exponent of the grid used for visualization.
The minimum and maximum amplitude values to visualize in the spectrum.