Latest news
Tips & GuidesBlender

Ocean and Wave Simulation in Blender: Foam, Quality, and Baking Guide

Blender’s Ocean and Wave modifiers let you add an ocean surface or localized wave motion to a scene. This guide explains resolution, foam, animation, and the baking workflow, based on the official manual.

Waves with foam lines in front of a coastal pavilionAI image
Representative image, generated with AI.Image: 3dsınıfı / FCA AI

In brief

  1. The Ocean modifier is designed to generate deep-water waves and foam data.
  2. Increasing the resolution adds simulation detail but also increases computation time.
  3. Baking can save simulation data as OpenEXR sequences for displacement, normals, and optional foam.
  4. The Wave modifier creates circular or linear wave motion on objects independently of ocean simulation.

Blender’s official manual describes the Ocean modifier as a way to create a deforming ocean surface and a related foam texture for scenes. The Wave modifier, meanwhile, produces wave-like motion on an object. The workflow below is based on the manual’s descriptions of Ocean, Wave, and the Attribute node. Since the source text does not specify a particular Blender version for these pages, this guide is not tied to a specific version number.

1. Decide how to generate the surface

The Ocean modifier’s Generate and Displace options serve different starting points. Generate creates a tiling mesh grid that matches the simulation resolution. With this option, the existing mesh is replaced entirely; existing geometry is not preserved, including data generated by earlier operations in the modifier stack. The manual notes that a UV channel covering the simulation grid is added to this geometry.

Displace uses existing geometry and moves its vertices along the object’s local Z axis. So, if you have already prepared a surface mesh for the scene, consider this option; if you want the simulation to create its own grid, choose Generate. When using Generate, the resolution also determines the detail of the generated mesh.

Repeat X, Y controls how many times the grid is tiled along the X and Y axes. UVs for areas tiled more than once may extend beyond the 0.0–1.0 range, so account for this behavior when planning exports or material mapping.

2. Set resolution and physical scale for your scene

Viewport and render resolution define the main trade-off between simulation quality and speed. According to the manual, higher values produce more detail but slow down computation. The internal simulation grid is calculated as the resolution value squared: for example, at a resolution of 16, the simulation data is 256×256.

Spatial Size sets the width of the simulated ocean area in meters; it also determines the size of the mesh generated by Generate or the area affected by Displace. Size is a simple scale multiplier that does not change wave height or simulation behavior. The manual notes that you can also scale the object in Object Mode to adjust its visible size in the scene. Keeping these controls distinct helps you change how much of the frame the surface occupies without changing wave height.

SettingSuggested valueEffect
Resolution16 → 256×256 simulation dataHigher resolution adds detail but slows down computation.
DepthShallow-water example: less than about 10 metersLower depth produces smaller waves and higher-frequency detail.
Foam CoverageTypical range in the manual: -1.0 to 1.0Negative values reduce foam; positive values increase it.
Wave NarrownessExample: Narrowness 2 when Width is 1Helps determine the width of the wave impulses.

This table is not a ready-made render recipe; the values come from examples and descriptions in the manual. Test the results against your scene’s scale, framing, and target look.

3. Adjust wave character and foam data

Scale changes the overall wave amplitude; it is not the same as simply scaling the object along Z. According to the manual, this setting also affects displacement along X and Y, as well as foam and normal data. Smallest Wave limits the smallest waves generated and acts much like a filter for higher-frequency detail. As Choppiness increases, wave crests move not only up and down but also along X and Y, giving them a sharper shape.

For wind and directionality, use Wind Velocity, Alignment, Direction, and Damping. Lower wind velocity is associated with smaller surface waves. At zero Alignment, waves spread in different directions; increasing the value aligns them more strongly in one direction. Direction sets the angle of that alignment. Adjust these controls together to shape the waves and their direction of motion for your scene.

To use foam data, enable Foam in the modifier and enter a name in the Data Layer field. The manual says this data is stored as a Color Attribute, and a named data layer is required to access it for rendering. In the Shader Editor, set the Attribute node’s type to Geometry and use the same name; the Ocean Foam output provides a scalar value indicating where foam may appear. The node’s name must match the modifier’s data layer.

4. Bake the motion or create localized waves

Use the baking workflow to save simulation data to files instead of using a live simulation. According to the Ocean manual, the simulation is written to the specified folder as OpenEXR image sequences: displacement and normal maps, plus a foam map if foam generation is enabled. File names include the frame number. The start and end frames define the bake range; when frames outside that range are accessed, the sequence’s start and end frames are repeated.

Reusing baked data is faster than recalculating the simulation. It also allows the data to be used in other rendering applications and makes more advanced foam maps possible. Since read frames are cached in memory, subsequent access to the same frame does not require another disk read. Foam Fade, which allows foam from previous frames to accumulate, can also be used with baking. It is intended to approximate foam lingering on a wave crest for a while.

If you need controlled ripples rather than an ocean, the Wave modifier is a more direct option. It can be used on meshes, lattices, curves, surfaces, and text. With both axes enabled, it creates circular wave fronts; with only one axis enabled, it creates linear wave fronts. Cyclic repeats the motion instead of producing a single impulse. On meshes, Along Normals applies the deformation along the surface normals rather than the object’s Z axis. You can set the wave origin with a reference object or local X/Y coordinates.

Remember that Wave settings are in the object’s local space: the object’s scale must also be taken into account when evaluating real-world dimensions. The manual recommends setting the distance between successive waves equal to the wave width for an effect close to a sine wave; its example uses Narrowness 2 when Width is 1.

Common mistakes

  • Overlooking that Generate can replace existing geometry and data from previous modifiers.

  • Increasing resolution without accounting for the longer computation time.

  • Generating foam data but failing to match the Data Layer name with the name in the Attribute node.

  • Treating Wave modifier values as if they directly correspond to scene units; the values are in local space, and object scale affects real dimensions.

  • Not setting the bake range to cover all the frames required in the scene.

Sources

3 sources
D(
docs.blender.org (CC BY-SA 4.0)docs.blender.org/manual/en/latest/modeling/modifiers/physics/ocean.html
Summary
D(
docs.blender.org (CC BY-SA 4.0)docs.blender.org/manual/en/latest/render/shader_nodes/input/attribute.html
Summary
D(
docs.blender.org (CC BY-SA 4.0)docs.blender.org/manual/en/latest/modeling/modifiers/deform/wave.html
Summary

Source texts are not republished; short quotes are marked, everything else is our own summary and commentary.

3dsınıfı’s take
3dEditor’s assessment

For architecture and interior design offices, the Ocean modifier offers a way to control surface motion and foam data in a single scene for visualizations of coastal structures, pools, and waterside settings. Since resolution directly affects computation time, it is more efficient to establish the framing and surface scale first rather than run every test at the highest setting.

Baking can reduce repeated calculations and lets you take OpenEXR data into other rendering applications; however, you need to manage the file sequences and required frame range. Check in particular that Generate will replace existing geometry and that foam requires a named data layer before production. Since the official manual does not specify a Blender version for these pages, verify the interface and compatibility in your installation as well.

Frequently asked questions

What does Blender’s Ocean modifier resolution change?

Resolution determines the detail of the simulation grid and, when using Generate, the generated mesh. Higher values add detail but slow down computation.

How do you use foam with Blender’s Ocean modifier?

After enabling foam data, enter a name in the Data Layer field. You can read the Ocean Foam data in the shader by using an Attribute node set to Geometry with the same name.

Can an Ocean modifier simulation be used in other rendering applications?

Baked data is saved as OpenEXR image sequences. According to the manual, these files can also be opened in other applications or rendering systems that support OpenEXR.

Comments and the forum are in Turkish.Join the discussion
+

Related news