This page has been translated automatically.
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
Warning! This version of documentation is OUTDATED, as it describes an older SDK version! Please switch to the documentation for the latest SDK version.
Warning! This version of documentation describes an old SDK version which is no longer supported! Please upgrade to the latest SDK version.

Environment Probe

Environment Probe is a light source which also provide a reflection on object inside the probe by using cubemap (pre-baked or dynamically changing each frame). In Unigine, Environment Probes have two types of projections: spherical and box projection. Box projection mode is better to use in indoor scenes (when the room has a 3D box shape) or box-shaped outdoor scenes (back alley between buildings). For all other cases it's better to use spherical environment probe (reflections on car, spherical room, etc.).

With Environment Probes you can create reflections instead of creating reflection materials.

See Also

Overview

Environment Probe is a great thing to increase performance, decrease the number of materials and make the life of content designers easier.

Environment probes use cubemaps that were baked (or grabbed with special tool). This cubemap will play the role of the reflection and the light simulation. Here is an example:

We have two houses with different color of the interior and put same objects (with reflection material, for example, metal) into these houses. What will happen?

If we don't speak about the dynamic reflections, you'll need to reflect the interior on each object. But interiors have different ambient color, and that is why you'll need to create 2 different materials for them. Not optimized at all.

Environment probes remove this flaw. Once you added an object, you don't think about the reflection material for it. The environment probe will map the cubemap to the object.

There is a difference in mapping cubemaps to transparent and non-transparent objects:

  • If an object is transparent, the environment probe will map the cubemap only if the entire object is inside the radius of the environment probe. Otherwise, the object won't be affected by the environment probe at all.
  • If an object is non-transparent, the environment probe will map the cubemap to any part of the object which is inside the radius of the probe.
Transparent object illuminated by environment probe
Non-transparent object illuminated by environment probe

If you put several environment probes that illuminate a non-transparent object (rendered in the deferred pass) their cubemaps will be blended smoothly. Here is an example, a long corridor which has walls painted in different colors.

We put two environment probes and both of them affect the object (when the object will be in the intercrossing area). When you have large locations, you should use several environment probes instead of one to make the final image more realistic.

The SSR (Screen Space Reflections) effect makes the final image more realistic, because it appends reflections that cannot be baked into cubemaps. Using environment probes and SSR is a great method for pretty fast imitation of reflections with dynamic lighting.

Multiple Environment Probes for Transparent Objects

The Multiple Environment Probes option set for a transparent object (rendered in the forward pass) allows several environment probes illuminate the object and map their cubemaps to it.

  • When the option is disabled, only the last set environment probe will illuminate the object. At that the entire object must be inside the radius of the environment probe. Otherwise, it won't be affected by the enviroment probe at all.
  • When the option is enabled, the object will be lit by all of the environment probes: each probe will affect the part of the object, which is inside the probe. Cubemaps of the environment probes will be blended in the intercrossing areas.
Multiple Environment Probes is off: only the left cubemap is mapped to the object
Multiple Environment Probes is on: both cubemaps are mapped and blended

Adding Evnironment Probe

To add an Environment Probe object to the scene via UnigineEditor, do the following:

  1. Run UnigineEditor.
  2. On the Menu bar, click Create -> Light -> Environment Probe.

  3. Place the environment probe.
  4. Grab the cubemap texture for the environment probe. You can grab it in the Light tab of the Environment Probe's node or you can grab it by using Grabber.
  5. Adjust the environment probe settings.

Environment Probe Settings

Here is a bunch of environment probe settings.

Common Parameters

Light Sets the shadow mask.
Viewport Sets the viewport mask for the light.
Color Sets the light color in the RGBA format. The color defines both the plausibility of virtual representation and its aesthetic component.
Intensity Sets the light color multiplier, which provides fine control over color intensity of the emitted light:
  • The minimum value of 1 corresponds to the least saturated light color.
  • The maximum value of 100 equals the most bright and intense color.
Box projection Enables box projection mode of Environment Probe.

Reflection Parameters

Intensity Sets the intensity of environment probe's reflection. 0 value means no reflection.
Color Sets the color of the reflection.

Ambient Parameters

Intensity Sets the intensity of ambient lighting.
Color Sets the color of ambient lighting.

Box Projection Parameters

Size Specifies the size of the box projection.
Gloss corners Sets the intensity of the gloss near the box projection corners.
Global illumination Enables the global illumination simulation. Environment probe generates fake GI by using given cubemap.

Attenuation Parameters

Attenuation power Sets the attenuation power of the light.
Attenuation distance Sets the attenuation distance for the light.

Grab Texture Parameters

Notice
Re-grab the cubemap texture, when you make changes in these parameters
Resolution Sets the resolution of the reflection in pixels.
Near clipping Sets distance to near clipping plane for image grabbing.
Far clipping Sets distance to far clipping plane for image grabbing.
Sky cutout Cuts out the sky rendering in environment probe and renders dynamic reflection instead of sky.
Dynamic Specifies if the reflection is dynamic.

Update Specifies the cubemap update interval.
  • 1 - Refresh only one face every frame.
  • 2 - Refresh two faces every frame.
  • 3 - Refresh three faces every frame.
  • 4 - Refresh four faces every frame.
  • 5 - Refresh five faces every frame.
  • 6 - Refresh all six faces every frame.
Reflection mask Specifies a mask that specifies materials to reflect.
Local space Sets local space (local coordinates) for environment probes. Can be used for scenes with moving objects.
Mipmaps quality Set the quality of mipmaps.
Texture Sets the cubemap texture for reflection.

Render Parameters

Water Renders the environment probes on water.
Transparent Renders the environment probes on transparent object.
Last update: 2017-07-03
Build: ()