GIMP: Quality Normal Maps
By: Chuey
Introduction
Here is the process I have learned to create great looking Normal Maps using GIMP. These Normal Maps are as close to the actual Bethesda style ones used in TES:Oblivion. I am writing this tutorial because I want to help anyone out there that is thinking of starting to mod or others who wish to improve their moding skills. I will try to make this tutorial as simple as possible. Please post any questions or comments on the discussion page.
Getting Started
Download and install the following applications if you have not done so already. To use this tutorial successfully I recommend using the versions I have listed.
- GIMP 2.2.15 http://gimp-win.sourceforge.net/stable.html
- GIMP DDS PlugIn http://registry.gimp.org/plugin?id=4816
- GIMP NVIDIA Normal Map PlugIn http://developer.nvidia.com/object/nv_texture_tools.html
- BSA Unpacker http://cs.elderscrolls.com/constwiki/index.php/BSA_Unpacker_Tutorial
- DDS Converter 2.1 http://eliteforce2.filefront.com/file/DDS_Converter;29412
Loading Your Image
After downloading and installing all the applications you are now ready to begin. Let’s get started!
- Load GIMP by double clicking the desktop link or clicking Start\All Programs\GIMP\GIMP 2
- Click File\Open (CTRL+O)
- Image Window: Click Dialog\Layers (CTRL+L)
NOTE: Your image must conform to the standard template used by Bethesda. This template requires that your image must contain a single layer for the image called ‘main surface’ and mipmaps.
Preparing Your Image
You must first Merge Down all you layers into a single layer. Then rename this layer to ‘main surface.
- Image Window: Layer\Merge Down (repeat until only one (1) layer remains)
- Layer Dialog Window: Double Click the layer name
- Type: main surface (cap sensitive)
- Press Enter on the keyboard
NOTE: Now you must remove any mipmaps that the image has. This is only necessary if you are creating a Normal Map from an existing Bethesda .dds file.
- Layer Dialog Window: Click the first layer named ‘mipmap#’
- Press the Trashcan icon located at the bottom right ‘Delete Layer’
- Repeat for each of the remaining mipmaps so that all that remains is ‘main surface’
Creating Alpha Channel
You must now add Alpha Channel to your image so that the Normal Map generator can easily distinguish the perception of height contained in your image.
- Image Window: Layer\Transparency\Color to Alpha
- Color to Alpha Window: Click the long white bar next to ‘From:’
- Color to Alpha Color Picker Window: HTML Notation: Enter 000000
NOTE: If entered correctly, the current color will be Black.
- Color to Alpha Color Picker Window: Click OK
- Color to Alpha Window: Click OK
Creating Normal Map
Your image will now look ghostly compared to its original state. This means you have successfully converted gradients of black to your Alpha Channel. Good Job! Now to create the Normal Map!
- Image Window: Filters\Map\Normalmap…
- Normalmap Window: Click ‘3D Preview’ button
- Normalmap-3D Preview Window: Hold Left Mouse Button over the preview window and drag upward so the Quad tilts back.
- Click the light bulb icon at the top left (Rotate Light)
- Hold Left Mouse Button over the preview window and drag toward the lower right until you can see good shadow contrast.
- Click the sphere icon next to the light bulb icon (Rotate Object)
- Normalmap Window: Options – Wrap – Add Checkmark
- Filter: Pull Down Menu – Select 3x3
- Scale: 6.00000
- Height source: Pull Down Menu – Select Alpha
- Alpha channel: Default ‘Unchanged’
- DU/DV map: Default ‘None’
Now go back to the Normalmap – 3D Preview window and see the difference. You should now be able to clearly see the texture in the image. You have successfully created a high quality Normalmap.
- Normalmap Window: Click OK
- Image Window: File\Save As (SHIFT+CTRL+S)
- Save Image Window: Rename your file using the original image name but add _n.tga at the end. [Example] Original: myimage.dds ; Becomes: myimage_n.tga
- Choose the same directory as your original image.
- Click Save
- Save as TGA Window: Uncheck ‘RLE compression’ and Uncheck ‘Origin at bottom left
- Click OK
Converting Your Images to DDS Format
DDS is the image format used by the Gamebryo Element Game Engine for texturing meshes. Your image files must be in the .dds format to render in the game. To avoid confusion and a debugging nightmare it’s HIGHLY RECOMMENDED that you follow the same directory structure as created by Bethesda when saving your image or mesh files.
NOTE: We will not be using the DDS Export PlugIn that was installed into GIMP to convert our files to DDS format. Reason is that I have found problems with using the GIMP converter and HIGHLY RECOMMEND using an external converter. However, using the GIMP converter to import DDS files has worked fine for me.
- Load DDS Converter 2.1: Start\All Programs\DDS Converter 2\DDS Converter 2.1
- Click ‘Options’ located to the right of ‘Output Format’
- Options Window: General\On success\cancel: Uncheck ‘Close DDS Converter 2’
- DDS\DXTc format: Choose DXT3
- DDS\Options: Checkmark ‘Build mipmaps
- DDS\Options: Number: 9
- Click OK
- Use the ‘Look In’ pull down menu to find the directory that your images are saved in.
- Choose your original image file name in the list box.
- Check that the ‘Output format:’ Says ‘DirectDraw Surface (*.dds)
- Click Convert
- Progress Window: Click Restart
- Choose you _n.tga file name in the list box.
- Click Convert
- Progress Window: Click Close
CONGRATULATIONS! You are done. Your original image and high quality Normal Map have been converted to .dds format and are ready to be applied to a mesh. Search this Wiki for tutorials on skinning meshes if you need help with that topic.
Appendix
You can create deeper or shallower textures in the Normalmap Window adjusting the various parameters. I suggest you play around with them to see what they do. Here is what I know about them and how they will effect your Normal Map.
Filters:
- 4 Sample – Very grainy. Use for rock or other rough textures.
- 3x3 – Grainy. Use for scratched metals or other rough textures.
- 5x5 – Smooth. Use for smooth metals and wood.
- 7x7 – Smoother. Use for cloth and furniture.
- 9x9 – Very Smooth. – Use for polished metal and gems.
- Sobel – I don’t use.
- Prewitt – I don’t use.
Minimum Z: The lowest texture height. Make this positive or negative to increase or decrease the texture depth.
Scale: This is the biggest factor in creating texture depth. 1-2 is smooth, 5-8 medium, 10 – 15 rough.
Height source: We are using Alpha Channel
Alpha Channel: Leave this as Unchanged.
DU/DV map: Choose a different map to create some interesting textures.
Options:
- Wrap – ALWAYS USE THIS for textures that will be wrapped to a mesh.
- Invert X/Invert Y – these invert the shading on the specified axis. Selecting both of these will fix a texture that seems to be inside out.
- Swap RGB – I don’t use this on Alpha Channels.
--Chuey 17:07, 17 July 2007 (EDT)