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

post_sensor

Warning
This article is under development.

This postprocess material allows you to create the effects for real-time sensor simulation of optical sensors in the EO or IR passband.

The post_sensor material has 4 built-in child materials with predefined settings:

  • post_sensor_green - material that is used to amplify near and far infrared emission.
  • post_sensor_heat, post_sensor_red - material that is used for simulation of industrial thermal imagers.
  • post_sensor_white - material that is used for simulation of military thermal imagers.

To apply the postprocess material, choose Windows -> Rendering settings (or press Alt+R) and specify the material name in the Post field.

Notice
For all objects that should be visible in the IR spectrum the Auxiliary pass should be enabled.

post_sensor_green

post_sensor_heat

Main Concepts

All objects that should be visible after applying the material should have a thermal map specified as the Auxiliary texture in the object's material.

Thermal map

In case of the post_sensor_green material, the auxiliary texture will be used as a glow texture.

The Auxiliary texture is a 3-channel texture (RGB). Each channel stores a temperature value in range [0;255]. In the post_sensor material, this range is represented as [0;1]. So, the white texture stores a temperature value in range [0;3].

If the object's temperature is low (in range [0;1]), the auxiliary texture with 1 channel will be enough. For higher temperature, you should add the other channels.

Reading Temperature from Thermal Map

The temperature value is obtained from the thermal map (the auxiliary texture) by adding the temperature values stored in the texture's channels. In parallel, the temperature value stored in each channel is multiplied by the corresponding channel of the Auxiliary color specified in the object's material.

However, the resulting temperature that will be rendered after applying the post_sensor material is calculated as follows:

Here:

Temperature obtained from the thermal map
Auxiliary buffer power
Auxiliary buffer scale
Ambient heat occlusion
Scene color
Influence scene power
Influence scene scale
Global temperature

Textures

Vision LUT Texture

Vision LUT texture is used to map the sensor temperature (its values vary in range [0;1]) to the color familiar to human eyes. For example, objects with high temperature can be represented by using different gradations of the red color.

Vision LUT texture for post_sensor_green material
Vision LUT texture for post_sensor_heat material

The texture is 4-channeled:

  1. RGB values store color information.
  2. An alpha (A) value is not used.

Parameters

Base Parameters

Ambient Heat Occlusion

Ambient heat occlusion is a value that shows influence of SSAO on the temperature obtained from the thermal map.

  • The higher the value, the higher the temperature in the shadowed areas (these areas will get cold more slowly).
  • The lower the value, the lower the temperature in the shadowed areas (these areas will get cold faster).
Ambient heat occlusion = -0.5
Ambient heat occlusion = 0.5

Influence Scene Power

Influence scene power is a degree of impact of the scene color on the resulting temperature.

  • By the value of 0, the scene color won't affect the resulting temperature.

Influence Scene Scale

Influence scene scale is a coefficient for increasing intensity of the scene color.

Influence scene power = 2; Influence scene scale = 0.5
Influence scene power = 4; Influence scene scale = 1.5

Global Temperature

Global temperature is a global temperature of the scene that increases or decreases the resulting temperature displayed by the sensor.

Global temperature = 0
Global temperature = 0.5

Sensor Blur Power

Sensor blur power is a radius of the blur effect applied to the temperature displayed by the sensor.

Sensor blur power = 1; Sensor blur detail = 0.7
Sensor blur power = 4; Sensor blur detail = 0.7

Sensor Blur Detail

Sensor blur detail is a coefficient that allows adjusting sharpness of the blur effect.

Sensor blur detail = 0.3; Sensor blur power = 4
Sensor blur detail = 1; Sensor blur power = 4

Motion Blur Strength

Motion blur strength is a coefficient that controls blurring in motion (how blurred the displayed temperature will be when the camera moves).

Noise Count

Noise count is a level of the color noise.

  • The lower the temperature in a specific area, the higher the color noise level will be.
Noise count = 0
Noise count = 0.3

Noise Granule Size

Noise granule size is a size of the color noise.

Noise granule size = 400
Noise granule size = 1000

Auxiliary Buffer Power

Auxiliary buffer power is a degree of impact of the temperature obtained from the thermal map on the resulting temperature displayed by the sensor.

Auxiliary buffer power = 2; Auxiliary buffer scale = 2
Auxiliary buffer power = 10; Auxiliary buffer scale = 2

Auxiliary Buffer Scale

Auxiliary buffer scale is a coefficient to scale the temperature obtained from the thermal map.

Auxiliary buffer scale = 2; Auxiliary buffer power = 2
Auxiliary buffer scale = 3; Auxiliary buffer power = 2

Sensor LUT Shift

Sensor LUT shift is an offset of the resulting temperature in the vision LUT texture. This value can be used to correct mapping of the temperature to the color.

Sensor LUT Scale

Sensor LUT scale is a coefficient to scale the resulting temperature when mapping the temperature to the color.

Last update: 2017-07-03