With the new generation of games comes a new way to render. Physically based rendering or PBR is the exciting new trend in real time rendering. With this shading system there’s no more fudging your textures to fake realistic looking outcomes the work is done for you. Well not quite. You still have to make the textures and build the materials but now using Albedo, Microsurface and Reflectivity maps the shaders give a physically accurate result. This means that as long as you know the physical properties of the material you are trying to produce then you can get a realistic result. Knowing whether the substance is metallic or dielectric, how rough the surface is on a microscopic level and the base surface colour of the object is (without any light information) is all you need to know as an artist to produce almost true to life renders.
It’s not something that comes without practice though. Being able to produce textures that truly represent these values is a skill. As random as the world seams everything happens for a reason and it is this organised chaos that needs to be reflected in your textures to get a truly realistic finish. Scuff marks, grime, oil spills, finger prints, scratches need to be done with purpose or you’re going to end up with materials that visually look good but don’t actually represent realistic surfaces.
To practice making textures that use PBR shaders I made a series of different tiling materials in Unreal Engine 4. This not only gave me the opportunity to create realistic shaders but also play with UE4 material editor and see what interesting results I could get out of it.
Although most of these materials just consist of the 3 texture samples there are some additions. The best example is the copper material which oxidises over time going from clean copper to green copper oxide. This was the material that I chose to focus on practicing in the editor with. I wanted to produce something that would show off what is essentially 2 different surface properties but have it controlled in one shader.
The transition speed of the oxidisation is controlled by a single scalar parameter meaning it can be controlled per instance of the material as well as being changed at runtime giving a wider versatility to the material.
But not all shaders have to have complexity to them to be effective. The PVC material is one of my favourite out of the 9 but it only uses the 3 texture samples and 1 constant1vector to produce, showing that if you do have a good understanding of the materials properties then you can produce a realistic finish just with the fundamental textures.
Here are how I’ve got all the shaders setup in the material editor:
I am Elliott Pacel, a Technical Artist at Reflections, Ubisoft.