3D Texturing Concepts for Beginners
CGI is becoming cheaper, more accessible, and more widespread. Almost any production, no matter how small, can now potentially include some high-quality VFX. However, that means that filmmakers with non-CGI backgrounds need to have at least a basic knowledge of how it all works so that they can communicate more clearly with their VFX artists. And trust me, as a VFX artist, we greatly appreciate it when directors are able to speak our language. “Can you make it look less CGI?” is not very helpful feedback. The goal of this guide is to explain some of the concepts of texturing in a way the CGI layman can understand. And if you are a fledgling CGI artist yourself, maybe this guide could help clear up some questions you’ve been afraid to ask!
You’ve probably heard terms like materials, textures, and shaders thrown around. And in casual conversation, given the right context, people do sometimes use them all interchangeably. But they aren’t the same thing. So what are they? Very broadly, a material is the real-world thing you are trying to recreate. Examples could be a brushed steel material, a mud material, or a material for a diamond covered in greasy fingerprints. Whatever you can imagine! A shader is something in 3D software that you apply to the surface of a 3D model to give it the look you want. It determines how light interacts with the surface of the model. Different shaders can do any number of complex things such as allowing light to pass through an object like glass, cause light to bounce off an object like chrome, or even cause light to scatter within a volume like smoke.
Shaders often have sliders that allow the artist to control certain attributes of an object like it’s color, it’s transparency, and it’s glossiness. These sliders, called channels, represent numbers from 0 to 1. A very shiny blue ball would have a solid blue color plugged into the color channel, and a value of 1 in the Glossiness channel. But if you want a ball to have a more complex pattern, you would need to plug an image file into the color channel of the shader. Channels that aren’t colors, like glossiness and transparency have a value of 0 to 1, as mentioned before. These numbers can be mapped to colors with 0 being black and 1 being white, and all the shades of gray in between. So our ball can have areas which are more or less shiny by plugging in a black and white image with different shades of gray. We call those image files Textures.
So to sum it up, a material is the real-world surface you’re trying to emulate. And the way you do that is by using textures to control the various attributes of a shader. The shader is what you apply to the surface of a 3D model to make it look like it is made of a certain material.
Around 10 years ago it was like the wild west. Every 3D software had their own shaders which required different types of textures to achieve good results. And the same textures might not get you the same results when used in a different program. These days, most 3D software is programmed using a certain standard called Physically Based Rendering (PBR). PBR is an agreed-upon standard which states that the same settings and the same textures should look consistent across all software. And the standard they came up with is, well, reality! The values are based on real-world scanned information. Hence, “physically based rendering.”
But because life is complicated, there are actually two PBR standards or “workflows.” It’s good to know the difference because you will probably encounter both of these workflows. Especially if you’re a beginner 3D artist. If you’re just a director interacting with artists, this may be beyond what you need to know. But arming yourself with a little extra knowledge never hurts!
The two PBR workflows are the Metallic-Roughness workflow, and the Specular-Glossiness workflow. Neither is better than the other and they both produce the same physically accurate result. The only difference is in which texture maps are used. Let’s look at the more common one first: the Metallic-Roughness workflow.
A Metallic-Roughness shader (sometimes called Metal/Rough) has the following channels:
- Base Color
Base color is self explanatory. It is the color of the surface of the object. It should have no lighting information baked in. Meaning the shadows and highlights are not painted on.
The Normal channel is used to create the illusion that the surface has more detail than it actually does. The more polygons a 3D model has, the longer it can take to animate and render a shot. So, for example, if an artist is creating a pine tree, they could just model a smooth tube for the trunk of the tree, and use a normal map to change the way the light bounces off the surface. The normal map would cause the light to bounce off as if the tree was covered in deep crunchy bark.
Metal reacts with light in special ways, and for that reason, we broadly break down all materials into two categories: Metal and not-metal. One quick example of how metals are different is in how they reflect light. Think of a shiny red plastic ball. Now picture a shiny red metallic Christmas ornament. For non-metal objects, the highlights are the color of the light in the environment. For metal objects, the highlights are tinted the color of the object itself. So the metalness texture tells the software which surfaces are metal and which aren’t.
Lasty, we have the roughness channel. Roughness is the literal physical roughness or smoothness of the material on a microscopic level. In fact we sometimes also call this channel “microsurface.” In the real world, an object is shiny because it is smooth. And an object that is not shiny looks that way because on a microscopic level, it is not smooth. A roughness map is black and white, with darker pixels representing shinier surfaces and lighter pixels representing less shiny surfaces. Think of the way the reflections on a vinyl record spread out into distinctive stripes due to the grooves in the record. It would be too difficult on the software for the artist to directly 3D model all those grooves, and so we use the roughness channel to create that effect. Roughness is also great for creating smudges, dirt, and water spots on an otherwise pristine surface.Grunge Map from GraphicsCrate.com
The other PBR workflow is called Specular-Glossiness, sometimes shortened to Spec/Gloss. A Spec/Gloss shader contains the following channels:
- Specular Color
The Diffuse channel is very similar to the Base Color channel of the previous workflow. The main difference is that everything that is metal will be black in a Diffuse texture. This has to do with how metals are different from every other type of material. We’ll talk about that when we get to Specular Color.
The Normal channel in a Spec/Gloss shader is used the same way it is used in a Metal/Rough shader.
Glossiness is exactly the same as Roughness, only inverted. In a glossiness texture, darker pixels represent less shiny surfaces and lighter pixels represent more shiny surfaces.
The Specular Color channel is the biggest difference between the two workflows. We already talked about how metals are special because they reflect light differently from every other type of material. I already mentioned that for most materials like a shiny red apple, the highlight on the surface will be the color of the light in the room. But on a metallic surface, the highlight will be tinted the color of the object itself. So a red Christmas ornament will have red-tinted highlights. Instead of using a Metalness texture to tell the software which parts of the object are metal, the Specular Color texture will just contain the color information directly. For example, picture a knife with a wooden handle and brass fittings. The specular color of the wood part will be gray while the specular color of the metallic parts will be the color of the metal. Gray for the steel and yellow for the brass.
My hope is that this article will help those of you who are new to CGI to understand some of the basic concepts that you’ll be dealing with as you grow in skill. It is also my hope that those of you who are filmmakers and directors that manage artists will be armed with knowledge to better art direct your teams. Speaking as a CGI artist who has worked in the freelance VFX realm for many years, it is beneficial to get feedback from laymen with no experience in CGI. “That dragon looks too wet” can be helpful feedback because it helps us to understand how our work feels to the average viewer. But having a director who understands the basics of what we do and can speak a little bit of our language greatly speeds up the cycle of feedback and revisions and deepens the understanding and communication between the production and post production teams.
If you find articles like this valuable, leave a comment or email us to let us know. I would love to continue this series and turn it into a resource for directors who are looking to dive into the world of VFX and increase the production value of your films.