|Build a NextGen Game Car: Part V [Texturing]|
Software: Autodesk Maya
Author: Valentin Nadolu (AMC Studio)
Author Website: http://www.amc.ro
1. The Diffuse Map
The last part of this tutorial will present a simple way to create the textures for this vehicle. I will use as an example the exterior texture of this asset to show an easy and effective way to create textures in layers.
One important thing that I always keep in mind when texturing is that a lot of times, the texture has to be corrected or changed during the creation process. If I just paint all the details on one layer in Photoshop, later a simple color change can be impossible to perform without redoing most of the texture. That is why the texture should be done in layers, by keeping similar types of details grouped together for easy editing.
The base is a layer set which contains one layer for each material/color on the texture. Naming these layers in a comprehensive way is a good idea and will make things easier.
Next layer set up we have the big details in the texture. I used simple shapes and some layer styles to draw the grills. The headlight lenses are taken from a photograph desaturated and pasted as a layer set to Overlay.
After adding the big details, it is time to add some subtle material variation. As this vehicle is new and clean, I only added one layer with a metallic texture set to overlay. To keep everything subtle, the layer opacity was lowered. Also, there is a mask to hide the metallic texture for areas that do not require it. Masking is a good method of hiding detail and it is preferable to deleting as it can be reversed.
The texture still looks flat and lacks depth. To add some variation to the huge areas of blue car paint, I added a new layer of a lighter color, and by using its mask, I blended it with the original one like so:
The texture is getting better but it is not done yet. Adding further detail can be achieved by using the ambient occlusion map baked earlier. Adding it on top of the color texture with the layer set to Multiply will add a lot of detail to the texture, making it fit for use.
This is how the texture looks after adding the AO map.
2. The Specular Map
A specular map defines the intensity of the specular highlight, effectively describing how reflective a texture is. Creating this texture is fairly simple and involves using the color texture as a base and modifying it. This is yet another reason to keep the color texture in layers.
Every type of material reflects light differently, so each area will have to be adjusted to reflect this. Very shiny materials like glass or chrome will have a very light color on the specular texture, usually white. On the other hand, matte materials will be defined by dark colors on the specular map. Pure black is to be avoided as having an area without any specular highlight will make it look very flat in the game’s engine because there will be no highlight to show off the normal map detail. These are the two extremes; the rest of the materials will have their specular color somewhere in between. There are no “standard” values, so the artist has to create this texture by trial and error. Unless specified by design or technical documents, the absolute value of the specular color is not as important as the general contrast of the map. One trick used to enhance the look of metallic textures is to change its specular to a color that complementary to the diffuse map. So here, a reddish specular on a blue color texture will give a nice metallic effect. Another good idea is to enhance the contrast of the small surface details on the specular map to make the specular easier to read. This is the case of the next image, even thought the noise in the texture might not be visible due to the screenshot’s resolution.
3. The Normal map
The normal map base is the texture generated in the last chapter. On top of this I will add the details that have been added in the color texture. To extract a normal map from the diffuse texture, there are two free programs that do the job well.
The first one is nVidia Normal Map Filter which is part of the nVidia Photoshop Plugins (http://developer.nvidia.com/object/photoshop_dds_plugins.html). This plugin uses a height map to generate the normal map. A height map is easy to create by using the color texture as a base. Each pixel will have a grayscale value that represents its elevation. The lighter it is, the more elevated/extruded it is. This value is a local one in the sense that each pixel has its elevation defined in relation to its neighbors. A flat white height map will result in a flat normal map as there is no variation in elevation. Basically, the process of converting a diffuse texture to height map means desaturating the original layer and modifying it to better reflect the elevation of that area.
This is the height map created for the exterior of the car:
Next are some hints about how to use the the Normal Map Filter in Photoshop. The settings explained here refer to the next image.
1. "Invert Y" is necessary so that the normal map will be correctly displayed in Maya using the default settings.
2. The recommended methods of generation are "Average RGB" or "Colorspace".
3. Experiment with the Scale value to obtain the desired depth for the resulting normal map.
This filter has its limitations in the fact that the resulting normal map lacks depth, because there is almost no information saved on the depth (blue) channel of the normal map.
When added depth is necessary or the source image is not a height map but a fully light color texture, like a picture, the program to use is Crazy Bump (http://www.crazybump.com/).
As an example, this is how the tire normal map was created. The base image is this one:
I used Crazy Bump 8.6 Beta which has separate buttons for opening height maps, pictures or normal maps as sources. In this case I used "Open photograph from file". Just as the Normal Map Filter, this program requires some experimentation to better understand how it works. To make it easier, these are the settings used to generate the tire texture:
The resulting normal map from these programs can be added on top of the normal maps previously generated by using Overlay. More than that, Crazy Bump can also generate an ambient occlusion map, so that can be used also to enhance the color texture. This isn’t the case here as the source picture has enough detail to be added to the texture as is.
Finally, here are some screenshots of the final work done in Maya using High Quality Rendering.
VI. Final words:
I hope this tutorial was enjoyable to read and that the information in it is useful for you. The pipeline described here is a very good indication of what is required for a 3d artist to accomplish while working for a Next Gen game and hopefully this will help answer some of the questions people ask when trying to find out more about how ingame cars are made.
VII. About the author:
Valentin Nadolu is Lead Vehicle Artist at AMC Studio since 2006. He is a physics engineering student at the Faculty of Electronics, part of the University Politehnica of Bucharest. He and his team have done vehicle work for such games as Test Drive Unlimited, Mercenaries 2, Saboteur and an yet unannounced Blackrock Studios (a part of Disney’s Interactive Studios) title.
All links for this tutorial:
1. Build a NextGen Game Car: Part I [High-res Modeling]
2. Build a NextGen Game Car: Part II [Low-res model]
3. Build a NextGen Game Car: Part III [UV Layout]
4. Build a NextGen Game Car: Part IV [Texture Baking]
5. Build a NextGen Game Car: Part V [Texturing]