What are textures?
Texture mapping is an important process in game development, as it’s like the paintings on your 3D models (or 2D models). Originally referred to diffuse mapping, a method that simple maps all pixels from a texture (2D image) to a 3D surface (wrapping the image around your game object).
Nowadays game developers are able to achieve high level of detail by combining multiple textures to an asset, i.e.: height maps, bump maps, normal maps, specular maps and more. These maps are all variations on the diffuse/ texture map you want to use on your model, and made to provide extra detail on a certain part of the object. Height maps will bake in the height gradients, to make details on heights stand out from you object, while specular maps are made to provide a level of shine to certain parts of your 3D model.
How to apply textures
The process of applying textures can be compared to wrapping a colored paper around a white box. Every vertex in your polygon model has a unique texture coordinate (in 2D models these are called UV coordinates). There are various ways to complete this process:
- The first method is to explicitly assign the vertex points in a 3D modelling software with UV unwrapping;
- The second way is to associate a procedural transformation from 3D space to texture space with materials;
- More complex mappings are not discussed here, as they involve calculating distances along surface to minimize distortion of objects.
Texture mapping is used to map a 3D model surface, the faces of your 3D model, into texture space. By applying UV unwrapping tools your models are able to get flat 2D images, into their skins and live in 3D worlds. In the picture above you see the process of texture UV unwrapping in Blender. We created a cube box, which can be seen in the left window. The right window are all the vertex coordinates, which receive a 2D texture on them.
Different type of textures
As described above, there are various texture types to be used. We will explain there features and specifics of the different texture maps here. Textures all have their own specific needs and behaviors on your models, therefor it’s wise to know about them, in order to apply the correct texture maps for the right usage.
- Color maps;
- Normal maps (bump maps);
- Displacement maps;
- Specular maps (reflection maps);
- Roughness maps (gloss maps);
- Metallic maps.
The color maps are the basis for giving color or patterns to your 3D models will be the color map, often called the base map. This texture will provide the basic color features on your model. It can be a picture, pattern or a single color. This map is used to color your model.
Normal maps (bump maps) are used to make textures stand out in a 3D like way. They provide a level of detail within the base color maps. They are distinguished by their pink colors and will have to be imported as normal maps within Unity. It looks crazy for the human eyes, though your 3d modeling software will understand the purpose of these colors exactly! The colors represent different axis of directions. This will make it possible for Blender (or any other 3D modeling software) to create the bums in your texture model.
Normal maps are perfectly suitable for small to medium sized bumps.
Displacement maps are used to create even larger bumps in your texture models. Often used on ground, rocks and cliffs. The displacement map will actually deform the mesh! Therefor it’s suitable for larger objects and large bumps that require a higher level of detail to it.
Specular maps are useful for creating a level of reflection in your textures, though they are only suitable for non-PBR workflows. The texture map points to the model where (and where not) reflection should be visible.
Roughness maps (gloss maps) are used for PBR-shaders. It directs the shader to the vertex coordinates that needs more (or less) glossiness and should therefor be put in the Gloss or Roughness input field. The terms Gloss / Roughness are intertwine, as they simply invert of one another.
Roughness maps are handy to provide a lot of detail to materials like wood, metal and alike. Make sure to use these to enhance the visual appeal of your model!
Metallic maps are used to provide the details on your textures for what should look like metal, and which parts not. As metal surfaces have a different look and feel than most materials, this map should be used when your objects require a metallic look.
There you have the basics on texture mapping, how to use them in your 3D models (2D models) and the basics on the various types of texture maps. Hoping this information has helped you in understanding the usage of textures in 3d game development, we are looking forward to hear from you in the comment below.