Optionalamplitude?: numberWave height multiplier on top of the spectrum's physical Hs.
OptionalbedGeometry?: BufferGeometryOptional sea-bed geometry, e.g. createOceanBox(...).bed. When provided,
it is rendered as a separate sun-shaded mesh below the surface.
OptionalbedVisible?: booleanToggles visibility of the sea-bed mesh. Only has an effect when
bedGeometry is provided. Default true.
OptionalbodyFogDensity?: numberPer-meter tint build-up of the water body. Only used when bodyGeometry
is provided.
OptionalbodyGeometry?: BufferGeometryOptional water-body (side walls) geometry, e.g.
createOceanBox(...).body. When provided, it is rendered as a separate,
double-sided, transparent-blue volume mesh so the water reads as a body.
OptionalbodyMaxOpacity?: numberDensest water-body tint reached far through the water (0..1).
OptionalbodyShimmer?: numberAnimated shimmer amount of the water body, 0 = off.
OptionalbodyVisible?: booleanToggles visibility of the water-body (side walls) mesh. Only has an effect
when bodyGeometry is provided. Default true.
Optionalchildren?: ReactNodeChildren rendered inside the ocean's group, in its local frame. They
receive an OceanSampler via context (see useOceanSampler /
useBuoyancy) so floating objects (e.g. a vessel) can follow the waves.
OptionaldeepColor?: stringDeep water colour (seen looking straight down).
OptionaldetailOctaves?: numberNumber of FBM micro-ripple octaves (compile-time).
OptionaldetailScale?: numberMicro-ripple frequency (waves per world unit) for close-up detail.
OptionaldetailStrength?: numberMicro-ripple normal strength.
OptionaldirectionalSpread?: numberAngular spread (radians) of the wave directions around the wind.
Optionaldisplacement?: booleanEnables vertex displacement (false = off / flat, per-pixel normals
only). Off by default; at oilfield scale real displacement is
imperceptible except very close to the surface, where only the longest
swells displace. Mainly useful to let floating objects follow the surface
height.
OptionalfoamAmount?: numberFoam amount, 0 = none.
OptionalfoamColor?: stringFoam colour.
OptionalfresnelPower?: numberFresnel exponent (higher = reflections concentrated near the horizon).
Geometry to render as the ocean surface. Typically a large plane lying in
the world X/Z plane at sea level (e.g. createOceanBox(...).surface). All
wave/foam animation is evaluated in world coordinates, so tiled/patched
geometry aligns seamlessly.
OptionalhorizonColor?: stringHorizon sky colour used for the procedural reflection.
Optionalopacity?: numberMaster opacity multiplier (also drives OIT routing).
OptionalreflectionIntensity?: numberReflection intensity multiplier.
OptionalseaBedColor?: stringSea-bed base (sandy/yellowish) colour. Only used when bedGeometry is
provided. Default #b8a06a.
OptionalseaBedDuneDirection?: Vec2Sand-dune ridge direction in world X/Z. Only used when bedGeometry is
provided. Default [1, 0.6].
OptionalseaBedDuneSharpness?: numberExtra sand-dune crest/trough albedo banding (0 = off). Only used when
bedGeometry is provided. Lightens the dune crests and darkens the
troughs on top of the relief shading for a stronger depth cue; fades out
far away like the rest of the dune detail. Default 0.
OptionalseaBedDuneStrength?: numberSea-bed sand-dune relief strength (0 = off). Only used when bedGeometry
is provided. Perturbs the bed's shading normal by a procedural,
footprint-anti-aliased dune height field, adding a subtle sense of depth
and scale that resolves up close and fades to flat far out. Default 0.15.
OptionalseaBedDuneWavelength?: numberBase sand-dune crest spacing in meters. Only used when bedGeometry is
provided. Default 180.
OptionalseaBedOpacity?: numberSea-bed opacity (0..1). Only used when bedGeometry is provided. The sea
bed is OIT-routed, so values below 1 let the subsurface geometry below it
show through; 1 (default) makes it a solid occluder.
OptionalseaBedWaterTint?: numberStrength of the water-colour tint applied to the water-facing (top) side
of the sea bed (0..1). Only used when bedGeometry is provided.
OptionalshallowColor?: stringShallow/scatter water colour (seen at grazing angles).
OptionalskyColor?: stringZenith sky colour used for the procedural reflection.
Optionalsteepness?: numberApparent surface choppiness (normal exaggeration / Gerstner sharpness).
OptionalsunColor?: stringSun colour.
OptionalsunDirection?: Vec3Sun direction in world space (specular highlight + reflected glow).
OptionalsunShininess?: numberSun specular shininess exponent.
OptionalsurfaceVisible?: booleanToggles visibility of the water-surface mesh. Default true.
OptionaltonalColor?: stringColour the water drifts toward in the tonal variation (current / algae / pollution tint).
OptionaltonalScale?: numberApproximate size of the tonal variation patches, in kilometers.
OptionaltonalSharpness?: numberCrispness of the tonal variation patch edges (0 = soft, 1 = hard).
OptionaltonalVariation?: numberStrength of the large-scale tonal variation (currents / slicks), 0 = off.
OptionalwaterOpacity?: numberBase body opacity looking straight down (0 = clear, 1 = opaque).
OptionalwaveCount?: numberNumber of summed spectral wave components (compile-time).
OptionalwindDirection?: Vec2Wind direction in world X/Z (drives wave + foam direction).
OptionalwindSpeed?: numberWind speed in m/s (U10). Primary driver of the sea state: wave height, wavelength and foam all follow North-Sea JONSWAP/Pierson-Moskowitz relations (e.g. ~10 m/s ⇒ Hs ~ 2.1 m, peak wavelength ~ 88 m).
Optionalwireframe?: booleanDebug: render all ocean materials (surface, body, sea bed) as wireframe.
Ocean props