Tidal URP

Tidal Profile

A Tidal Profile defines the physical wave simulation used by Tidal’s FFT system. Profiles control how wave energy is distributed across frequencies, how wind and swell interact, and how stable or aggressive the resulting surface becomes.

What a Tidal Profile Controls
  • Wave height and energy distribution
  • Local wind waves vs distant swell
  • Directional wave travel and spread
  • Small-scale ripple suppression
  • Overall simulation stability and realism

Creating a Profile

Tidal Profiles are ScriptableObject assets and can be created directly from the Project window:

Create → Tidal → Water Profile

Assign the profile to TidalCompute. If a profile is missing, TidalCompute will display an error with a Create & Assign fix button.

Tip: Multiple TidalBody instances can safely share the same TidalCompute (and its attached profile). This is recommended when using multiple water bodies for best performance.

Live FFT Preview

When editing a Tidal Profile, the Inspector displays a live 2D FFT spectrum preview. This visualization shows how wave energy is distributed across frequencies and directions and updates in real time as parameters change.

Wave inversion artifact
FFT Preview on TidalProfile
What the FFT Preview Is Useful For
  • Understanding relative wave energy
  • Comparing Local vs Swell behavior
  • Tuning wind speed, fetch, and directional spread
Important Limitations
  • The preview does not currently account for Lambda (horizontal displacement).
  • Wave inversion artifacts cannot be seen in the preview.
  • The preview is an approximation of the final surface, not an exact match.
Performance Warning: The live FFT preview runs the full simulation compute. Leaving it enabled while the game is running can noticeably impact performance and is not recommended during Play Mode.

Simulation Parameters

Property Description
Gravity Controls wave dispersion speed. Defaults to Earth gravity (9.81). Lower values slow wave propagation; higher values increase energy.
Depth Approximate water depth in meters. Influences dispersion behavior. Large values behave like deep ocean water.
Lambda Horizontal wave displacement (0–1). Higher values increase realism but can introduce wave inversion artifacts.

Wave Spectrums (Local & Swell)

Each Tidal Profile contains two independent wave spectrums that are combined during simulation:

Local Spectrum
Represents wind-driven waves. Typically choppier, faster-moving, and more responsive to wind speed and direction.
Swell Spectrum
Represents distant ocean energy. Produces longer, smoother waves that feel slower and more powerful.

Shared Spectrum Parameters

Property Description
Amplitude Overall contribution to wave height.
Wind Speed Drives JONSWAP energy and wave intensity.
Fetch Distance wind travels over water before forming waves.
Directional Spread Controls how tightly waves align to the main direction.
Direction Primary wave travel direction (0–360°).
Swell Blends between local wind waves and distant swell behavior.
Peak Sharpness (γ) Strength of the dominant frequency peak.
Short Waves Fade Suppresses small-scale ripples for smoother surfaces.

Common Issue: Wave Inversion

In some conditions, waves may appear to fold over themselves or produce sharp creasing artifacts at the crest. This phenomenon is known as wave inversion.

Why Inversion Happens
  • Very high wind speed
  • High peak sharpness (γ)
  • High Lambda (horizontal displacement)
Tuning Tip: Reduce Lambda to limit horizontal displacement. Start with small reductions until artifacts disappear.

Setting Lambda too low can make waves appear stiff or overly vertical. The correct balance depends on your wind speed, peak sharpness, and artistic goals.

Wave inversion artifact
Example of wave inversion caused by excessive horizontal displacement
Future: Dynamic horizontal displacement is planned for a future update, reducing the need for manual inversion tuning.