Diffuse, Specular and Normal Maps

More information about texturing can be found in our Texturing guides category.

This guide includes pictures of a shotgun model in ZModeler 3 to explain the purpose of the texture maps. All textures used for that model were created in Photoshop. Please note that the real time rendering in ZModeler can not be compared to GTA V. In GTA, the look of the model, in particular the specular texture, highly depends on the shaders used for the model.

The model has a low to medium polygon count (~ 1100 triangles) and relies on textures for many smaller details. This first picture shows the model without any textures.

Diffuse Map

The shotgun's diffuse texture.

The shotgun model with its diffuse texture.

Diffuse textures (often abbreviated "diff") are the main texture for most models, they are used to set the color of the model and add shapes or details such as texts.

Creating your own diffuse maps

Creating your own texture with image editing tools

The most common way to create textures is using image editing tools such as Gimp, Paint.NET or Photoshop to add colors and details manually.

Creating your texture using photos

Some modders also use photos of real items as textures. Depending on the quality of the photo, it is possible to achieve reasonable results, however it is not recommended. Photos often distort colors depending on the lighting of the photo. Additionally, they sometimes include shine, reflections or other light effects, which should be avoided in order to achieve better looking light effects in-game.

Baking textures

Experienced 3d artists often use a process that's called "baking" to create their textures. This is done by creating a model with a very high detail level, including colors and shaders to create shine and reflections. By using rendering tools, it is possible to use such a model to automatically create a diffuse map with realistic shadows and light effects.

Specular Map

The shotguns specular texture. The shotgun with its diffuse and specular textures.

Specular maps ("spec") are used to set how shiny or reflective a part is supposed to be. Typically, specular textures are black and white, dark parts have very little specularity, light parts more. GTA V also supports colored specular maps for specific materials, allowing for more precise adjustments.

The specific effect of specular maps depends on the shader used. For most materials, more red increases the shine of an object, while green makes a part more reflective. Blue seems to increase the overall specularity. For mesh materials, reflective plastic or metal parts tend to have a medium amount of red (usually around 60 to 120) and a medium to high amount of green and blue (often between 120 and 250). Matte plastic or rubber objects usually have a higher amount of red (up to 120, as more red would make the diffuse texture look brighter) and a low amounts of green and blue (often between 50 and 100). For chrome parts, full white or very light grey is usually used together with a black or dark grey diffuse texture.

Creating specular maps

The process of creating specular maps often includes a lot of trial-and-error to test different colors in-game and see if it looks as intended. There are no generators for specular maps, they are typically created by adjusting the colors of the diffuse texture with an image editing tool.

Normal Map

The shotgun's normal map. The shotgun with the diffuse, specular and normal map.

Normal maps are a specific type of bump maps. Bump maps are textures used in many video games to add small details that seem three-dimensional. They are used specifically to add details to mostly flat surfaces without the need to model such details. The performance impact of using normal maps is much lower than when using modeled details, they should therefore always be used if reasonably possible.

Normal maps do not change the actual 3d object. When using a normal map on a flat object, the object will still appear flat when looking at it from the side. When looking at it from the top, the game engine will create reflections and shadow effects based on the normal map, creating the illusion of having three-dimensional details.

Creating normal maps

Creating normal maps from scratch is possible in theory, but it is not recommended. Instead, there are different types of normal map generators available, using height maps or 3d models to render normal maps.

Generating normal maps from a height map Height map used for the normal map.

Height maps are greyscale textures indicating the height of specific parts on a texture. Darker areas are lower, lighter areas higher.

To create a normal map out of the height map, a normal map generator needs to be used. Current versions of Photoshop include one by default, third party plugins are available for Gimp or Paint.NET.

Note that whether normal maps should be flipped depends on the specific models used.

Baking textures

Like diffuse maps, normal maps can also be baked. Instead of a height map, the normal map generator uses the height of a 3d object to generate the normal map. Such a generator is commonly included with 3d modeling applications, such as 3ds Max or ZModeler 3.