UnigineEditor
Interface Overview
Assets Workflow
Settings and Preferences
Adjusting Node Parameters
Setting Up Materials
Setting Up Properties
Landscape Tool
Using Editor Tools for Specific Tasks
FAQ
Программирование
Fundamentals
Setting Up Development Environment
Usage Examples
UnigineScript
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
CIGI Client Plugin
Rendering-Related Classes

water_global_base

The water_global_base material simulates water and other liquids and is applied to a Water Global object.

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.

FieldShoreline States#

High Precision#

High Precision state enables improved interpolation between the adjacent pixels of the shoreline texture to reduce stepping artifacts. This can be noticed when looking at the waterline separating overwater and underwater.

Notice
This state should be used only when geometry and/or normal states are enabled.
High Precision state disabled.
High Precision state enabled.

Normal#

Normal state enables calculation of normals for geometry of shoreline waves. This option significantly reduces performance and can be used in cases, when really large waves are required. Enabling just the geometry state to simulate distortion of the water surface by a shoreline wave is enough in most cases.

Geometry#

Geometry state enables rendering of wave geometry of shoreline waves. When this option is disabled the surface of the water remains flat. Switching this option off in cases when wave geometry is hardly noticeable (e.g. a flight simulator) gives a performance gain.

Geometry state disabled.
Geometry state enabled.

Foam#

Foam state enables foam rendering for shoreline zones.

Foam state disabled.
Foam state enabled.

FieldSpacer Interaction#

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

FieldHeight Interaction#

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

FieldShoreline Interaction#

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

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.

Caustics#

Caustics allows you to render light rays refracted by the water surface.

Caustics state disabled.
Caustics state enabled.

Caustics Distortion#

Caustics Distortion removes pixelation and makes caustics look smoother. When smoothing is not required, you can disable this option to gain performance.

Caustics Distortion state disabled.
Caustics Distortion 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 Reflection parameters.

Auxiliary#

Enables Auxiliary rendering pass for the material. Can be used for custom post-effects, such as thermal vision, night vision, etc.

Notice
Enabling the option activates the Auxiliary Color parameter.

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/4 xheight/4, where height is an application window height.
  • Half height — creates a reflection image with the resolution height/2 xheight/2, where height is an application window height.
  • Height — creates a reflection image with the resolution height xheight, 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.

Shoreline LUT#

Shoreline LUT is a LUT texture used for shoreline wetness effect.

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.

Caustics#

3D Caustics texture determines the pattern of light rays refracted by the water surface.

The texture is 1-channeled:

  1. R value defines the caustics pattern.

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_global_base 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 Sun Lighting parameter specifies how the sun 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#

Reflection Roughness#

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

Reflection Occlusion#

Reflection Occlusion parameter specifies an occlusion factor for environment reflections on the water surfaces with negative normals. Using this parameter enables simulation of reflection of waves on the water surface removing too bright areas on waves close to the horizon.

  • By the minimum value of 0, no occlusion is performed for reflections of waves, no matter what normals the water surfaces have.
  • By the higher values, occlusion is performed for reflections on the water surfaces with negative normals that have a certain slope. The higher the value, the less intensive reflections on the surfaces with negative normals.

Reflection Occlusion Slope#

Reflection Occlusion Slope parameter specifies a slope of negative normals of water surfaces, at which occlusion is performed for reflections of waves.

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.

Auxiliary#

Auxiliary Color#

Auxiliary color parameter

Auxiliary color parameter specifies the constant color for the auxiliary pass. Alpha channel determines transparency.

Last update: 27.12.2018