Normal Map Creation in The GIMP

From Valve Developer Community
Jump to navigation Jump to search
Underlinked - Logo.png
This article needs more Wikipedia icon links to other articles to help Wikipedia icon integrate it into the encyclopedia. Please help improve this article by adding links Wikipedia icon that are relevant to the context within the existing text.
January 2024
English (en)Русский (ru)Translate (Translate)

To create a normal map using GIMP, download the Normalmap plugin, installing it per the instructions in the readme file.

Tip.pngTip:The plugin can also be used to create dudv and height maps

Step by step

Place the windows in a useful way

After restarting GIMP, open a copy of the texture you want to create a normal map for and click:

Filters → Map → Normalmap...

Before starting, you should click the 3D Preview and place it next to the normalmap window. It will automatically update when you change your settings and will be a great help checking the results in GIMP. Select a shape similar to what your texture will be placed on ingame (e.g. a texture for brushes fits onto a cube whereas a modelskin might look better on a sphere). Make use of the UV scale to find a good setting. Now focus on the Normalmap window again. These are the most useful settings:

The 3D Preview is used to check the settings
  • Filter - different ways to calculate your normal map. You'll have to try out which one works best for your texture
  • Minimum Z - the lowest height on your normal map
  • Scale - Use this to control the height of your surface. Results change when you choose a different filter
  • Conversion - Let's you choose what is used to create the normal map. Max/Min RGB or only one color channel can be very helpful sometimes

Checkboxes:

  • Wrap - Normal map will pattern seamless. Definitely use it for map textures!
  • Invert X/Y - If your normal map seems to be upside down, this will help

Check the 3D Preview from several angles, also move the light around. When you've found the best setting, hit OK and your texture is converted to the normal map!

Before it is ready to be used, you will need to fine tune the results. GIMP considers RGB color 127,127,255 (#7f7fff) to be flat, while the Source engine considers 128,128,255 (#8080ff) to be flat. This means that you will have to increase every pixel in your image by 1 unit red and 1 unit green. To adjust this, perform the following steps.

  • Make sure that you have the appropriate layer selected (there should only be one)
  • Go to the Channels tab and deselect the Blue channel (leave the Red and Green channels selected)
  • Go to the Color Balance Tool. Image menu →†’ Tools → Color Tools →†’ Color Balance
  • Leave the settings on "Midtones" and adjust the Red and Green values both up to 1, but leave Blue at 0.
  • Click "OK" to complete the adjustment.

After fine tuning it, can either go with that right away or rework it by hand. For example, you could duplicate the layer and use some overlay effects (Dodge, Addition, ...) or paint on the texture yourself if you want to create a flat part. (Again, RGB 128,128,255 (#8080ff) is flat in the Source engine.)

Normal map was reworked by hand.