Tidal URP

Tidal Body Subsystems

Each TidalBody owns a set of modular subsystems. These systems handle mesh generation, rendering features, and water interaction while remaining loosely coupled.

Lake Mesh Generator

TidalLakeMeshGeneratorSubSystem

Generates a finite, tiled water surface used for lakes, ponds, and other bounded water bodies. Each tile selects an appropriate mesh LOD based on camera distance and stitches seamlessly with neighbors.

Editable Properties

Property Description
Lake Size Total world-space size of the lake surface.
Tiles X Number of mesh tiles along the X axis.
Tiles Y Number of mesh tiles along the Z axis.
Near Distance Distance at which the CLOSE material LOD is used.
Mid Distance Distance at which the MID material LOD is used.

Ocean Mesh Generator

TidalOceanMeshGeneratorSubSystem

Implements an infinite ocean using a clipmap-based mesh layout. Geometry follows the viewer and scales outward through concentric LOD rings, trims, and a skirt.

Editable Properties

Property Description
Skirt Size Extends the outer skirt to hide the ocean edge.

Planar Reflection

TidalPlanarReflectionSubSystem

Provides real-time planar reflections using a mirrored camera. Reflections are rendered selectively and published to the water material for sampling.

Editable Properties

Property Description
Update Hz Maximum refresh rate of the reflection camera.
Reflection Mask Layers rendered into the reflection.
Downscale Resolution reduction factor for reflection rendering.
Clip Plane Offset Bias applied to the reflection clip plane.
Distance Maximum reflection render distance.
Reflect Skybox Includes the skybox in reflections.
Allow Post Process Enables post-processing on the reflection camera.
Render Shadows Allows shadow rendering in reflections.

Underwater

TidalUnderwaterSubSystem

Synchronizes underwater rendering (via the Underwater Render Feature) with the surface water system. This ensures consistent displacement, color, and fog when the camera moves below the surface.

Editable Properties

Property Description
Has Underwater Enables or disables underwater rendering for this body.

Volumes

TidalVolumesSubSystem

Manages signed distance field (SDF) and primitives (Analytic) volumes that interact with the water surface. Volumes can exclude or include water and are uploaded to both CPU and GPU systems.

Editable Properties

Property Description
Update Volumes Enables periodic GPU updates for volumes.
Update Hz Rate at which volume data is uploaded to the GPU.

Zones

TidalZoneSubSystem

Zones apply localized overrides to water behavior using texture maps. They can affect both surface and underwater rendering.

Editable Properties

Property Description
Update Zones Controls whether zones are evaluated and uploaded to shader.