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. |