This page has been translated automatically.
Video Tutorials
Interface
Essentials
Advanced
How To
UnigineEditor
Interface Overview
Assets Workflow
Settings and Preferences
Working With Projects
Adjusting Node Parameters
Setting Up Materials
Setting Up Properties
Lighting
Landscape Tool
Sandworm
Using Editor Tools for Specific Tasks
Extending Editor Functionality
Built-in Node Types
Nodes
Objects
Effects
Decals
Light Sources
Geodetics
World Objects
Sound Objects
Pathfinding Objects
Players
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
Content Creation
Content Optimization
Materials
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.

Unigine.LightVoxelProbe Class

Inherits from: Light

This class allows creating and managing voxel probes.

LightVoxelProbe Class

Enums

BAKE_INTERNAL_VOLUME#

NameDescription
HALF = 0Bake internal volume (voxels that don't touch geometry) in half resolution.
FULL = 1Bake internal volume (voxels that don't touch geometry) in full resolution.

BAKE_QUALITY#

Light baking quality preset of the voxel probe. Each preset includes recommended common baking quality settings, such as number of light rays simulated and sampling quality, that affect the time consumption of light baking and the final quality.
NameDescription
DRAFT = 0The lowest sampling quality and number of rays simulated but the highest iterativity.
LOW = 1Low sampling quality and number of light rays simulated.
MEDIUM = 2Stable quality level is good for most cases.
HIGH = 3High sampling quality and number of light rays simulated is quite enough for release production.
ULTRA = 4Ultra baking quality might be useful to get rid of small inconsistencies on the release production.

Properties

Texture Texture#

The Texture instance containing the baked lighting.
set
Sets the given texture as the lighting texture of the voxel probe.
set value - 3D texture pointer to set.

string TexturePath#

The path to the lighting texture used for the voxel probe.
set
Sets a path to a light texture.
set value - Path to a light texture.

bool IsBakeVisibilityEnvironmentProbe#

A value indicating if environment probe light sources are to be baked to the voxel probe. you can use this option together with additive blending to provide more flexibility in light baking. Thus, you can make voxel probes independent of each other and combine them to produce some sort of dynamic GI effect.
set
Enables or disables baking of environment probe light sources to the voxel probe. You can use this option together with additive blending to provide more flexibility in light baking. Thus, you can make voxel probes independent of each other and combine them to produce some sort of dynamic GI effect.
set value - true to enable baking of environment probe light sources to the voxel probe; false to disable it.

bool BakeVisibilityVoxelProbe#

A value indicating if other voxel probe light sources are to be baked to the voxel probe. you can use this option together with additive blending to provide more flexibility in light baking. Thus, you can make voxel probes independent of each other and combine them to produce some sort of dynamic GI effect.
set
Enables or disables baking of other voxel probe light sources to the voxel probe. You can use this option together with additive blending to provide more flexibility in light baking. Thus, you can make voxel probes independent of each other and combine them to produce some sort of dynamic GI effect.
set value - 1 to enable baking of other voxel probe light sources to the voxel probe; 0 to disable it.

bool BakeVisibilityLightProj#

A value indicating if projected light sources are to be baked to the voxel probe. you can use this option together with additive blending to provide more flexibility in light baking. Thus, you can make voxel probes independent of each other and combine them to produce some sort of dynamic GI effect.
set
Enables or disables baking of projected light sources to the voxel probe. You can use this option together with additive blending to provide more flexibility in light baking. Thus, you can make voxel probes independent of each other and combine them to produce some sort of dynamic GI effect.
set value - 1 to enable baking of projected light sources to the voxel probe; 0 to disable it.

bool BakeVisibilityLightOmni#

A value indicating if omni light sources are to be baked to the voxel probe. you can use this option together with additive blending to provide more flexibility in light baking. Thus, you can make voxel probes independent of each other and combine them to produce some sort of dynamic GI effect.
set
Enables or disables baking of omni light sources to the voxel probe. You can use this option together with additive blending to provide more flexibility in light baking. Thus, you can make voxel probes independent of each other and combine them to produce some sort of dynamic GI effect.
set value - 1 to enable baking of omni light sources to the voxel probe; 0 to disable it.

bool BakeVisibilityLightWorld#

A value indicating if world light sources are to be baked to the voxel probe. you can use this option together with additive blending to provide more flexibility in light baking. Thus, you can make voxel probes independent of each other and combine them to produce some sort of dynamic GI effect.
set
Enables or disables baking of world light sources to the voxel probe. You can use this option together with additive blending to provide more flexibility in light baking. Thus, you can make voxel probes independent of each other and combine them to produce some sort of dynamic GI effect.
set value - 1 to enable baking of world light sources to the voxel probe; 0 to disable it.

bool BakeVisibilitySky#

A value indicating if lighting from the sky is to be baked to the voxel probe. you can use this option together with additive blending to provide more flexibility in light baking. Thus, you can make voxel probes independent of each other and combine them to produce some sort of dynamic GI effect.
set
Enables or disables baking of lighting from the sky to the voxel probe. You can use this option together with additive blending to provide more flexibility in light baking. Thus, you can make voxel probes independent of each other and combine them to produce some sort of dynamic GI effect.
set value - 1 to enable baking of lighting from the sky to the voxel probe; 0 to disable it.

bool BakeVisibilityEmission#

A value indicating if emission light sources are to be baked to the voxel probe. you can use this option together with additive blending to provide more flexibility in light baking. Thus, you can make voxel probes independent of each other and combine them to produce some sort of dynamic GI effect.
set
Enables or disables baking of emission light sources to the voxel probe. You can use this option together with additive blending to provide more flexibility in light baking. Thus, you can make voxel probes independent of each other and combine them to produce some sort of dynamic GI effect.
set value - 1 to enable baking of emission light sources to the voxel probe; 0 to disable it.

bool BakeVisibilityLightmap#

Returns a value indicating if lightmapped surfaces are to be baked to the voxel probe. You can use this option together with additive blending to provide more flexibility in light baking. Thus, you can make voxel probes independent of each other and combine them to produce some sort of dynamic GI effect.
set
Enables or disables baking of lightmapped surfaces to the voxel probe. You can use this option together with additive blending to provide more flexibility in light baking. Thus, you can make voxel probes independent of each other and combine them to produce some sort of dynamic GI effect.
set value - 1 to enable baking of lightmapped surfaces to the voxel probe; 0 to disable it.

LightVoxelProbe.BAKE_INTERNAL_VOLUME BakeInternalVolume#

The current internal volume baking mode for the voxel probe (voxels that don't touch geometry).
Notice
If internal volume baking is disabled, only the voxels covering geometry are baked while empty ones are skipped.
set
Sets internal volume baking mode for the voxel probe (voxels that don't touch geometry.
Notice
If internal volume baking is disabled, only the voxels covering geometry are baked while empty ones are skipped.
set value - Internal volume baking mode to be set. One of the BAKE_INTERNAL_VOLUME_* values.

float BakeZFar#

The distance to the far clipping plane used for every voxel during light baking.
set
Sets the distance to the far clipping plane used for every voxel during the light baking.
set value - Distance to the far clipping plane, in units.

int BakeViewportMask#

The mask that specifies materials taking part in baking.
set
Sets a mask that specifies materials to take part in light baking.
set value - Bake viewport mask (integer, each bit of which is used to represent a mask).

bool ReflectionCubicFiltering#

A value indicating if cubic filtering is applied to reflections textures.
set
Enables or disables cubic filtering for reflections of the voxel probe.
set value - 1 to enable cubic filtering for reflections; 0 to disable it.
Notice
If cubic filtering is disabled, linear texture filtering is used.

float ReflectionBias#

The bias of reflections.
set
Sets the bias for reflections of the voxel probe.
set value - Reflection bias value, in voxels.

float ReflectionVisibilityRoughnessMax#

The higher bound of the roughness range within which the reflections of the voxel probe are visible.
set
Sets the higher bound of the roughness range within which the reflections of the voxel probe are visible.
set value - Higher roughness value within the [0.0f, 1.0f] range.

float ReflectionVisibilityRoughnessMin#

The lower bound of the roughness range within which the reflections of the voxel probe are visible.
set
Sets the lower bound of the roughness range within which the reflections of the voxel probe are visible.
set value - The lower roughness value within the [0.0f, 1.0f] range.

bool ReflectionEnabled#

A value indicating if reflections are enabled for the voxel probe.
set
Enables or disables reflections for the voxel probe.
set value - 1 to enable reflections for the voxel probe; 0 to disable it.

bool AmbientCubicFiltering#

A value indicating if cubic filtering is applied to voxel probe ambient lighting.
set
Enables or disables cubic filtering for ambient lighting of voxel probe.
set value - 1 to enable cubic filtering of ambient lighting; 0 to disable it.
Notice
If cubic filtering is disabled, linear texture filtering is used.

float AmbientBias#

The bias of ambient lighting.
set
Sets the bias for ambient lighting for the voxel probe.
set value - Ambient bias value, in voxels.

bool AdditiveBlending#

A value indicating if the additive blending mode for the voxel probe is enabled. this option offers more flexibility in lighting control. 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 probe with lighting baked from the sky, having the ability to enable and disable them separately).
Notice
Voxel probes with additive blending enabled cannot be used to add lighting details (e.g. creating a small high-detail voxel probe inside a large low-detail one). Such probes do not replace each other, as they are blended instead.
set
Enables or disables additive blending mode for the voxel probe. This option offers more flexibility in lighting control. 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 probe with lighting baked from the sky, having the ability to enable and disable them separately).
Notice
Voxel probes with additive blending enabled cannot be used to add lighting details (e.g. creating a small high-detail voxel probe inside a large low-detail one). Such probes do not replace each other, as they are blended instead.
set value - 1 to enable additive blending mode for the voxel probe; 0 to disable it.

bool UseSunColor#

A value indicating if sun color modulation for the voxel probe is enabled.
set
Enables or disables sun color modulation for the voxel probe (the light of the environment probe changes as the sun color changes).
Notice

To bake lighting from the sky separately with this option enabled, it is recommended to enable baking visibility for the sky only, while disabling it for other light sources.

Changing this option requires the lighting to be re-baked.

set value - 1 to enable sun color modulation for the environment probe, 0 to disable it. The default value is 0.

float AttenuationPower#

The power of light attenuation used to simulate intensity gradual fading.
set
Sets the power of light attenuation used to simulate intensity gradual fading. This parameter determines how fast the intensity decreases up to the attenuation distance set for the light source.
set value - Attenuation power value.

vec3 AttenuationDistance#

The distance from the light source shape, at which the light source doesn't illuminate anything.
set
Sets the distance from the light source shape, at which the light source doesn't illuminate anything.
set value - Distance from the light source shape, in units along X, Y and Z axis.

float VoxelSize#

Voxel size of the voxel probe.
set
Sets the size of a voxel of the voxel probe.
set value - Voxel Size value, in units.

vec3 BoxSize#

The current box size for the environment probe.
set
Sets the box size for the voxel probe.
set value - Box size along X, Y and Z axes.

LightVoxelProbe.BAKE_QUALITY BakeQuality#

Returns the current baking quality for the voxel probe.
set
Sets the baking quality for the light probe.
set value - One of BAKE_QUALITY values.

Members


LightVoxelProbe ( ) #

Constructor. Creates a new voxel probe with default parameters.

int SetTextureImage ( Image image ) #

Sets the given image as the 3D texture of the voxel probe.

Arguments

  • Image image - 3D texture to set.

Return value

1 if the cube texture is set successfully; otherwise, 0.

int GetTextureImage ( Image image ) #

Bakes lighting and saves into the given Image instance.

Arguments

  • Image image - Image into which the light will be baked.

Return value

1 if the light has been baked successfully; otherwise, 0.

ivec3 GetResolution ( ) #

Returns the resolution of the voxel probe according to the voxel size.

Return value

Resolution of the voxel probe along X, Y and Z axis, in voxels.

static int type ( ) #

Returns the type of the node.

Return value

LightVoxelProbe type identifier.

long GetVideoMemoryUsage ( ) #

Returns a value defining how much memory the light texture takes according to its size. The memory is calculated in accordance to the following formula: Memory = SizeX × SizeY × SizeZ × Sides × FormatMemory
  • SizeX, SizeY, SizeZ - the dimensions of the 3D light texture, in voxels.
  • Sides - number of sides of each voxel, equal to 6.
  • FormatMemory - a memory usage amount for the texture in RGBA16 format, equal to 8.

Return value

A texture memory usage, in bytes.
Last update: 2021-04-29
Build: ()