Search public documentation:


Interested in the Unreal Engine?
Visit the Unreal Technology site.

Looking for jobs and company info?
Check out the Epic games site.

Questions about support via UDN?
Contact the UDN Staff

UE3 Home > Unreal Development Kit Gems > Dynamic normal maps
UE3 Home > Materials & Textures > Dynamic normal maps

Dynamic normal maps

Last tested against UDK Apr, 2011
PC compatible


Materials with advanced vertex blending allow level designers to reduce tiling problems on repeating textures, add extra detail such as dirt, rust or moss. In general, advanced vertex blending materials can make a normal looking scene stand out and look amazing. However, if you are wanting to create a material such as stucco partially covering a brick wall, simple linear interpolation just doesn't add enough depth information to the material.

This can be partially solved by creating a height map driven by the vertex blending. This does cause the material to have more depth, but without the extra light information it will still look incorrect. Thus, to achieve the correct result; a normal map should be generated from this height map.

Without Dynamic Normal Maps

In this screen shot, vertex blending allows level designers to blend between two different textures nicely. However, there isn't any real depth information so it looks like paint on the surface of the wall.


With Dynamic Normal Maps

In this screen shot, vertex blending not only allows level designers to blend between two different textures nicely and it will also generate the normal maps accordingly giving the red layer a strong sense of depth.


Material Node Layout

By applying the Sobel Filter, which was also used in Sobel edge detection post process effect, the material is able to detect changes within the height map to form gradient map in the X and Y directions. This can then be appended together to form the R and G of the normal map. Adding this to the normal maps of the other normals will then become the final normal map used for the material.


Related topics


  • Download content used for this gem. (DynamicNormalMap.zip)