UnigineEditor
Interface Overview
Assets Workflow
Settings and Preferences
Working With Projects
Adjusting Node Parameters
Setting Up Materials
Setting Up Properties
Landscape Tool
Using Editor Tools for Specific Tasks
Extending Editor Functionality
Programming
Fundamentals
Setting Up Development Environment
Usage Examples
UnigineScript
C++
C#
UUSL (Unified UNIGINE Shader Language)
File Formats
Rebuilding the Engine 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
Objects-Related Classes
Networking Functionality
Pathfinding-Related Classes
Physics-Related Classes
Plugins-Related Classes
IG Plugin
CIGIConnector Plugin
Rendering-Related Classes

Environment Probes

Environment Probe represents a reflection volume that stores a cubemap texture (pre-baked or dynamically changing each frame) to be rendered on reflective surfaces.

A reflective sphere placed inside an Environment Probe

See Also#

Cubemap Reflections#

The primary application of environment probes is providing cube-mapped reflections.

The Projection Shape defines the type of projection to be used by the Environment Probe:

  • Box projection - the cubemap is projected onto a box shape defined by the Box Projection Size parameter of the probe.
  • Spherical projection - the cubemap is projected onto a spherical shape.

Box projection is more suitable for box-shaped interiors.

Spherical environment probes can be subject to Parallax effect controlled by the corresponding parameter. With the value of 0 the reflection shall be projected onto an infinitesimally far sphere, the value of 1 corresponds to the actual probe's bounding sphere defined by the Attenuation Distance parameter taking into account the viewer's perspective.

The Baking Settings of the probe determine the type of reflections.

Static Reflections#

An environment probe with the Dynamic option disabled provides static reflections — the same cubemap is used until it is re-baked or replaced.

You can specify a custom cubemap texture for the probe or bake it from the environment by using the Bake Lighting tool. For this purpose, a set of preparations is needed:

  1. Enable the Bake to Environment Probe option for surfaces to be visible in baked reflections. Disable it for dynamic objects.

    For selective group-based visibility of objects, adjust the Viewport Masks. A surface will be visible in reflections only if its Viewport Mask matches the Reflection Viewport Masks of the environment probe.

  2. For light sources that should be reflected, select the Static mode. Dynamic lights will be ignored.
  3. Check Grab by Bake Lighting in the probe's Baking Settings. Adjust other settings, such as the desired cubemap resolution and the supersampling multiplier.
  4. Open the Bake Lighting window.
  5. Enable Bake Environment Probes.
  6. Select the Number of Bounces, i.e. the reflection depth.

  7. Start baking process by clicking Bake All and wait for it to finish.
  8. Upon completion, the generated cubemap will be saved in the bake_lighting/env_probes folder and assigned to the Environment Probe.
Notice
Enable Auto Rebake option in the corresponding section of the Bake Lighting window, so cubemaps for static environment probes will be automatically rebaked every time you make changes to their settings and transform.

Dynamic Reflections#

Dynamic reflections imply the cubemap of an environment probe is grabbed each frame. This mode may make a massive load on the processing unit, so accurate adjustment of the Baking Settings is recommended.

To make an environment probe cast dynamic reflections, perform the following:

  1. Check the Dynamic option for the probe.
  2. Adjust the desired Resolution of the cubemap, supersampling and other Baking Settings.
  3. Pay attention to the Faces Per Frame parameter defining the number of faces of the cubemap rendered each frame. Rendering six faces each frame may significantly affect the performance, so you can spread this number over several frame in a row.
  4. Enable the Dynamic Reflections option: Rendering -> Features -> Dynamic Reflections

Additional Features#

Ambient Lighting#

By default, Environment Probes are used for reflections only, as for lighting, it is recommended to simulate it using Voxel Probes and lightmaps. However, cube-mapped ambient lighting by environment probes is available as well.

You can benefit from this approach by enabling the Dynamic option for the environment probe to get simple real-time global illumination.

Additive Blending#

More flexibility in lighting control is available with the Additive Blending mode. You can use it to blend reflections of several environment probes together and control them separately.

Use Sun Color#

An environment probe is subject to multiplication by the sun light color if the Use Sun Color option is enabled for it.

Cutout By Shadow#

In certain cases reflections baked into environment probes might be clearly seen in areas where they actually shouldn’t, resulting in various artefacts that ruin the total look of your scene. This can be especially noticeable when you place environment probes in irregular shaped (non-squared) rooms. By using the Cutout By Shadow feature you can enable clipping of reflections occluded by obstacles.

Last update: 2020-10-13