ocean dynamics
This node simulates dynamic boat wakes on the ocean surface and can also be used to create raindrop ripples or similar localized disturbances. It features two-way coupling with dynamic objects - meaning the simulated surface not only generates buoyant forces that influence object motion, but is also affected by that motion in return. This results in a realistic and physically accurate interaction between objects and the water surface. Users also have NodeWorks PhysX rigid body dynamics at their disposal to generate collisions between dynamic objects.
Note: The Gravity parameter in this node is used exclusively for calculating buoyant forces acting on objects. It does not apply gravitational acceleration directly. To ensure physically accurate results, you should add a separate Gravity node and set it to the same strength as this parameter. This ensures consistency between buoyancy and gravity.
[Inputs]
#Ocean - Choose Ocean Sim from the list, or connect it to the input pin.
Grid
Spacing - Controls the resolution of the simulation grid. Smaller spacing values result in finer, more detailed waves, but will increase simulation time and memory usage.
Width, Length, Height - Define the dimensions of the simulation grid. These values determine the physical size of the simulated area along each axis.
Falloff % - Applies a gradual attenuation to wave height near the edges of the simulation grid. Higher falloff values create softer transitions, reducing visible wave clipping or abrupt motion near boundaries - ideal for blending the simulation into surrounding ocean surface.
Simulation
Use Ocean Height - When enabled (default), dynamics are affected by the ocean surface and wave height. When disabled, the simulation is computed on a flat surface, ignoring ocean elevation. Disabling this option can improve performance during setup, especially when working with complex adaptive ocean meshes that may slow down dynamic simulations.
Num Iterations - Controls the number of simulation steps used for wakes and ripples. Setting an appropriate value is crucial for stability - too few iterations can lead to instability and large oscillations across the grid.
Water Density - Specifies water density which will have the effect of the simulation.
Gravity - Gravitational constant used to calculate buoyancy.
Propagation - The rate at which wakes propagate.
Damping - Wakes attenuation with time.
Foam and Bubbles
Foam and bubble particles are generated dynamically from ocean wakes caused by object interaction with the water surface. When objects disturb the ocean-such as boats, floating debris, or rain - localized wakes are created, which serve as emitters for foam and bubbles. These particles enhance visual realism by simulating the frothy trails and submerged air pockets typically seen in real-world water interaction.
Particle Amount - Controls how many particles are created per unit area of simulated wake. Higher values result in denser foam and bubble emission.
Particle Scale - Foam and bubble particle radius.
Particle Scale Var % - Foam and bubble particle radius variation.
Create Foam - Enable this option to generate foam.
Threshold - Minimum wake height change required to generate foam. Higher thresholds reduce particle creation in small ripples.
Life Span - Specifies how long foam particles remain visible.
Life Span Var % - Adds variation to foam life span for more natural results.
Foam Mtl ID - Foam particles material ID from the NodeWorks multi-material.
Create Bubbles - Enables bubble particle generation below the ocean surface.
Threshold - Minimum wake height change required to generate bubbles.
Depth - Depth below the ocean surface where bubbles are spawned.
Depth Var % - Variation in spawn depth, allowing bubbles to appear closer to or further from the surface.
Life Span - Bubble particle life span.
Life Span Var % - Bubble particle life span variation.
Bubbles Mtl ID - Bubble particles material ID from the NodeWorks multi-material.