What are textures?
A texture is simply a bitmap image that contains information.
What do they do?
In the world of 3d, textures can do a variety of things from storing colour information, storing a numerical value between 0 and 1 (Used for glossiness or height information) or 3 values of 0-1 in the case of a normal map, in which RGB correspond to the XYZ coordinates of a surface normal. You can of course use RGB to store colour information that people will see. Having one texture on it’s own is unrealistic, plain, and just looks like a plastic surface with a picture on- so textures are often used together to create ‘Materials’.
The size of a texture is determined by its resolution. The resolution is how many pixels are along the side and top of the image
Here are some different types of textures and their purposes.
This stores basic colour information, not much to say about it. The colour map is what is going to be noticed first by a player, and is the most important. Here are a few examples from my own work:
A diffuse map typically stores it’s colour information through 3 channels – Red, Green, Blue. Sometimes an Alpha channel is used, but that is usually ignored for the time being and added later on via another map.
A specular map controls how shiny a surface, or part of a surface is. This can be used to replicate materials with different properties. For example, polished wood will be a lot shinier than dull wood. Shiny metal like stainless steel will be a lot more reflective than industrial iron. Specular maps are used if specific parts of a texture need to be shinier than others, such as stainless steel with some dirt on the side – the dirt will be less reflective than the steel. If a material is wet, it will be more reflective than a dry material. The map itself is a greyscale image – the lighter parts being more reflective than the darker part. Here is an example from the postbox I made.
I made the paper/decals shinier than the rest of the metal, made any exposed metal less shiny, while making rust the least reflective.
A specular colour map is used to control the colour that is reflected. Using the specular colour map, you can have a shiny blue surface that reflects a red tint. It’s useful for getting that little bit more control over the colour and reflectivity of your model.
A bump map is a greyscale image that gives the illusion of extra height on the mesh without changing the geometry itself. The technique of bump mapping was first introduced by James Blinn in 1978. Bump mapping uses a greyscale image to determine work out the height of a point on the model and calculate the surface normals around it. A value of 0.5 on a bump map (Middle grey) doesn’t change anything, however, anything lower will appear to have been pushed into the model and anything higher will appear raised. This means that the areas raised or lowered will cast shadows. Bump maps will often only store 8 bits of colour information – only 256 shades of grey. Bump maps are easy to create in Photoshop as a result.
A normal map is very similar to a Bump map. Instead of working out the surface normal direction from a height map, A normal map directly modifies the surface normals, leading to more predictable results. A bump map uses Red, Green, and Blue to work out what direction the surface normals should be facing along the X, Y, and Z coordinates respectively. The end result is much like that of a bump map. Normal maps are much harder to create in Photoshop, so they are usually created by baking high poly detail onto a low poly object. Here is a picture comparing a normal map to a bump map.
A displacement map is almost identical to a bump map, with the main difference being that a DM will actually change the geometry at render time and increase its resolution. The advantage of doing this instead of directly adding the detail to the mesh is that it keeps the main mesh resolution more manageable later on if you wish to go back and make any changes or rig the model. A displacement map is often used in conjunction with other maps such as a normal or bump map. The displacement map will handle all of the larger details by modifying the geometry, while the bump/normal map will add smaller detail in between.