Home Technical Talk

How essential is PBR theory?

node
Offline / Send Message
99499 node
How essential is the PBR theory if I want to just get started on texturing on low poly characters? Is it something I can just pick up along the way, or must I have a thorough understanding of each model to be an effective texturer?

I figure it goes without saying I'll be missing out on some advanced concepts at professional levels but I'm wondering how important it is for getting started. If it makes a difference I plan on painting most of the objects in my game but my environments will obviously have some form of lighting in them.

Replies

  • Alex_J
    Options
    Online / Send Message
    Alex_J grand marshal polycounter
    I'd say focus on art fundamentals and pick  up the technical know-how as you need it. Depends on what you're trying to achieve of course.
  • 99499
    Options
    Offline / Send Message
    99499 node
    Good to know. And I am aiming for lighting and effects similar to FF Dirge of Cerberus for instance. A few screenshots for reference.
    Related image
    Image result for final fantasy dirge of cerberus screenshotImage result for final fantasy dirge of cerberus screenshot
  • pior
    Options
    Online / Send Message
    pior grand marshal polycounter
    • Metalness for metals is white, for non-metals it's black. And metalness for space age powdered metal is a grey inbetween.
    • Roughness for matte objects is bright. Roughness for shiny objects is dark.
    • Plug color maps as sRGB. Plug non-color maps as ... not srGB.
    • Some funky materials might need some boosted and/or colored spec but for the majority of cases you can leave spec at default.

    Aaand that's about all the "theory" you need to know really. Metalness-based PBR makes texturing *extremely* simple.

    Grab yourself TB3, load a model with UVs, create a material using metalness and roughness and fill up the texture slots. You'll realize in no time that it is as simple as it gets.
  • 99499
    Options
    Offline / Send Message
    99499 node
    pior said:
    • Metalness for metals is white, for non-metals it's black. And metalness for space age powdered metal is a grey inbetween.
    • Roughness for matte objects is bright. Roughness for shiny objects is dark.
    • Plug color maps as sRGB. Plug non-color maps as ... not srGB.
    • Some funky materials might need some boosted and/or colored spec but for the majority of cases you can leave spec at default.

    Aaand that's about all the "theory" you need to know really. Metalness-based PBR makes texturing *extremely* simple.

    Grab yourself TB3, load a model with UVs, create a material using metalness and roughness and fill up the texture slots. You'll realize in no time that it is as simple as it gets.
    Awesome, so I don't need to be familiar with the mathematic equations for linear space rendering among other things? I figured that stuff wasn't entirely necessary but wasn't certain. This was the guide I was looking at. https://academy.substance3d.com/courses/the-pbr-guide-part-1
  • pior
    Options
    Online / Send Message
    pior grand marshal polycounter
    Focus more on looking at *actual* assets as opposed to only "researching stuff". There are hundreds of such assets available out there, free and paid.

    Otherwise you'll just be going in circles, wondering about things that turn out to not matter at all in practice. You are a user, not a graphics rendering engineer.
  • Taylor Brown
    Options
    Offline / Send Message
    Taylor Brown ngon master
    Part 2 of that guide applies to the majority of artists
  • Eric Chadwick
    Options
    Offline / Send Message
    Also, FF Dirge of Cerberus doesn't look like PBR at all, more like old-school Diffuse- Specular.

    I'm finding it difficult to see any Specular at all, actually. It looks like most of the shading is painted in the Diffuse.

    You could do similar style scenes in PBR, but if you really want to match that game, use the old worklow.
  • gnoop
    Options
    Offline / Send Message
    gnoop polycounter
    In my experience PBR in games is just a way to make texture art fool proof  for an expense of a bit extra atmosphere heating  by video cards   .   So it's inherently supposed to be less theory involved and just as simple as pior said .   
      
    It's before PBR when you had to figure out how much darker diffuse color of a metal surface  had to be and what specular and fresnel intensity  you had to give it for a given surface roughnesss .





  • 99499
  • 99499
    Options
    Offline / Send Message
    99499 node
    Also, FF Dirge of Cerberus doesn't look like PBR at all, more like old-school Diffuse- Specular.

    I'm finding it difficult to see any Specular at all, actually. It looks like most of the shading is painted in the Diffuse.

    You could do similar style scenes in PBR, but if you really want to match that game, use the old worklow.
    gnoop said:
    In my experience PBR in games is just a way to make texture art fool proof  for an expense of a bit extra atmosphere heating  by video cards   .   So it's inherently supposed to be less theory involved and just as simple as pior said .   
      
    It's before PBR when you had to figure out how much darker diffuse color of a metal surface  had to be and what specular and fresnel intensity  you had to give it for a given surface roughnesss .






    So if I'm understanding correctly, PBR and diffuse are just different styles of lighting to achieve different looks? How can you identify diffuse and specular just by looking? I'm new to this subject so I'm still trying to understand it among other things. Any resources I can learn more about these would be helpful as well.
  • Sage
    Options
    Offline / Send Message
    Sage polycounter lvl 19
    Just look at any of the substance painter tutorials that goes into pbr.  Copy and paste what Pior said and try to recreate the materials on simple objects. Try to recreate realistic materials first since they are easier to art direct.

    spec/gloss workflow is a different shader and is more complicated than metalness roughness...

    metalness /roughness 

    I would also get a copy of toolbag since it make it easy and faster to preview your tweeks as you make your textures.  Maybe blender's eevee is good enough

  • FrankPolygon
    Options
    Offline / Send Message
    FrankPolygon grand marshal polycounter

    Really generalizing here but...

    In the late 90's and early 2000's (back when I started with game mods) there was the diffuse workflow. Diffuse is the color texture with static highlights and shadows painted in. It was really common to use photo mashups as a base texture and paint over everything to unify the static lighting and overall look of the texture. This evolved to artists having photo libraries of materials to make base textures and really working at painting in highlights and shadows by hand. Towards the end I think I remember baking being a thing but it was more of a guide or mask to speed up the painting and material layering in Photoshop. Lights in the game had some effect on the model (making the texture brighter or darker and lighting the broad surfaces of the models) based on distance and direction.

    DOOM 3 was released and everything changed. (I'm sure there were other games that were equally important but this is the one I remember everyone talking about.) The diffuse texture workflow faded out over time.

    In the mid 2000's to the early 2010's there was the diffuse, spec, bump (normal) workflow. Static highlights came off the diffuse map, leaving base colors and some shadow details. With improved lighting shaders the models now had real-time specular highlights. Specular textures controlled the color, width and fall off of the light based specular highlight. Bump and normal maps added surface detail and gave the illusion of depth without needing geometry.

    With the old diffuse, spec, normal workflow it was too easy to overshoot the values and end up with an object that reflected more light than it received. Over time the lighting was improved and stuff like AO was baked out as it's own maps. Surface reflections and overall lighting was passable but inaccurate. The last gen workflow is fading but I still see requests for projects using this workflow.

    In the 2010's to the 2020's it's been the rise of physical based rendering workflows. Albedo (diffuse) is now, for the most part, only base color information. Microsurface (Gloss or Roughness) controls the brightness, width and reflectivity of the highlight. Reflectivity (Specular or Metalness) controls the brightness and color tint of surface reflections. Ambient Occlusion is it's own map. There's some fine differences in the workflows and how things are packed. It all depends on the specific engine and whether it's a metalness or specular workflow.

    Overall, it's my opinion that creating PBR textures is easier than creating last gen textures. The control granularity and each shading component having it's own dedicated texture made it easier to replicate materials accurately. Programs like Toolbag 3, DDO and Substance painter make it easy to experiment with material creation and learn what each input does. There's also a massive library of created and scanned materials available now: some for free and some for sale.

    To reiterate what Alex, Pior and Eric have said: it depends entirely on what your goal is.

    If you want to replicate early diffuse style textures then that's the workflow you'll need to learn. Diffuse style processes still survive in stylized, painterly and hand painted texture workflows. As Alex mentioned, that's a skill set based more on traditional art methods and fundamentals.

    If you want to take art from an older technical process and replicate it in a contemporary workflow then you'll need to learn how to create PBR textures. For an overview of what PBR tendering is and how to approach PBR textures, I highly recommend Joe Wilson's article on the subject: https://marmoset.co/posts/physically-based-rendering-and-you-can-too/
  • 99499
    Options
    Offline / Send Message
    99499 node
    @FrankPolygon
    Awesome post. Very informational, thank you. I have a much better understanding of these things now and I will look into that guide.
     I am using substance painter.
  • Eric Chadwick
    Options
    Offline / Send Message
    In your second screenshot, the barrel on the right makes it pretty obvious to me that the game is using old-school diffuse-only texturing.

    The copper bands have a painted highlight and painted shadow, which are the same all the way around the barrel, and the same on both bands.

    There's an overall darkening of the lower copper band and barrel. That tells me the game is most likely using vertex-based diffuse lighting. The lighting and shading is very "bland" and gradual across surfaces.
  • icegodofhungary
    Options
    Offline / Send Message
    icegodofhungary interpolator
    99499 said:
    pior said:
    • Metalness for metals is white, for non-metals it's black. And metalness for space age powdered metal is a grey inbetween.
    • Roughness for matte objects is bright. Roughness for shiny objects is dark.
    • Plug color maps as sRGB. Plug non-color maps as ... not srGB.
    • Some funky materials might need some boosted and/or colored spec but for the majority of cases you can leave spec at default.

    Aaand that's about all the "theory" you need to know really. Metalness-based PBR makes texturing *extremely* simple.

    Grab yourself TB3, load a model with UVs, create a material using metalness and roughness and fill up the texture slots. You'll realize in no time that it is as simple as it gets.
    Awesome, so I don't need to be familiar with the mathematic equations for linear space rendering among other things? I figured that stuff wasn't entirely necessary but wasn't certain. This was the guide I was looking at. https://academy.substance3d.com/courses/the-pbr-guide-part-1

    As pior implied, you really only need to know the hows to create assets. That is knowing what maps you need for an asset and how to make them. For pretty much 100% of instances you will need:

    - Color map. This is the flat color of your asset. There shouldn't be any shading in this map unless you're doing something stylized like Blizzard games.

    - Normal map. This fakes your micro details. It may be helpful to look up how these are generated and what the colors mean. You don't need to be able to do the vector math involved, just generally understand what's happening so you can correct inevitable errors when you start baking.

    -Metallicity map. This is how metal something is. Black is not metallic at all, white is completely metallic. Bare metals like the blade of a sword will be completely white. Spots of blood/grime/dirt/dust/rust would be less black, or white.

    -Roughness map. This is self-explanatory. In Unreal 4, white is completely smooth like glass, black is completely matte. It's the opposite with metallicity where white is fully metal and black is no metal. In some cases, you can just invert your metallicity map to generate a quick roughness map.

    -Ambient occlusion map  - This simulates the naturally occurring occlusion of light when two surfaces get close together. Helps add some realism if it's not applied with a heavy hand.

    -Emissive map - This is only used if you have parts of your material that glow or emit light.

    That's pretty much all you need as far as texture maps go. There's some other effects you can get by using other maps but mostly it's not needed. You don't need to do calculations for any of these. If you're curious on how you get the values right, it's mostly practice and eyeballing it.

    A good practice is to create a set of standard spheres by which to judge your materials. You create four spheres in your game engine or rendering software. Each sphere has a different material. One will be your dark sphere and it will represent the darkest values possible in your scene. The surface qualities of coal is good for this. You want something completely matte, and as close to black as you can get in a physically accurate way. Nothing in real life is truly black. Then you create a similar sphere, but at middle gray. Then one at "white". Snow is a good example. It's about as white as you can get naturally and fairly diffuse. Your final sphere should be middle gray but completely metallic and smooth. This is your "chrome" sphere. None of these spheres should be saturated with any color.

    With these spheres in your scene, and under the same lighting conditions your assets are, they will be a good standard to judge your materials. The vast majority of surfaces will not be at any of the extremes. A wood table will never be as dark as coal or light as snow. It'll also never bee chrome shiny. Most metals will have some kind of oxidation, dirt, grime, or dust, so they won't be completely shiny. You get the idea. Keeping your values near the center of the spectrum makes lighting your scenes much easier as well.

    Using this method you can develop an eye for what looks correct. No calculations needed. But it does help to understand the general terminology and different meanings of things. Albedo is a surface's tendency to reflect light. Some software uses it as a synonym for color. Diffuse is a surfaces ability to scatter light. A very rough surface would be very diffuse. A smooth surface would be less diffuse. But, again, some software uses diffuse as a synonym for color. Unreal 4 has separate channels for Specular and Roughness. Specular being how "tight" the highlights of your objects are (and I think it influences color as well). I think Maya has Specular for Roughness and a different Specular slot for the highlight behavior. But you'll pick this up as you use different software and practice different things.
  • 99499
    Options
    Offline / Send Message
    99499 node
    @Eric Chadwick 
    Ah, I understand now, its definitely diffuse now that I understand that.
    @icegodofhungary
    Epic toast broham. Thank you very much for your easy-to-follow insight, it is greatly appreciated. I'll definitely be using this as a reference post.
  • fdfxd2
    Options
    Offline / Send Message
    fdfxd2 interpolator
    Honestly between you and me(and a lot of other artists judging from their Sketchfab/Marmoset viewers) not a lot of people really follow the "physically correct" way of doing things.

    For example, the coating of gun metal(parkerised or blued) aren't really supposed to be "metallic", and metallic materials aren't supposed to have colour ranges below 50 sRGB(You've read the guide, right?) but I haven't seen any decent gun models that have their gun metal at Dielectric(Black Metalness) with a dark diffuse or Metallic with a bright diffuse. It always ends up looking... jarring. They just look cooler to me in "inaccurate" dark diffuse with metallic.

    So screw real life. In my props' pocket dimension, dark diffuse metalness is right diffuse metalness
  • Eric Chadwick
    Options
    Offline / Send Message
    Well, in baseline Metalness workflow (without a Specular map) you can't colorize reflections unless you use metal. So how else are you supposed to blue the metal?

    Re: 50 black, there's a great exploration of that which concludes sRGB 30 is the real baseline, not 50.
    Materials Authoring Guidelines : Dark Dielectric Materials
    by Laurent Harduin

    Where'd you hear that 50 is the limit for conductors though? I can't think of any metal that's darker than about 200 or so.
  • fdfxd2
    Options
    Offline / Send Message
    fdfxd2 interpolator
    Well, in baseline Metalness workflow (without a Specular map) you can't colorize reflections unless you use metal. So how else are you supposed to blue the metal?

    Re: 50 black, there's a great exploration of that which concludes sRGB 30 is the real baseline, not 50.
    Materials Authoring Guidelines : Dark Dielectric Materials
    by Laurent Harduin

    Where'd you hear that 50 is the limit for conductors though? I can't think of any metal that's darker than about 200 or so.
    Poor paraphrasing on my end.

    50 is the lower limit
  • Eric Chadwick
    Options
    Offline / Send Message
    I think it's 30. Check the link.

  • FrankPolygon
    Options
    Offline / Send Message
    FrankPolygon grand marshal polycounter
    To build on Eric's point and to confuse the issue further...

    Conductivity of iron oxides and iron phosphates:
    If we're speaking in general terms: rust is red iron oxide Fe₂O₃ (near non-conductive) and bluing is black iron oxide Fe₃O₄ (conductive). So (in broad terms) assigning a metallic value for bluing (magnetite) is correct since it's conductive.

    Parkerizing is a phosphate conversion coating process that uses Iron Phosphate FePO₄ as a protective layer and is susceptible to galvanic corrosion. There are other phosphate coating processes but again we're speaking in general terms.

    Both bluing and parkerizing rely on oil coatings to maximize their effectiveness against corrosion. Given that oil is a liquid and (depending on the type of oil) it can be conductive, so I can see a case for using a metallic value for bare parkerizing and oil impregnated parkerizing.

    I think the biggest issue in accurately representing / replicating bluing and parkerizing is that bluing is traditionally a very smooth and reflective finish where parkerizing is a very rough and porous finish.

    The substance PBR guide:
    (under Creation Guidelines)
    "As regards to brightness ranges, we are mostly referring to dielectric reflected color. In Figure 23, you can see an example where the dirt value has fallen below the correct brightness range. For dark values, you should not go under 30-50 sRGB. The range for dark values could be more tolerant at 30 sRGB and stricter at 50 sRGB. For bright colors, you should not have any values that are higher than 240 sRGB (Figure23)."

    In this case they are talking about the suggested lower limits for the luminance values on the diffuse for non-conductive materials. The reflectance values stored in the diffuse map are discussed in the metalness section of the article and the values mentioned there are in line with what Eric is suggesting.

    (under Corroded or dielectric layer)
    "The opacity of the dirt layer can indicate how much to lower the reflectance value in the base color. There are no hard-and-fast rules here. You are essentially moving from a high-reflectance surface (conductive) to a lower reflectance surface (dielectric). However, the degree to which this transition is taking place may vary."

    In the metalness workflow the albedo (diffuse map) contains diffuse values for dielectrics (non-conductors) and the reflectance values for conductors. The diffuse value of conductors is assumed to be zero and the reflective value of dielectrics is assumed to be a fixed value.

    Artistic implementation of PBR workflows:
    Final machining and surface prep both play a huge role in how these coatings look. Sample World War Two production and it's obvious that late war surface finish (final machining and coating) was absolutely horrific but it was a quantity over quality sort of thing. The general consensus seems to be that (when it comes to art) pure materials and clean surfaces aren't that interesting.

    Again, the whole idea is that (in the end product) we're not dealing with "pure" material values since there will be layers of grease, coatings, dirt and other materials on-top of the base metal values. That is the "artistic" implementation of the PBR system. Rigid adherence to a single point in a philosophy or dogma surrounding a process is about as helpful as the "use more geo" or "quad only" mantras. To quote pior: "You are a user, not a graphics rendering engineer."

    Generally speaking: it's been my observation that poorly done dirt and wear effects drag things down more often than anything else. Poor material separation (mostly base colors and gloss values) is a close second. Overall quality has gone up across the board since the last generation. The artistic implementation of PBR workflows has played a large role in this.
  • poopipe
    Options
    Offline / Send Message
    poopipe grand marshal polycounter
    I think it's 30. Check the link.


    I think it's about 35 in any channel  for specular reflectance (i.e basecolour) on metals where the physics stops working  (yes, this means you cant have pure red etc.) 
    For dielectrics it's about 50 overall luminance before stuff stops making sense

    mileage may vary - very few renderers don't contain huge fudges


  • Eric Chadwick
    Options
    Offline / Send Message
    What do I you mean it stops making sense? 30 sRGB comes out to about 1 or 2 linear doesn't it?
Sign In or Register to comment.