This page has been translated automatically.
Setting Up Development Environment
High-Level Systems
UUSL (Unified UNIGINE Shader Language)
File Formats
Rebuilding the Engine and Tools
Double Precision Coordinates
Bounds-Related Classes
Controls-Related Classes
Core Library
Engine-Related Classes
GUI-Related Classes
Node-Related Classes
Pathfinding-Related Classes
Physics-Related Classes
Plugins-Related Classes
Rendering-Related Classes
Utility 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.


NormalCombiner is a simple tool used to combine two normal maps with the correct vector summation. This cannot be done right in traditional 2D editors due to a representation of normal components when they are stored in color channels.

A normal can have negative components as well as positive ones. Therefore, its zero is offset by 128:

  • Values from 0 to 127 are considered negative,
  • 128 represents zero,
  • Values from 128 to 255 are considered positive.

NormalCombiner module


Combining two normal maps is very simple:

  1. Load the first normal map by clicking Load Base.
  2. Load the second normal map by clicking Load Bayer.
  3. Adjust Tile and Scale options for combining on the right pane of the ResourceEditor window.
  4. When you are satisfied with the result, click Save.

Display Modes

NormalCombiner can preview normal textures in two display modes. To switch between them, choose the mode in the drop-down list in the upper left corner of a window.

  • Normal to display the three-component normal map
  • Light to check how the normal maps would look under the lighting. Move the mouse cursor over the texture to change the position of a light source.

Light mode

Light mode

Combining Options

Load Base Load a background normal map. This normal map is used as a tangent-space basis for a layer normal map.
You can also load the normal map by pressing Ctrl+O.
Load Layer Load a normal map to be laid over the base one. If they have different dimension, the layer map will be stretched. This normal map can be adjusted unlike the base normal map that stays unmodified.
You can also load the normal map by pressing Ctrl+L.
Reload Reload a normal map.
Clear Clear a normal map.
Reload All Reload both a base and a layer normal map.
You can also reload resources by pressing Ctrl+R.
Info Display name and format of loaded textures in the upper left corner of the viewport.
You can also enable the option by pressing I.
Triangles Display a grid over a texture.
You can also enable the option by pressing T.
Tile Tiling factor for the layer normal map. The higher the value, the more times a layer map will be tiled.
  • The tile cannot be lower then 1.

Tile = 1 Tile = 5
Tile = 1
Tile = 5
Scale Visibility scale for the layer normal map. The higher the value, the more visible its colors are, because they are multiplied by the set value.

Scale = 0.5 Scale = 5
Scale = 0.5
Scale = 2
Save Save a combined normal map.
  • Two component — save a normal map in RG format. (The third component will be restored by the engine at rendering time). If unchecked, the normal map will be saved in RGB format.
You can also save a normal map by pressing Ctrl+S.

Supported File Formats

Supported formats of textures:

  • Targa (.tga)
  • Portable Network Graphics (.png)
  • JPEG (.jpg)
  • Photoshop Document (.psd)
  • Direct Draw Surface (.dds)
  • Portable Pixmap (.ppm)
  • Portable Graymap (.pgm)
  • High Dynamic Range (.hdr)
  • Silicon Graphics Image (.sgi)

Hot Keys

  • Ctrl+O — load a base normal map.
  • Ctrl+L — load a layer normal map.
  • Ctrl+S — save the combined normal map.
  • Ctrl+R — reload all resources.
  • I — toggle texture info.
  • T — toggle a grid.
Last update: 2017-07-03
Build: ()