WaterVolumes

Overview

WaterVolumes are shape objects which can be used in a variety of different circumstances, such as rivers, lakes, pools, puddles or even oceans.

The "Forest" sample level shipped with the CRYENGINE SDK features several different water volumes.

To learn about adding Logic to Watervolumes, see Moveable Water Volumes.

Parameters

Params

Descriptions

Width

Specifies how wide the volume is.
Not used for watervolumes, inherited from Area Shapes.

Height

Specifies the height of the volume.
Not used for watervolumes, inherited from Area Shapes.

AreaId

Sets up the ID of the area, so areas with another ID can overlap.
Not used for watervolumes, inherited from Area Shapes.

GroupId

Sets up the Group ID of the area, so areas with another group ID can overlap.
Not used for watervolumes, inherited from Area Shapes.

Priority

Defines the Priority so areas with a higher priority will be processed first.

Closed

Sets if the area should be closed or if it should be just a line.

DisplayFilled

Just for visibility in the editor this option defines if the area should be rendered as filled or not.

DisplaySoundInfo

Enable to expand Sound Obstruction options.

Agent_height

When Render_voxel_grid is enabled this determines the height - along the y axis - of the grid cells rendered.

Agent_width

When Render_voxel_grid is enabled this determines the height - along the x axis - of the grid cells rendered.

Render_voxel_grid

If true, voxel grid will be rendered when helpers are enabled.

voxel_offset_x

Offset voxel grid on the X axis.

voxel_offset_y

Offset voxel grid on the Y axis.

Depth

Specifies how deep the watervolume should be.

Speed

Specifies at which speed the water should be moving.
Not used for watervolumes, inherited from Area Shapes.

FogDensity

Specifies how dense the underwater fog is.

FogColor

Lets you choose the underwater fog color.

FogColorMultiplier

Lets you choose how bright the underwater fog color is.

FogColorAffectedBySun

If true, SunColor value set in the Time of Day will affect fog color of the water volume.

FogShadowing

If enabled, surface of watervolume will receive shadows. You can control the shadow darkness, valid input 0-1.

r_FogShadowsWater needs to be set to '1' for this to function, which is currently only enabled on Very High Spec.
If you use VolFogShadows in Environment Panel, you lose control of shadow darkness (automatically set to full).
The benefit here is that the fog in the WaterVolume will receive volumetric shadows! See below for comparisons.

CapFogAtVolumeDepth

If false, fog will continue to render below the specified Depth of water volume.

UScale

Specifies how much the water surface (bump) texture is tiled horizontally.

VScale

Specifies how much the water surface (bump) texture is tiled vertically.

ViewDistRatio

See Common Entity Parameters for more information.

Caustics

See Water Volume Caustics for more information.

CausticIntensity

See Water Volume Caustics for more information.

CausticTiling

See Water Volume Caustics for more information.

CausticHeight

See Water Volume Caustics for more information.

Advanced

FixedVolume

Will trace a ray down to find a 'vessel' entity and 'spill' the requested amount of water into it. For static entities it'll try to boolean-merge any surrounding static that intersect with the first vessel (use "No Dynamic Water" flag on brushes that don't need that)

VolumeAccuracy

Water level will be calculated until the resulting volume is within this (relative) difference from the target volume (if it's set to 0 it'll run up to a hardcoded iteration limit)

ExtrudeBorder

Will extrude the border by this distance. It's particularly useful if wave sim in on, since waves can raise the surface and thus reveal open edges if they lie exactly on the vessel geometry

ConvexBorder

Will take convex hull of the border. Mainly useful if the border would otherwise have multiple contours, which areas don't support

ObjectSizeLimit

Only object having volume larger than this will take part in water displacement (set in fractions of FixedVolume)

SimAreaGrowth

If changing water level is expected to make the area expand, the wave sim grid should take it into account from the beginning. This sets the projected growth in fractions of the original size. If wave sim is not used this has no effect

WaveSimCell

Size of cell for wave simulation (0 means no waves). Can be enabled regardless of whether FixedVolume is used or not

WaveSpeed

Sets how "fast" the water looks

WaveDamping

Standard damping

WaveTimestep

Might need to be decreased to maintain stability if more aggressive values for speed are used

SimAreaGrowth

If changing water level is expected to make the area expand, the wave sim grid should take it into account from the beginning. This sets the projected growth in fractions of the original size. If wave sim is not used this has no effect

MinWaveVel

Sleep threshold for the simulation

HeightLimit

Sets a hard limit on wave height (in WaveSimCell units)

DepthCells

Sets how deep the moving layer of water is (in WaveSimCell units). Larger values make waves more 'dramatic'

Resistance

Sets how strongly moving objects transfer velocity to the water

Water volumes also have special interpretation of helper types (use a_[suffix] to show helpers for areas only). a_g will draw the outline and the tessellated surface, a_gj will draw the wave sim as a checkerboard-like heightfield, a_l will draw the vessel geometry (a union of all overlapping potential vessels)

Usage Examples

Caustics

Caustics are a great way to give your water volumes a much bigger visual presence and involve them more into the scenes you create. For more info see Water Volume Caustics.

Caustics OffCaustics On

FogShadowing

Fog Shadows gives real visual depth to your water volumes, also making optional use of the global VolFogShadows function available in the Environment Panel.

Due to a technical limitation, using VolFogShadows will limit the opacity function of the FogShadowing param to be either off or full.

VolFogShadows DisabledVolFogShadows Enabled
FogShadowing 0FogShadowing 0.25FogShadowing 0.5

Depth

The Depth parameter defines both visual and physical depth of the water volume. Things such as the underwater distortion effect is based off the Depth setting.

Depth 0Depth 10

CapFogAtVolumeDepth

With this disabled, the fog settings from the water volume will display infinitely on the Z axis (downwards).

A usage example would be if you had a room that was accessible underneath a watervolume, then you would probably activate this setting to prevent the fog from being seen inside the room.

Depth 0 / Cap Fog FalseDepth 0 / Cap Fog True

Height

Although the Height parameter is not used for Watervolumes, it can be useful for visualizing the edges of the volume which would typically be hidden underground.

Speed

Although Speed isn't supported by Watervolumes (because there's no easy way to define direction on an arbitrarily user-designed shape with infinite results) there's an easy way you can 'physicalize' your water volumes.

Rivers support the Speed parameter and can be placed without any visual representation by simply not applying a material to the object. Layering Rivers on top of your Water volumes (remember to match depths!)

When placing Rivers for this use, make sure to keep them straight (the 'Speed' is applied only for the initial vector and cornering is not supported) and overlap where you want them to change course so they don't get stuck.

In the above example, we have three main Rivers (with outside supports to simulate from waterfall) atop the main Watervolume, carrying several RigidBodyEx entities along for a ride.