Featured post

Hello and Welcome to my Blog!

A-k-a, my public learning diary for my 3D animation degree and since graduating, my free-time independent 3D studies and personal projects

Saturday 12 September 2020

Improving Textures, PBR Workflow and Substance Painter

It's been a while since I last posted and that's because I've been dedicating a lot of time to learning Substance Painter and Substance Designer, also delayed by my iMac being a non-upgradable machine containing a graphics card unable to run Substance...

Textures have always been a weak spot for me and I realise now that's because I never really understood them beyond painting a UV map in Photoshop and tweaking Maya's shader settings. I'll cut to the chase by showing the result and explain after how PBR workflow and Substance Painter helped me achieve it, in comparison to the textures I created in Photoshop back in December 2016. 

(Left: PBR textures, HDR lighting, rendered with Arnold in 2020. 
Right: Non-PBR textures, Maya lighting, rendered with Mental Ray in 2016).
 
 


PBR Workflow:


PBR stands for Physically Based Rendering, it aims to realistically and accurately simulate light from the real world and how an object would react to it. PBR is increasing in popularity, especially in the games industry. Substance Painter is a programme created by Adobe that allows you to correctly create and author both PBR and Non-PBR textures.

Both Substance programmes light your scene using a selection of HDR (High Dynamic Range) lighting maps. HDR images are saved as exr files and contain real-world lighting information, renderers use that information to replicate real-world lighting digitally. PBR texturing means that when you render your object, it will look correct under all lighting conditions i.e. indoor, outdoor, daylight, sunset, night time, overcloud, in a forest or cave etc. 
 
I'm of the understanding that non-PBR textures are similar as in you have the colour, metal/spec, rough/gloss maps, but they are not authored with the ability to react to HDR maps like PBR maps would, in other words they are not designed to look realistic and will work better in scenes with artificial/designed lighting.

In texturing there are two main workflows, Metal-Roughness and Specular-Glossiness. Both workflows use Ambient Occlusion Maps, Normal Maps and Height Maps. (If you want to know what each map is for, there is an article linked further down).

Screenshot taken from: https://www.youtube.com/watch?v=ueC2qGzWrgQ

Metal-rough is the favourite workflow among artists because it is less prone to F0 errors. (F0 = fresnel reflectance value). When light hits an object, it does so straight on at a 0 degree angle, light being reflected back at a percentage creates a specular highlight. This is the F0 value. Non-metals such as wood tend to have a F0 value of 2-5%, metals on the other hand range from 70-100%. The specular-glossiness workflow gives you more control over F0 unlike metal-rough. For more information on the two workflows and F0, watch the following video from Substance Academy: https://www.youtube.com/watch?v=ueC2qGzWrgQ

When revamping my scuba, I chose the metal-rough workflow as it made more logical sense to me. However, if I were to texture something like a creature I might choose the Specular-Glossiness workflow. My favourite thing about substance painter is that it gives artists the ability to paint directly onto their models and UV maps simultaneously and view the results in real time. You can also switch on and off which layers apply to which map types aka channels, and when you need to, isolate them. Below are my base colour, metalness and roughness channels isolated. 


In the metal channel, white represents what is metal, the darker colours represent what is not metal such as dirt and rust. In the roughness channel, black represents how shiny the texture is and the white represents how matte/non-shiny that texture is - rougher elements like dirt and rust appear white. I know glass is a dielectric and should appear black in the metal channel, the reason it appears white is because for the glass I worked with a glass preset as my starting point. It had mostly the look I was going for, just needed a few tweaks, its metal preset was white (value of 1) and changing it to black destroyed the look altogether.


Individual Map Explanations


For an explanation of the individual maps and a bit more on PBR and Non-PBR, see this great article "Texture Maps: The Ultimate Guide For 3D Artists" at: https://conceptartempire.com/texture-maps/

Plugging Textures into Maya Arnold


For help plugging your maps into Maya and rendering with Arnold, here's a really good article from Substance Academy that I used. Don't forget, if you don't use the same HDR map as in substance then it won't look the same in Maya/Arnold:

PBR Render (not game) Engine Compatability Chart: (Not my Chart)



No comments:

Post a Comment