This node uses volumes generated by one or more Ocean Spectrum nodes Merged together and connected to the second input to deform geometry in the first input. If multiple ocean spectra are input, their waves will be added together during evaluation, possibly modified by any mask or noise parameters on each input Ocean Spectrum layer.
The time at which to evaluate the ocean surface.
Downsample the incoming ocean spectra before evaluating any ocean values. This parameter specifies the number of powers of two to remove from the resolution of the incoming ocean spectrum. For example, if the spectrum was originally specified at resolution 10 to generate a 1024 x 1024 volume, downsampling by 2 will evaluate ocean volumes at resolution 8, a 256 x 256 volume.
The same high resolution spectrum can be processed by multiple Ocean Evaluate nodes, for example one with no downsampling to deform surface geometry, and another at a downsampled resolution to generate the more expensive volume or point output.
Downsample the incoming ocean spectra to the specified maximum resolution before evaluating any ocean values. This parameter is useful to avoid evaluation of very high-resolution spectra when only requiring simulation data, for example. It can also be more convenient than the Downsample parameter when there are multiple incoming spectra of different resolutions.
Specifies how deformation and velocity values falloff as the input points lie below the ocean surface. This value also controls the rank of the calculation volumes that are output if Rest Displacement or Rest Velocity is enabled: 2D if falloff is None but 3D otherwise.
Values do not falloff below the surface.
All values have the same exponential falloff below the surface.
Exponential by Frequency
Values have an exponential falloff that is scaled per wave frequency. With this setting the contribution from small, high frequency waves falls off very quickly. It is the most accurate setting and most expensive to compute.
An additional scale applied to the exponential falloff modes in Depth Falloff. For the most physically accurate values this should be set to 1 in conjunction with the Exponential by Frequency mode.
The maximum depth for the evaluated ocean volumes. All input positions deeper than this value will be clamped before sampling the ocean values.
The number of divisions along the depth axis if the computed ocean are 3D, as specified by the Depth Falloff parameter. Higher values are more accurate but more expensive to calculate.
If multiple ocean spectra are input to this node, limit the evaluation to the specified layer.
Deform Input Geometry
Deform the input geometry by the calculated ocean deformations.
Output a deformed grid exactly the size of the underlying ocean volume. This preview grid is fastest to evaluate and provides a simple way to view the deforming ocean surface.
Add a velocity point attribute to the output geometry.
uv attribute to the output geometry that can be used for texture lookups into the texture maps created with the Export to Texture tab. If Bake All Displacements to One Layer is disabled on that tab and there are multiple Ocean Spectrum layers input to this node, then each layer will get a separate
uv attribute. If Bake All Displacements to One Layer is enabled, only one layer of
uv attribute is assigned to the input geometry via a planar projection over the entire input geometry.
cusp point attribute to the output geometry that represents the sharpness of the wave peaks at any point, with values ranging from below 0 if the wave is stretched out, to greater than 1 if the wave peak is so sharp it has inverted.
Cusp Direction Attribute
cuspdir vector point attribute to the output geometry that points in the direction of the wave peaks.
cuspdir vector will point in the direction of the wave peak, but may or may not be aligned with the wave velocity. It can be useful to align these vectors with the following VEX code:
if (dot(v@v, v@cuspdir) < 0) @cuspdir = -@cuspdir;
cusp attribute by color.
The color ramp with which to visualize the
surface SDF volume of the specified size and resolution.
height 2-D volume containing the wave height in each voxel. This output can be manipulated using the HeightField family of SOPs.
The method used for generating the
height volumes. Point Sampling is less accurate, but also uses less memory and processing time. Projection is more accurate, but at high resolutions can use a large amount of memory and processing time.
The Surface SDF will represent the ocean at the specified depth. This differs from simply offsetting the output surface SDF as it takes into account the Depth Falloff setting.
Controls the radius of the points used to generate volumes when Method is set to Point Sampling. Higher values are more expensive, but give smoother volumes.
vel velocity volume of the specified size and resolution.
The size of the generated volumes.
The origin of the generated volumes.
It is often advantageous to make sure voxels in a volume are cubes. This option allows the resolution of the volume to be specified without having to worry about matching the size and resolution fields. This parameter controls which axis is divided into Uniform Sampling Divisions.
Uniform Sampling Divs
The number of voxels to divide the Uniform Sampling axis into. The other axes will be divided into the number of cells that fit for this voxel size.
When using non-uniform voxel cells, each dimensions resolution can be specified here.
The uniform size of the voxels, when specifying the voxel size directly. The given sized box will be filled by voxels of this size.
Max Extrap Cells
When generating velocity volumes, how many voxels from the ocean surface to extrapolate velocity values.
Max Displacement Frame
When generating volumes and points, this node needs to calculate the maximum horizontal and vertical displacement in the input ocean waves. If this parameter is enabled, the displacement will be estimated only once at the specified frame, which is fast, gives a stable point output, and it typically accurate enough for good results. However, in the case of animated wave amplitudes or quickly varying instacing geometry, it may be necessary to continuously re-calculate the displacement by disabling this parameter.
Output the internally computed displacement volume. Samples taken from this volume should be in rest position.
Output the internally computed velocity volume. Samples taken from this volume should be in rest position.
Output the internally computed spatial derivatives of displacement. Samples taken from this volume should be in rest position.
Points from Volume
Generate points with velocity in the volumetric intersection of the ocean surface and the specified box.
The smallest distance between any two of the generated points in the initial configuration.
Random seed for creating jitter.
The amount of jitter to apply to the positional values of the points.
Min Rest Depth
The minimum depth of points relative to the ocean surface.
Max Rest Depth
The maximum depth of points relative to the ocean surface.
The size of the box in which to generate points.
The origin of the box in which to generate points.
The rest configuration of points is generated by evaluating the maximum possible ocean displacement at time zero. This will usually be sufficient padding, but with extreme displacement it might be necessary to increase the padding scale in this parameter.
Create Output Group
Create a group containing the generated points.
The name of the generated output point group.
Export to Texture
This tab controls exporting the displacement and cusp volumes to textures that can be sampled during rendering. Most of the parameters here are exposed from the Composite output node. If there are multiple Ocean Spectrum inputs to this node and Bake All Displacements to One Layer is disabled, then each layer can be written out to a separate file sequence by using the
$OCEANLAYER global variable in the filename, as it is set to the current layer being exported. If Bake All Displacements to One Layer is enabled then only one layer is output.
Controls where the displacement and / or cusp values are stored in the texture.
Controls the bit depth of the generated textures. If the texture format supports 16-bit float, this bit depth can save space with little degradation in rendering.
Bake All Displacements to One Layer
Bake all displacements from the input layers, masks, and noise to a single texture that covers the entire input geometry. If the UV Attribute output is enabled, the 'uv' attribute will span the entire input geometry and this single texture can be used to displace the input geometry at render time.
The texture will not repeat as the per-layer spectrum output will. However, since it includes all masks and noise in a single texture, it is the most straightforward method for rendering ocean output with a displacement map.