Programming
Fundamentals
Setting Up Development Environment
UnigineScript
High-Level Systems
C++
C#
UUSL (Unified UNIGINE Shader Language)
File Formats
Rebuilding the Engine and Tools
GUI
Double Precision Coordinates
API
Containers
Common Functionality
Controls-Related Classes
Engine-Related Classes
Filesystem Functionality
GUI-Related Classes
Math Functionality
Node-Related Classes
Networking Functionality
Pathfinding-Related Classes
Physics-Related Classes
Plugins-Related Classes
Rendering-Related Classes

water_global_base

A water_base material simulates water and other liquids.

The water_global_base material performs quad tessellation of the water surface. But you should take into account that not the whole water surface is tessellated. In fact, we have two part of the water: inner that is tessellated (always under the camera) and outer that is not. Different parameters allows you to specify the distance of tessellated grid under the camera and the rate of decrementing the tessellation factor.

States

In the States tab you can set rendering passes and available options. Enabling some of the states activates additional textures and parameters in the Textures and Parameters tabs respectively.

Material window, States tab.

FieldSpacer Interaction

FieldSpacer interaction state enables the influence of FieldSpacer object on water object.

Notice
You can use up to 32 FieldSpacer objects interacting with water simultaneously in viewing frustum.

Choppy Waves

Choppy waves state provides more realistic wave with sharp crests.

Choppy waves state disabled.
Choppy waves state enabled.

Underwater DOF

Underwater DOf adds an additional blur effect for underwater and overwater splice to make the waterline looks more plausible.

High quality waterline state disabled.
High quality waterline state enabled.

Planar Reflection

Planar Reflection allows you to use planar reflections on the water surface instead of SSR. It is better to use it on undisturbed water (0-2 Beaufort).

Notice
Enabling the option activates Planar Map Size and Planar Refleciton parameters.

Map Size

Map Size Map size parameter specifies the size of the planar reflection map: the higher the value, the better the quality is.

Available sizes of the map are:

  • 128 — creates a reflection image with 128x128 resolution.
  • 256 — creates a reflection image with 256x256 resolution.
  • 512 — creates a reflection image with 512x512 resolution.
  • 1024 — creates a reflection image with 1024x1024 resolution.
  • 2048 — creates a reflection image with 2048x2048 resolution.
  • 4096 — creates a reflection image with 4096x4096 resolution.
  • Quart height — creates a reflection image with the resolution height/4xheight/4, where height is an application window height.
  • Half height — creates a reflection image with the resolution height/2xheight/2, where height is an application window height.
  • Height — creates a reflection image with the resolution heightxheight, where height is an application window height.

Textures

Material window, Textures tab.

Foam

Foam texture specifies the foam on the water. It will be written into the diffuse buffer.

The engine twice samples the foam texture to create plausibility of the real world foam behavior.

The texture is 1-channeled.

Normal Detail

Normal Detail map stores normal information required to achieve an additional (detail) effect of Normal Mapping. Normal map helps to create ripples (cats-paw effect) on the water surface.

With absolutely white normal map
With ripple-simulated normal map

The texture is 2-channeled:

  1. RG values store two components of a surface normal.
  2. B value is calculated based on the R and G values in run-time.

Depth LUT

Depth LUT is a LUT texture, which shows the color of the bottom. Depending on the depth, the engine chooses the color of the water and multiply it to water generated LUT texture. This generated LUT shows how deep the photon goes through the water to till complete scattering.

The texture is 4-channeled:

  1. RGB values store color.
  2. A value is used for creating "transparent" water near the shore. In other words, it defines the fog density.

Height

Height texture is used to create a height displacement for waves. By using height texture, the engine creates waves on the water surface. The engine performs triple access to the texture.

The texture is 1-channeled:

  1. R value defines the height of the wave.

Parameters

Geometry Parameters

Max Tessellation Factor

Tessellation factors determine how much to subdivide each patch.

Tessellation factor is set to 1
Tessellation factor is set to 16

Tessellation Exponent

Tessellation Exponent parameter is in charge of rate of tessellation factor changing. It specifies how fast the tessellation will fades from the center point of inner water to outer.

Tessellation Distance

The engine doesn't performs the tessellation of whole water surface because it would significantly affect performance. In fact, we have two parts of the water: inner (always under the camera) and outer. This parameter specifies the size of the inner water grid - the part of the water that will be tessellated.

Procedural Normal Blur

Procedural Normal Blur parameter specifies the ratio of the procedurally generated normals' blurring. The lower the value, the more blurred (hence, more flatten) the water surface will be.

Procedural Normal Weakening

Procedural Normal Weakening parameter specifies the ratio of procedurally generated normal weakening.

Choppiness Force

Choppiness Force parameter specifies the sharpness of the wave crests. If the Choppy Waves is enabled, the engine takes the vertices near the wave crest and move them closer to the crest and recalculate their normals to make them look more plausible. This parameter specifies the force of that contraction.

Choppiness Normal Blur

Choppiness Normal Blur parameter specifies how moved vertices' normals will be blurred.

Choppiness Normal Weakening

Choppiness Normal Weakening parameter sets the weakening of the normals for choppiness.

Waves Animation Parameters

Waves for water_mesh material are created by using the height map. The engine performs sampling from this height map and creates the waves by using simple formula:

Formula
A*H1 + B*H2 + C*H3

In the formula given above, H1, H2, H3 are samplings from height map, A, B, C are Height Scale parameters.

Additional ripples (cats-paw effect) are created by using normal detail map.

Wave 0 UV Transform

This parameter specifies the transformation of the first height map sampling.

First two parameters mean the scale texture coordinates, along the X and Y axes. Third and forth specify the wind direction.

Wave 0 Height Scale

This parameters sets the height scale of the first height map sampling.

Wave 1 UV Transform

This parameter specifies the transformation of the second height map sampling.

First two parameters mean the scale texture coordinates, along the X and Y axes. Third and forth specify the wind direction.

Wave 1 Height Scale

This parameters sets the height scale of the second height map sampling.

Wave 2 UV Transform

This parameter specifies the transformation of the third height map sampling.

First two parameters mean the scale texture coordinates, along the X and Y axes. Third and forth specify the wind direction.

Wave 2 Height Scale

This parameters sets the height scale of the third height map sampling.

Detail 0 UV Transform

This parameter specifies the transformation of the first detail map sampling.

First two numbers mean the, third and forth specify the wind direction.

Detail 0 Intensity

This parameters sets the intensity of the first detail normal map sampling.

Detail 1 UV Transform

This parameter specifies the transformation of the first detail map sampling.

First two numbers mean the, third and forth specify the wind direction.

Detail 1 Intensity

This parameters sets the intensity of the second detail normal map sampling.

Foam Parameters

Patch 0 UV Size

As the engine samples the foam texture twice, this parameter specifies the size of the first foam texture patch.

Patch 0 UV Speed

This parameter sets the speed of the first foam patch.

Patch 1 UV Size

This parameter specifies the size of the second foam texture patch.

Patch 1 UV Speed

This parameter sets the speed of the second foam texture patch.

Wave Contrast

Wave Contrast parameter sets the contrast of foam mask,

Wave Intensity

Wave Intensity parameter specifies the foam intensity on the wave crests.

Shoreline Intensity

Wave Intensity parameter specifies the foam intensity near shores or different objects in water.

Subsurface Scattering Parameters

Color

This parameter specifies the Subsurface Scattering (SSS) color.

Ambient Intensity

Ambient Intensity parameter sets the intensity of the light ray for whole water. It used to simulate SSS for whole water. The lower the value, the faster the ray will dissipate in water.

Intensity Through Waves

Intensity Through Waves parameter sets the intensity of the light ray that goes through the waves. The lower the value, the faster the ray will dissipate in water.

Intensity Around Foam

Intensity Around Foam parameter sets the intensity of the SSS near the foam.

Exponent Around Foam

Exponent Around Foam parameter specifies the rate of intensity around foam parameter changing.

Underwater Parameters

Underwater parameters specifies the underwater part of the water_global_base material.

The final color of the underwater is calculated by this formula:

Final Color Formula
FinalColor = FogColor * SunLighting^(1/FogSunLighting) + FogColor * EnvLighting^(1/FogEnvLighting)

FogColor, FogSunLighting, FogEnvLighting are parameters that you can specify in the material. Other parameters (Sun and Environment lighting) are calculated according to the sun lighting and environment lighting of the scene. In fact, this formula define how sun lighting and environment lighting affect the final underwater color.

Fog Transparency

Fog Transparency parameter specifies the transparency of the underwater fog. The higher the value, the more transparent the underwater fog will be.

Fog Color

Fog Color parameter defines the fog color. Sun and Environment lightings will affect this parameters to create the final underwater fog color.

Fog Lighting Depth

Fog Lighting Depth parameter sets the distance in units, where the light will affect the underwater color. If the camera moves down deeper than the given value there will be no light.

Fog Environment Lighting

Fog Environment Lighting parameter specifies how the environment lighting will affect the final underwater color.

Fog Sun Lighting

Fog Environment Lighting parameter specifies how the environment lighting will affect the final underwater color.

Bottom Color LUT Scale

Bottom Color LUT Scale parameter is a multiplier for the Depth LUT. It will "stretch" the LUT texture length.

Bottom Color LUT Offset

Bottom Color LUT Offset parameter sets the offset of the Depth LUT texture.

Waterline Size

Waterline Size parameter specifies the thickness of the line that divides overwater and underwater.

Other Parameters

Env Reflection Roughness

Env Reflection Roughness parameter specifies the environment reflection roughness of the water surface. It helps to tweak the water surface appearance related to the environment.

Refraction Scale

Refraction Scale parameter sets the scale of the water refraction. The light moves slower in water and faster in air, that's why we see the refraction of object in the water. This parameter specifies the scale of the water refraction.

Planar Reflection

Mask

Mask specifies the viewport mask of the reflection camera.

Distance

Distance from the reflection camera to the object that will be reflected. In other words, the distance equals the distance from camera to the reflective surface plus the distance from object to reflective surface.

Pivot Offset

Pivot offset specifies the position of the pivot point.

Last update: 2017-07-03