This page has been translated automatically.
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
Внимание! Эта версия документация УСТАРЕЛА, поскольку относится к более ранней версии SDK! Пожалуйста, переключитесь на самую актуальную документацию для последней версии SDK.
Внимание! Эта версия документации описывает устаревшую версию SDK, которая больше не поддерживается! Пожалуйста, обновитесь до последней версии SDK.

Environment Probe

Environment Probe is a light source which also provides reflections on an object inside the probe by using a cubemap (pre-baked or dynamically changing each frame). In Unigine, Environment Probes have two types of projections:

  • Box projection - works better for indoor scenes (when the room has a 3D box shape) or box-shaped outdoor scenes (back alley between buildings).
  • Spherical projection - works better for all other cases (reflections on car, spherical room, etc.).

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

Notice
By default Environment Probes are used for reflections only, as for lighting, it is recommended to simulate it using Voxel Probes. This approach ensures the best result, however you can still use Environment Probe for ambient lighting.

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 a 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 affected by environment probe
Non-transparent object affected by environment probe

If you put several environment probes that affect 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 affect the object and map their cubemaps to it.

  • When the option is disabled, only the last set environment probe will affect 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.
Notice
Rendering of Multiple Environment Probes must be enabled via Rendering -> Transparent -> Multiple Environment Probes.
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 Environment Probe#

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

  1. Run the project with 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 Environment Probe tab of the Parameters window or you can bake lighting.
  5. Adjust the environment probe settings.
Notice
You can't bake realtime lights (LightOmni, LightProj, etc.) to an environment probe. The best you can do is to place spheres with emission materials instead of lights, adjust emission intensity and then bake lighting. However, the result will look worse than you'd have with realtime lights.

Environment Probe Settings#

The environment probe settings can be found in the Environment Probe tab of the Parameters window. This tab includes both the common parameters and the parameters specific for the environment probe. The specific ones are described below.

Common Parameters#

Box Projection Enables box projection mode for the Environment Probe.
Box Projection Size Specifies the size of the box projection.
Attenuation Power Sets the attenuation power for the light.
Attenuation Distance Sets the attenuation distance for the light.

Render Parameters#

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.
Light Mask Sets the shadow mask.
Viewport Mask Sets the viewport mask for the light.
Visibility Distance Distance from the camera, in units, up to which the environment probe will be rendered.
Fade Distance Distance from the camera, in units, starting from which the environment probe starts to fade out gradually.
Water Renders the environment probes on water.
Transparent Renders the environment probes on transparent object.
Use Sun Color Enables the influence of sun light color on the environment probe.
Notice
When enabled, this option makes the environment probe color black at night, or orange at sunset.

Ambient Parameters#

Enabled Enables ambient ligting for the Environment Probe. By default, Environment Probes are used for reflections only, as for lighting, it is recommended to simulate it using Voxel Probes. This approach ensures the best result, however you can still use Environment Probe for ambient lighting by enabling this option.
Color Sets the color of ambient lighting.
Intensity Sets the intensity of ambient lighting.
Notice
This parameter is used for manual adjustment in case if resulting intensity is too high or insufficient.
Global Illumination Enables the global illumination simulation. Environment probe generates fake GI by using given cubemap.
Contrast Sets the contrast of ambient lighting.

Reflection Parameters#

Color Sets the color of environment probe's reflection.
Intensity Sets the intensity of environment probe's reflection. 0 value means no reflection.
Notice
This parameter is used for manual adjustment in case if resulting intensity is too high or insufficient.
Gloss Corners Sets the intensity of reflection gloss near the box projection corners.
Notice
This parameter is available for box projection only.
Parallax

Parallax correction enables rendering of reflections taking into account the camera's position. When this option is disabled, reflection cubemaps are simply projected onto objects, and do not follow the viewer's perspective.

  • 0 (minimum) - parallax correction is disabled (reflections will look like objects are infinitely distant).
  • 1 (maximum) - parallax correction is enabled (reflections will look like objects are at the distance close to the radius of the environment probe).
  • Values in-between represent a linear interpolation factor for parallax correction and are to be set when the environment probe is used to fit a medium or small object into the environment for additional correction, if necessary.
Notice
  • This parameter is available for spherical projection only (Box Projection option must be disabled).
  • Parallax correction does not affect reflections on transparent objects.

Baking Settings#

Notice
Re-grab the cubemap texture, when you make changes to these parameters
Dynamic Specifies if the reflection is dynamic.
Notice
The Dynamic Reflections option should be enabled: Rendering -> Features -> Dynamic Reflections.
Faces Per Frame Specifies the cubemap update interval.
Notice
Available for dynamic mode only.
  • 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.
Grab by Bake Lighting Specifies if the cubemap texture is to be modified by the Bake Lighting Tool.
Reflection mask Mask specifying materials to reflect.
Resolution Sets the resolution of the reflection in pixels.
Notice
Setting too high resolution on a low-performance GPU with low memory capacity may cause engine crash.
Supersampling Sets the number of samples per pixel used for image grabbing supersampling.
Mipmaps Quality Set the quality of mipmaps.
Notice
Setting too quality on a low-performance GPU with low memory capacity may cause engine crash.
Near Clipping Sets distance to near clipping plane for image grabbing.
Notice
Recommended value for rooms is 0.01.
Far Clipping Sets distance to far clipping plane for image grabbing.
Notice
Recommended value for rooms is 1000.
Sky Cutout Cuts out sky rendering in the environment probe and renders dynamic reflection instead of the sky.
Notice
This parameter can be used to render changes of the sky gradient in a window, when the time of the day changes.
Local Space Sets local space (local coordinates) for environment probes. Can be used for scenes with moving objects.
Notice
It is recommended to use this parameter, if you plan to rotate the environment probe after baking.
Texture Sets the cubemap texture for reflection.
Notice
Every bake lighting procedure makes changes to the asset which is set for this parameter when the Grab by Bake Lighting mode is enabled.
You can leave the field empty to avoid losing content. In this case a new generated lighting texture will be set for this parameter after the bake lighting procedure. Generated textures are stored in the data/bake_lighting folder.
Last update: 27.12.2018
Build: ()