We spoke to senior 3D artist Ana M. Rodriguez, a specialist in texture and shaders about getting started with PBR. Her most recent work was for Bioshock The Collection series and you can check out her portfolio on Artstation.
What is PBR texturing?
Physically-based rendering (or PBR) is a real time rendering technique which consists basically in using realistic illumination with real-life based materials to make them respond in an accurate physical way in order to represent lifelike environments/materials. So if you are going to create an object using a PBR material you have to be very careful to understand how this material should work with the light (with a programmer support) and both parts have to set up charts for the correct material behaviour (the way they respond to light) and try to follow this approach to maintain a general believable cohesion.
Working in a PBR material system is interesting from an artist point of view because you have the ability to give to your objects/environments a real-life behaviour without compromising the looks of them.
To understand the concept without getting a headache I recommend this Marmoset PBR Theory article (https://www.marmoset.co/toolbag/learn/pbr-theory) made by Jeff Russel very easy to understand from an artist point of view.
Also this thread in Polycount with a bunch of related links about the subject: http://wiki.polycount.com/wiki/PBR
Can you walk us through texturing with PBR?
Making textures in PBR is not different from how the textures were done previously, at least not in its initial approach (select a material, searching references and studying how it reacts to light). The essential difference when it comes to tackle a PBR pipeline is in how the material is broken down in the different maps that compose it (albedo, roughness, metalness …), that is to say, in the approach of a texture with diffuse / specular / normal. The diffuse map has a great importance, an almost “pictorial” importance could be said, while in PBR the Albedo (equivalent to the Diffuse map) is a more disaggregated component of the final material so it must be treated smoothly, without shadows and without adding over information that increases the noise to the map and prevents the light from working well with the other channels. It is very important to treat each map in isolation in the PBR and get to know well what effect are you looking for.
What are the benefits and shortcomings of using PBR?
The most obvious benefits of using PBR for me are that if an object is elaborated in PBR correctly following the guide of its material, it won’t matter in which environment map you are placing it or which are the lighting conditions. This object will respond realistically, credible wherever you are (in full sunlight, in a garage or in a swamp). This is tremendously important in a game production since it often facilitates the reuse of the same object/texture in different environments without adding an extra work for artists.
With that said, perhaps the only disadvantage I see with the PBR is that it is easy to believe that creating a basic material everything is already done. Considering how tremendously easy it has become to put a simple base material on an object it’s also easy to fall into the temptation of finishing texture faster, not paying attention to the details and resulting with a flat and uninteresting material.
How can you get the most realistic textures possible without increasing game rendering times?
In order to get the most from the textures without compromising the gaming experience (with never ending loading times) one of the most common solutions is including a texture map in every RGBA channel (following a previously accorded pipeline guide). For example AO in the red channel, metalness in the green channel, roughness in the blue and using the alpha channel for the emissive map. In addition to that you can put the displacement map in the alpha channel of the normal. I’m not saying this is the best way, is one of the posible combinations. It all depends in your compression pipeline and the nature of the project you are working on. This will help to get the most from the least possible resources.