{ "introduction": """Welcome to the Water System Samples. The WaterSystem allows you to add water to your scenes. Multiple surface types are available, this scene showcases the Ocean preset. To make sure the project is set up properly, use the HDRP Asset Settings Helper buttons at the top of this component, otherwise some features might not be visible.

General

• A Water Mask texture is used on the Water Surface to reduce the water agitation closer to the island. • A Current Map Texture is set on the Water Surface to slightly change the direction of the current around the island. The Wrap Mode of the texture is set to Clamp to prevent the texture from repeating.

Exclusion

• A Water Excluder with a specifically authored mesh is set on the boat to exclude water from rendering inside it.

Shores Waves

• There are 3 different Shore Wave Water Deformers. Each Water Deformer has a child gameobject. It’s used to trigger a Decal Projector when submerged underwater. To prevent unwanted effects, the trigger script ignores the general water agitation and only calculates if the dummy gets submerged due to a wave deformation. • The Decal Projector has a component 'FoamShore' controling the scale, opacity and position, effectively describing how far can the wave decals be seen after reaching the shore. • In addition, the Decal Projector Material is animated using a flipbook texture. • Moreover, each Decal has a child Deformer with the same animated texture for the foam to have "volume". This deformer is triggered at the same time and uses one shared material with a Material Property Block for all Water Deformers, eliminating the need for a Custom Render Texture. • Finally, a very large Decal Projector retrieves the foam texture of the Shore Wave Deformers using the GetFoamBuffer() function to further blend the foam on the shore.

Third Person Sailor

• The Sailor works only in Play Mode. • Use the direction arrows of your keyboard to move the sailor. • The gameObject Deformer Pool holds a list of deformers to use as children for deformations. • When the controller is moving, the component CharacterControllerSpawnDeformation enables Water Deformers continuously in the Deformer Pool child list just ahead of the character. These deformers are then animated and faded, making ripples. • The foam generator is also scaled by its parent transform based on the controller velocity to generate foam trail that disappears over time. This foam can also be visible on the sand since there's a decal reprojecting it on the shore. """, "samples": [] }