This page has been translated automatically.
Video Tutorials
Interface
Essentials
Advanced
How To
Basics
Rendering
Professional (SIM)
UnigineEditor
Interface Overview
Assets Workflow
Version Control
Settings and Preferences
Working With Projects
Adjusting Node Parameters
Setting Up Materials
Setting Up Properties
Sandworm
Using Editor Tools for Specific Tasks
Extending Editor Functionality
Built-in Node Types
Nodes
Objects
Effects
Decals
Light Sources
Geodetics
World Nodes
Sound Objects
Pathfinding Objects
Players
Programming
Fundamentals
Setting Up Development Environment
Usage Examples
C++
C#
UnigineScript
UUSL (Unified UNIGINE Shader Language)
Plugins
File Formats
Materials and Shaders
Rebuilding the Engine Tools
GUI
Double Precision Coordinates
API
Animations-Related Classes
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
VR-Related Classes
Content Creation
Content Optimization
Materials
Material Nodes Library
Miscellaneous
Input
Math
Matrix
Textures
Art Samples
Tutorials
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.

Voxel-Based GI

Voxel-Based Global Illumination is a static GI technique projecting a precalculated 3D lighting map into a box-shaped voxel volume. This approach uses spatial modulation, that is why there is no need in UV coordinates.

Voxel-based GI is provided by Voxel Probes.

Light baking is performed using the Bake Lighting Tool.

See Also#

Ambient Lighting#

The primary application of Voxel Probes is ambient lighting. When baked, a Voxel Probes illuminates everything within its volume with ambient lighting providing a decent simulation of global illumination including ambient occlusion, light bounces and diffuse interreflections.

Voxel probe is highly useful for shading dynamic objects that move within its bounds. The Bake Internal Volume parameter enables to choose the quality and time required to bake GI for empty voxels (i.e. the voxels that do not cover any geometry).

Workflow#

To bake global illumination into a Voxel Probe, some preparations are needed.

Preparing The Content#

For a surface to contribute to static GI, it must have the Lighting Mode set to Static or have the Cast Global Illumination option enabled in the Advanced Lighting Mode. It must be turned off for dynamic surfaces.

Notice
Lightmapped surfaces are not shaded by Voxel Probes.

Set up light sources in the scene:

  • For light sources that should contribute to global illumination, select the Static mode. Dynamic lights will be ignored. Only indirect lighting from lights is baked, so light sources are to be kept enabled to provide direct lighting and specular highlights.
  • For emissive surfaces (having Emission state in the material parameters enabled) also enable the Emission Bake GI option. Both direct and indirect (bounced) lighting from emissive materials is baked.
Notice
It is not recommended to bake lighting for voxel probes stored in multiple Node References that refer to the same .node asset — the assigned textures will be lost. However, you can save a voxel probe to a node reference after baking and clone, if needed.

Creating Voxel Probes#

  1. Create and place one or several Voxel Probes at the places where the lighting remains relatively static (e.g. interiors, outdoor buldings, immovable objects).

    Notice
    Place voxel probes inside other voxel probes to create insets defining the areas that require higher detail. Note that voxel probes with the additive blending mode enabled cannot be used for this purpose, as they are blended instead of replacing each other.
  2. Set the Common Settings of probes, such as the Box Size and the Voxel Size. By configuring these parameters you define the resolution of the voxel grid and the video memory consumed by the probe.
    Warning
    Do not use the Scale transform parameter to change the probe size as it causes visual artifacts.
  3. Adjust the Baking Settings of probes.

Baking#

  1. Open the Bake Lighting window.
  2. Enable Bake Voxel Probes. Adjust the Voxel Size Multiplier, if needed.
  3. Adjust the Common settings:
    • Select the number of light ray bounces. Higher values will result in a brighter lighting since each voxel receives more photons.
    • Set the number of samples (voxels) calculated per frame. This parameter is available for adjustment during baking process.
  4. Start baking process by clicking Bake All Lighting and wait for it to finish. Live preview is available. Several iterations (one per bounce) will be simulated for each Voxel Probe.

    Notice
    You can stop the process at any moment by using the Stop button and you will be prompted to keep the achieved result or restore the previous textures.
  5. Upon completion, generated lightmaps will be saved in the bake_lighting/voxel_probes folder and assigned to the corresponding Voxel Probes.

You can check the result by selecting the Indirect Lighting mode in the Rendering Debug.

If you are not satisfied with results on certain objects, you can select surfaces and/or nodes and perform partial re-bake using different settings by clicking Bake Selected.

Additional Features#

Diffuse Reflections#

As each voxel of a Voxel Probe stores light data, a Voxel Probe is capable of providing diffuse (blurred) reflections at every spatial point withing its volume provided Bake Internal Volume was enabled for baking. Control reflections by adjusting the Reflections Parameters.

Diffuse reflections provided by a voxel probe.

Additive Blending#

More flexibility in lighting control is available with the Additive Blending mode. You can use it to blend lighting of several voxel probes together and control them separately (e.g. make a separate Voxel Probe for an indoor emissive light source and blend it with another Voxel Probes with lighting baked from the sky, having the ability to enable and disable them separately).

Additive blending of two Voxel Probes.

Using Sun Color#

A Voxel Probe is subject to multiplication by the sun light color if the Use Sun Color option is enabled for it.

Last update: 2024-04-19
Build: ()