BACK TO: 3D MODELLING OVERVIEW
Introduction
The next logical step in your asset creation pipeline is texturing and to ensure you get the most out of your textures it is important to bake your model first. Not only will this allow you to add more details at no additional performance cost using the high to low poly workflow, but it'll also produce a set of texture maps the texturing software will use to procedurally generate additional information such as the world position, thickness and curvature of your model.
The aim of this blog is to provide a brief introduction to the following :
- Available software
- Baking
- Texel Density
- Texturing
- Texture maps
Software
Traditionally textures were generated by artists manually using photographs or digital painting in programs such as Adobe Illustrator or Photoshop but beyond the last decade PBR (Physically Based Rendering) software has become available, allowing for procedural and algorithmic texture generation.
The following are typically the most popular tools for texturing :
- Adobe Photoshop
- Adobe Substance
- Quixel Mixer
- GIMP
- Blender
Baking
If you are using the high poly to low poly workflow for your model then the next necessary step is to bake your high poly model onto your lower poly model. As mentioned above you may need additional software to perform this, such as Marmoset Toolbag or Adobe Substance.
The baking process in 3D modelling and texturing is a technique used in the High poly to low poly workflow. It is a way to transfer the detailed information from a high polygon model (high poly) to a lower polygon model (low poly) so that the low poly model can have the same details as the high poly model without having to have the same number of polygons.
During the baking process, the high poly model is used as a reference to generate maps such as normal maps, displacement maps, and ambient occlusion maps. These maps are then applied to the low poly model, giving the low poly model the same details and lighting information as the high poly model.
After you've created your high poly and low poly models, the process of baking typically involves:
- Using a baking tool to transfer the detailed information from the high poly model to the low poly model by rendering the high poly model and projecting the details onto the low poly model.
- Applying the generated maps to the low poly model to give it the same details as the high poly model.
More information on the process of baking can be found here : (2) Baking Maps Explained - YouTube
Texel Density
Texel density refers to the number of texture pixels (texels) per unit of area in a 3D model. It is important in 3D modeling and texturing because it affects the level of detail and clarity of a model's textures, especially when viewed up close. A higher texel density means more detailed and sharper textures, while a lower density results in blocky and blurry textures. In order to achieve a good balance between texture quality and performance, it is important to set the correct texel density based on the desired level of detail and the intended use of the model.
This should be set during the UV unwrapping stage of the 3D modeling process where the artist assigns the correct amount of texture space for each surface area of the 3D model. The texel density can be controlled by adjusting the scaling of the UV islands, which represent each unique surface area, in the 2D UV map. By increasing or decreasing the scale of the UV islands, the artist can adjust the texel density and determine the final level of detail in the textures. This can be particularly useful when you want specific parts of your model to have a higher level of detail but keep in mind inconsistent texel density across a whole model can be quite noticeable and break immersion quickly.
Texture Maps
One important aspect of texturing is the use of texture maps, which are 2D images that are used to apply specific types of information to a 3D model. Some of the most commonly used and important texture maps include:
-
Roughness map: This map is used to control the roughness or smoothness of a surface. The darker the pixel, the rougher the surface will appear. This map is often used to create variations in the surface of a material, such as a rough surface on a rock or a smooth surface on a metal object.
-
Metallic map: This map is used to control the metallic properties of a surface. The brighter the pixel, the more metallic the surface will appear. This map is often used to create metallic surfaces such as gold, silver, or steel.
-
Ambient Occlusion map: This map is used to control the amount of ambient light that is occluded or blocked by the surface of an object. The darker the pixel, the more occluded the surface will appear. It's often used to create more realistic shadows and crevices on an object, making it appear more detailed and three-dimensional.
- Other maps included Height, Emissive and Opacity. Take time to familiarise yourself with these as they too can be crucial during the texturing process.
Texturing
Texturing is an entire discipline in itself and is a crucial part of the creation pipeline. Many studios even employ dedicated texture artists to work solely with texturing. It involves applying colors, textures, and other surface details to the surfaces of 3D models, which is then projected onto the 2D coordinate system of your UV map and then translated onto the 3D model by the engine.
It is crucial to employ the same design and conceptualization phases to your texturing as you did for your model, to ensure the closest level of accuracy you wish to achieve. You should also take time to study how certain real life materials behave when interacting with light, as understanding this and how it translates into texturing will help to assist you in achieving a higher level of fidelity for your textures.
Texturing involves using techniques such as adding image maps, procedural textures, and material channels to add color, detail, and depth to 3D models. Image maps are pre-created images applied to surfaces, while procedural textures are generated algorithmically. Material channels control material properties like roughness and transparency. These techniques can produce visual effects like bump mapping, reflections, and transparency for more realism.
These effects, when combined with the right textures, can greatly enhance the visual quality and realism of a 3D model.
For a good introduction to the techniques and capability of texturing check out this link:
After completing the texturing stage and exporting out your desired texture maps they're ready to be brought into engine and applied to your imported model, it's advisable to do this to check how your textures appear in engine, as engines and texturing programs can perceive and present colours and light differently.
If you wish to have your model animate, you'll want to continue to the next blog where the process of rigging, skinning and animation is covered.
Ryan's top tips:
-
Check out Megascans (free to anyone registered with an Epic Games account) that has an entire library of high quality image maps and materials that you can download and add to your texturing projects.
-
Although regarded as the industry standard for texturing, Adobe Substance can be costly at almost £440 a year. Quixel Mixer is a suitable and free alternative and also allows you a direct link to Megascans entire library of materials and textures.
-
Both Substance Painter comes with a large selection of materials and smart-materials that can be placed directly onto your baked model. You should experiment with these and then dissect the layer stack to understand how each of the different layers are engineered to produce the final result.
-
While the actual geometry of your low poly model may be sharp edges, remember that in real life there is seldom found anything that has completely sharp edges. If you're aiming for realism pay close attention to beveled edges and aim to add these on your high poly model for baking onto the low poly.
-
The art of good texturing, especially when trying to recreate almost photo-realistic quality, is to effectively build layers of detail up, such as a good variation of roughness that is topped off with some dirt, dust and scratches. However there is a fine balance to be had when attempting to achieve high fidelity textures, sometimes subtle details are the most effective where as other times you may find exaggerating some details provide a more aesthetically pleasing result. Experimentation here is key.
-
If using Substance painter with the intention of creating textures for Unreal Engine, it's a good idea to apply a Colour Look up table (LUT) that will make Substance painters viewport more comparable with Unreal Engines. You can find one here : ACES LUT For Substance Painter (gumroad.com)