Skip to main content

Oceanology Legacy — Waves

Last updated: 2025-12-08

Prerequisites

  • Unreal Engine 5.6 or newer.
  • Oceanology Legacy installed and configured (see the Setup page).
  • At least one Oceanology Legacy water body placed in your level (infinite ocean or lake).
  • Basic familiarity with Blueprints and material parameters in Unreal Engine.

Notes

  • Oceanology Legacy uses Gerstner Waves to simulate realistic ocean surface displacement. Gerstner waves are a mathematical model that creates the characteristic circular motion of water particles, producing natural-looking wave peaks and troughs.
  • The wave system is divided into two control levels: Global parameters that affect the entire ocean uniformly, and Custom parameters that allow fine-tuning of individual wave layers.
  • Oceanology Legacy supports 4 wave layers (Σ1–Σ4) that combine to create complex, organic wave patterns. Each layer can have different amplitude, speed, wavelength, and direction.
  • Wave parameters directly affect Buoyancy calculations — any changes to wave settings will influence how objects float and respond to the water surface.

Step-by-step

1. Add an Oceanology water body to your level

Open your level and use the Quickly Add to the Project menu (the + button in the toolbar or right-click in the viewport). Type oceanology in the search field to filter the available actors.

You will see several Oceanology actors available:

Core Actors:

  • Oceanology Manager — The central controller for all Oceanology systems. Required for waves and other features to function.
  • Oceanology Water Volume — Defines regions for buoyancy and underwater effects.

Water Bodies:

  • BP_OceanologyInfiniteOcean — An infinite ocean water body with full wave simulation. Use this for open sea environments.
  • BP_OceanologyLake — A bounded lake water body. Lakes can also have wave settings but typically use calmer configurations.
  • Oceanology Infinite Ocean — Alternative infinite ocean actor.
  • Oceanology Lake — Alternative lake actor.

Utility Actors:

  • Oceanology Water Niagara Waves Volume — Enables Niagara-based wave effects in specific regions.
  • Oceanology Material to Struct Converter — Utility for converting material parameters.
  • Oceanology Water Surface Debugger — Visualizes wave calculations for debugging.

For this guide, drag BP_OceanologyInfiniteOcean into your scene along with the Oceanology Manager.

Oceanology actors in Quick Add menu


Configuring Gerstner Waves

The wave system is controlled through the Gerstner Waves category in the water body's Details panel. Parameters are organized into Global settings (affecting all waves uniformly) and Custom settings (per-layer control).

2. Access the Gerstner Waves settings

Select BP_OceanologyInfiniteOcean in the Outliner. In the Details panel, locate the Gerstner Waves category. This section contains all wave-related parameters.

Gerstner Waves (Global) controls the overall wave behavior:

ParameterDefaultDescription
Size (M)8.0The overall scale of the wave mesh in meters. Larger values create broader wave patterns.
Overall Length1.0Multiplier for wave wavelength. Higher values stretch waves horizontally.
Global Amplitude1.0Master multiplier for wave height. Affects all wave layers proportionally.
Global Speed1.0Master multiplier for wave animation speed. Higher values make waves move faster.
Choppiness3.0Controls horizontal displacement of wave peaks. Higher values create sharper, more defined crests.
Global Wave Direction1.0Master direction offset applied to all wave layers.

These global parameters provide quick, high-level control over the ocean's appearance without needing to adjust individual wave layers.

Gerstner Waves Global settings

3. Understand the Custom wave parameters

Below the Global settings, you will find Gerstner Waves (Custom) which provides fine-grained control over wave behavior.

Base Offset parameters define the foundational wave characteristics that individual layers modify:

ParameterDefaultDescription
Amplitude Σ80.0Base amplitude value that wave layers scale from. Higher values increase overall wave height.
Steepness Σ1.0Base steepness factor. Controls how peaked vs. rounded the waves appear.
Speed Σ1500.0Base speed value in units per second. Individual layers modify this value.
WaveLength Σ16384.0Base wavelength in Unreal units. Determines the distance between wave peaks.
Direction Σ0.4Base direction angle. Combined with per-layer offsets to create varied wave directions.
Direction Offset Σ0.5First direction variation offset.
Direction Offset2 Σ0.75Second direction variation offset.

Wave Layers (Σ1–Σ4): The four expandable sections (Σ1, Σ2, Σ3, Σ4) allow individual control of each wave layer. Each layer contributes to the final wave pattern, creating complex interference patterns when combined.

Gerstner Waves Custom settings

4. Preview the default wave configuration

With the default settings, the ocean displays gentle, rolling waves suitable for calm sea conditions. The default configuration prioritizes visual appeal and performance balance.

Default Configuration Summary:

  • Size: 8.0 meters
  • Overall Length: 1.0 (standard wavelength)
  • Global Amplitude: 1.0 (baseline height)
  • Choppiness: 3.0 (moderate peak definition)

This configuration works well for general-purpose ocean scenes, background water, and scenarios where buoyancy interactions should feel stable and predictable.

Default wave appearance


Creating Dramatic Stormy Waves

By adjusting the Global parameters, you can dramatically change the ocean's character from calm to stormy.

5. Configure stormy wave settings

To create more dramatic, stormy waves, modify the Gerstner Waves (Global) parameters:

ParameterDefaultStormyEffect
Size (M)8.06.0Smaller size creates tighter, more frequent wave patterns
Overall Length1.01.5Increased length stretches waves for longer swells
Global Amplitude1.04.04x amplitude creates significantly taller waves
Global Speed1.01.0Speed unchanged (adjust for faster storm dynamics)
Choppiness3.03.0Choppiness unchanged (increase for sharper peaks)

The key changes are:

  1. Reduced Size — Creates more wave frequency across the surface.
  2. Increased Overall Length — Produces longer, more dramatic swells.
  3. Quadrupled Global Amplitude — Dramatically increases wave height for stormy appearance.

These settings produce an aggressive ocean surface with whitecaps and steep wave faces, suitable for storm sequences, dramatic ship battles, or survival scenarios.

Stormy wave configuration

6. Preview the stormy wave result

The modified settings create a visibly more turbulent ocean surface with:

  • Higher wave peaks — More pronounced vertical displacement
  • Deeper troughs — Increased contrast between peaks and valleys
  • More whitecaps — Foam appears on wave crests due to steeper angles
  • Dynamic movement — The surface feels more alive and threatening

Important Considerations:

  • Higher amplitude waves will cause buoyant objects to rock more dramatically.
  • Ships and boats will experience increased pitch and roll motion.
  • Swimming characters may have difficulty maintaining position.
  • Performance impact is minimal since wave calculations are GPU-based.

Stormy wave appearance


Wave Parameter Reference

Global Displacement Parameters

ParameterRangeDescription
Size (M)1.020.0Wave mesh scale. Lower = tighter patterns, Higher = broader patterns
Overall Length0.15.0Wavelength multiplier. Higher values create longer swells
Global Amplitude0.010.0Master height multiplier. 0 = flat, 10 = extreme waves
Global Speed0.05.0Animation speed. 0 = frozen, 5 = very fast
Choppiness0.010.0Horizontal displacement. Higher = sharper peaks
Global Wave Direction0.01.0Direction offset for all layers

Base Offset Parameters

ParameterRangeDescription
Amplitude Σ0.0500.0Base amplitude for layer calculations
Steepness Σ0.02.0Wave steepness factor
Speed Σ0.05000.0Base animation speed
WaveLength Σ1000.050000.0Base distance between peaks
Direction Σ0.01.0Primary wave direction
Direction Offset Σ0.01.0Secondary direction variation
Direction Offset2 Σ0.01.0Tertiary direction variation

Preset Configurations

The following presets demonstrate common wave scenarios:

ScenarioSizeLengthAmplitudeSpeedChoppiness
Calm Lake10.00.50.30.51.0
Default Ocean8.01.01.01.03.0
Choppy Seas6.01.22.01.25.0
Stormy Ocean6.01.54.01.03.0
Hurricane4.02.08.01.57.0
Gentle Swells12.02.01.50.72.0

Usage Tips:

  1. Start with a preset close to your desired effect, then fine-tune individual parameters.
  2. Test wave settings with buoyant objects to ensure gameplay feels correct.
  3. Consider performance on target hardware when using extreme settings.
  4. Use the Water Surface Debugger actor to visualize wave calculations during development.

Interaction with Other Systems

Wave settings affect multiple Oceanology systems:

SystemInteraction
BuoyancyPontoons sample wave height for floating calculations. Higher waves = more dramatic rocking.
SwimmingWave motion affects swimming character stability and movement.
UnderwaterWave surface determines the underwater/above-water boundary.
Niagara EffectsFoam, spray, and particle effects respond to wave steepness and motion.
AudioOcean audio can be linked to wave parameters for dynamic soundscapes.

Synchronization Note: The wave system uses deterministic Gerstner calculations, ensuring that visual waves and buoyancy sampling remain perfectly synchronized. Objects float on the exact wave surface you see rendered.


Troubleshooting Common Issues

ProblemLikely CauseSolution
Ocean appears completely flatGlobal Amplitude set to 0Increase Global Amplitude to 1.0 or higher
Waves look stretched or distortedExtreme Size or Length valuesReset to defaults (Size: 8.0, Length: 1.0)
Buoyant objects clip through waterWave height exceeds pontoon samplingIncrease pontoon sampling frequency or reduce amplitude
Waves animate too fast/slowGlobal Speed misconfiguredAdjust Global Speed (1.0 = normal)
Waves all move same directionDirection parameters not variedAdjust Direction Σ and Offset values for variety
Performance issuesVery high Choppiness with complex scenesReduce Choppiness or simplify scene geometry
Waves don't match in multiplayerNon-deterministic settingsEnsure all clients use identical wave parameters

Summary

In this guide, you learned how to:

  1. Add Oceanology water bodies — Place the Infinite Ocean and Manager actors in your level.
  2. Access wave settings — Find the Gerstner Waves category in the water body's Details panel.
  3. Understand Global parameters — Control overall wave scale, amplitude, speed, and choppiness.
  4. Understand Custom parameters — Fine-tune base offsets and individual wave layers (Σ1–Σ4).
  5. Create calm vs. stormy seas — Adjust parameters to achieve different ocean moods.
  6. Use preset configurations — Apply common wave scenarios as starting points.
  7. Understand system interactions — Recognize how waves affect buoyancy, swimming, and other features.

With this knowledge, you can create any ocean condition from tranquil lakes to hurricane-force storms, all while maintaining realistic buoyancy behavior for your vessels and characters.