If im using a roughness/metallic workflow, would adding in a specular adjustment scalar option to my master material make things inaccurate when it comes to PBR? Should I just make everything the exact same specular value and let the roughness map do all the work? Its a semi-stylized environment that uses PBR for the most part and I sometimes use specular in certain assets to push them more specular overall. Just seeing what the general thought is on this.
Replies
IMO the typical metallic workflow in games just not physically accurate enough for certain kinds of material features. Especially grainy materials which may include shiny grains of sharp shape. Those that are not exactly micro surface imperfections roughness is representing but not big enough to take more than single normal map pixel and dissolving completely in mip levels. Asphalt is a good example . Pretty hard to do right in typical metallic PBR. It sometimes need a slight lift in specular scalar IMO.
Also certain material features like tiny 1pix wide cracks for example needs all the reflecting light be erased from them and just white 255 roughness usully not enough and makes them look kind of fake and plastic.
So it helps for subtle touches sometimes. Depends on PBR implementation . And you can perfectly cope without modifying it at all . It just for small nuances. To bend PBR rules when they doesn't look right.
Agree with gnoop.
PBR is a set of guidelines which help you make content that "just works" in many cases under most lighting situations. But it can certainly be bent to fit your needs, and doesn't work for all material types, just the majority.
I'm in weekly conference calls with rendering engineers, working on PBR standards for glTF, MaterialX, etc. One thing we worked on recently is a Specular extension for the glTF PBR material model, which is made to be energy-conserving and thus physically plausible.
https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Khronos/KHR_materials_specular/README.md
The goal is to help with making surfaces that are non-metallic but have colored specularity. For example some satin/velvet fabrics have colored specular, see this model I made https://github.com/KhronosGroup/glTF-Sample-Models/tree/master/2.0/GlamVelvetSofa#glamvelvetsofa
And here's an interactive demo (try the UI down below to swap the materials) https://sandbox.babylonjs.com/?kiosk=false&assetUrl=https://raw.githubusercontent.com/KhronosGroup/glTF-Sample-Models/master/2.0/GlamVelvetSofa/glTF/GlamVelvetSofa.gltf&cameraPosition=0,1,2&autoRotate=true
Thanks @Eric Chadwick and @gnoop ! Super helpful.