ocean sim
The Ocean Sim node is the primary component for simulating realistic ocean surfaces in FumeFX for 3ds Max. It generates ocean geometry and drives foam, bubble, and spray simulations with high performance and artistic control. Designed for integration into complex visual effects pipelines, it supports adaptive meshing, particle-based foam, bubble and spray, and efficient viewport preview. Ideal for large-scale water simulations, dynamic ocean surfaces, and cinematic effects.
[Inputs]
#Ocean TM - Transformation matrix used to position the ocean geometry within the scene.
Use GPU - Enable this option to allow nVidia CUDA simulation acceleration.
Single Frame - When enabled, geometry is generated only for the current frame shown in the 3ds Max time slider; all other frames are skipped. This is useful for navigating complex adaptive meshes when jumping between frames, as it improves responsiveness. However, since wave data won`t persist across the full timeline, this option should be disabled when running Ocean Dynamics simulations - otherwise, wave influence on dynamics will be incomplete or incorrect.
Ocean Particle Group - Particle group assigned to the ocean geometry. When the ocean is created, a particle is automatically generated and the mesh is assigned as its shape.
Foam Particle Group - Foam particles generated by Ocean Foam & Spray nodes will be assigned to this group..
Bubble Particle Group - Bubble particles generated by Ocean Foam & Spray nodes will use this group.
Spray Particle Group - Spray particles generated by Ocean Foam & Spray nodes will use this group.
Note: Foam, Bubble, and Spray particle groups are rendered as Arnold points by default. This allows efficient rendering of millions of particles with minimal performance overhead, while also enabling the export of particle attributes as Arnold User Data. For example, by exporting a normalized particle age, users can use a Float Ramp shader to gradually increase foam transparency as particles approach the end of their lifespan-resulting in more realistic and visually dynamic foam effects. Additionally, Arnold supports rendering particles as volumes, allowing for softer results compared to rendering them as hard-surfaced points.
Camera - Used for adaptive grid generation and to cull foam and bubble particles that fall outside the camera`s field of view.
Create Position Helper - By default, the ocean geometry is created at the origin. Click this button to create a Point Helper object that lets you reposition the geometry manually.
Geometry
Meshing Mode - Select how the ocean surface geometry is generated:
- Uniform - Generates a full rectangular mesh with evenly distributed segments across the entire surface. This mode is ideal for static views or full-scene coverage. It can also be used to set up dynamics and foam effects before switching to Adaptive mode, which is more geometry-intensive and may result in slower computation times.
- Adaptive - Dynamically generates geometry only within the camera`s field of view. This significantly reduces the number of polygons and maximizes detail where it matters most-near the camera.
Height Scale - Ocean surface height multiplier.
Width Uniform - Width of the uniform ocean surface.
Length Uniform - Width of the uniform ocean surface.
Width Segs - Specifies the number of segments along the horizontal (X). More segments result in a higher resolution mesh but can increase memory and processing load.
Length Segs - Specifies the number of segments along the depth (Y).
Width Adaptive - Width of the adaptive ocean surface.
Length Adaptive - Width of the adaptive ocean surface.
Width Spacing - Defines the horizontal spacing between subdivisions in Adaptive mode. Smaller values produce finer horizontal detail near the camera.
Length Spacing - Sets the minimum subdivision size along the depth in Adaptive mode. This controls the detail closest to the camera.
Max Length Spacing - Defines the maximum subdivision size in Adaptive mode. This prevents segments from growing too large at far distances-especially when using high Degradation values. It ensures distant geometry doesn`t become overly coarse.
Degradation Start - Sets the distance after which ocean mesh degradation will be applied.
Degradation Rate - Controls how rapidly the segment size increases as distance from the camera grows in Adaptive mode. A higher value reduces geometry density in the far field, improving performance while maintaining detail near the viewer.
FOV Expand - Adds extra margin around the camera`s field of view for mesh generation. This helps avoid popping or visible edges at the boundaries of the view, especially during camera motion or ocean surfaces with high choppiness.
Mesh Offset - Mesh offset along the camera local Z axis.
Generate UV Coordinates - Enable this option to generate UV coordinates for the Ocean mesh. When UVs are not required , leave it disabled to reduce RAM usage for memory caching.
Ocean MtlID - Material ID for the ocean geometry.
Foam Sim
Delete Outside FOV - Automatically removes foam and bubble particles that are outside the camera`s field of view. This improves simulation and rendering performance by discarding particles that are not visible in the final frame.
FOV Expand - Expands the effective camera field of view used for particle generation. This is especially useful during camera panning, as it ensures particles are pre-generated in adjacent areas-preventing visible popping when the camera moves into regions that would otherwise lack foam or bubbles.
Life Reduce - Enables reduction of foam particle lifespan based on the number of neighboring particles. This helps eliminate isolated or sparse foam, creating more natural dissipation behavior.
Foam Min - If a particle has fewer neighbors than this value, its lifespan will be shortened.
Reduce Amount - Controls how much the lifespan is reduced. Particles with fewer neighbors will have their life reduced proportionally, with the most isolated particles fading out the fastest.
Life Boost - Extends foam particle lifespan based on local particle density. This allows dense foam patches to persist longer and better simulate cohesive foam regions.
Foam Max - If a particle has a number of neighbors between Foam Min and this threshold, its lifespan will be increased.
Boost Amount - If a particle has a number of neighbors between Foam Min and this threshold, its lifespan will be increased.
Red colored dost represent foam with reduced particle age while green dots represent foam with increased particle age.
Foam Repulse - Enables repulsion of foam particles from a secondary particle group, allowing the creation of characteristic cellular foam patterns often seen in real ocean surfaces.
To use this feature:
- Create a new particle group (typically via a Gen Surface node) and distribute particles on a 3ds max Plane object with spacing that reflects the desired pattern.
- By adjusting repulsion particle scale and scale variation, you can control the structure and randomness of the resulting pattern.
Foam Repulse Disabled vs Enabled
Repulse Group - The particle group used to push foam particles away.
Repulse Radius Scale - Multiplies the repulsion radius of particles in the assigned Repulse Particle Group. This defines the area around each repulse particle that influences foam repulsion. Larger scale values result in broader, more pronounced patterns and create stronger, more dynamic motion across the foam surface. Use this parameter to fine-tune the visual size and intensity of the cellular foam patterns.
Foam Repulse Radius Scale
Repulse Strength - Determines how strongly foam particles are pushed away, helping define the sharpness and spread of the cellular pattern.
Foam Stretch - Adds extra motion-based stretching to foam particles, helping convey directional wave motion.
Bubble Rising Speed /s - Controls the speed at which bubble particles ascend toward the ocean surface. A higher value produces faster rising bubbles.
Bubble To Foam - When enabled, converts bubbles into foam particles upon reaching the ocean surface, helping maintain surface coverage and visual continuity.
Bubble Foam Scale - Since bubble particles are generally larger than foam particles, use this setting to scale down the resulting foam size accordingly.
Display
Particle Color From - This setting provides a visual aid for inspecting foam particle properties. To see the particle color in the viewport, make sure the Color option is enabled in the NodeWorks particle display settings.
You can choose from the following visualization modes:
- Foam Age - Colors particles based on their age. This helps identify young, mid-life, and dying foam particles at a glance.
- Foam Reduce/Boost - Visualizes the effects of lifespan modification:
Reduce influence is shown using a red gradient while boost influence is shown using a green gradient. A mix of red and green particles indicates a balanced interaction between reduction and boosting forces. This visualization can be useful for fine-tuning Life Reduce and Life Boost settings by helping you understand how foam behavior is distributed across the foam simulation area.

