Home Technical Talk

PBR Question ?

polycounter lvl 8
Offline / Send Message
nastobi123 polycounter lvl 8
PBR Noob here, been reading things about PBR but I'm confused as to why the metallic surfaces reflects tinted light ?

Replies

  • [Deleted User]
    Offline / Send Message
    [Deleted User] insane polycounter
    The user and all related content has been deleted.
  • nastobi123
    Offline / Send Message
    nastobi123 polycounter lvl 8
    cool man, will be reading it tonight. do you happen to know any collection or dump tutorials about PBR in Polycount ?
  • [Deleted User]
    Offline / Send Message
    [Deleted User] insane polycounter
    The user and all related content has been deleted.
  • BagelHero
    Offline / Send Message
    BagelHero interpolator
    A collection you say....
    http://www.polycount.com/forum/showthread.php?t=136390

    But the Toolbag 2 tuts cover it super well. iirc this just has a bunch of other links and compiled info, some helpful and super accurate, some less so, and some examples. ;)
  • nastobi123
    Offline / Send Message
    nastobi123 polycounter lvl 8
    Read it. Its actually really really helpful (toolbag tut) thanks guys
  • danjohncox
    Offline / Send Message
    danjohncox polycounter lvl 7
    Just bear in mind with the toolbag setup, Unreal deals with this system (PBR) in a rather different way. Still similar but it treats metals and non metals VERY differently where as marmoset is more of a sliding scale from dielectric to conductor.
  • almighty_gir
    Offline / Send Message
    almighty_gir ngon master
    danjohncox wrote: »
    Just bear in mind with the toolbag setup, Unreal deals with this system (PBR) in a rather different way. Still similar but it treats metals and non metals VERY differently where as marmoset is more of a sliding scale from dielectric to conductor.

    I'd be interested to hear just how differently we treat the metallic workflow to Unreal. Could you elaborate at all?

    We have a material preset for Unreal materials in Toolbag, and if we can improve it we'd love to know how.
  • EarthQuake
    We support metalness maps, roughness maps (simply inverted gloss maps), and the GGX specular workflow, as of 2.05 or so you can create shader setups that are nearly identical to UE4 in TB2.

    [vv]101442486[/vv]
  • nastobi123
    Offline / Send Message
    nastobi123 polycounter lvl 8
    materialref02.png
    stupid question, so in pbr, we get rid of the spec right ? and replace it with reflectivity ?okay, so does white (or linear colour) in the reflection part means that it reflects the same colour as the light source ?
  • EarthQuake
    "Get rid" is the wrong way to think about it. Specular reflection intensity is the same thing as reflectivity, both define the amount of light an object reflects. Even with the metalness workflow we dont "get rid of specularity", its simply defined in a different way (for metals, in the albedo map, for non-metals, at a fixed 4% (linear) value).

    But yes, white = 100% reflection/reflectivity, or an object that reflects the light that hits it completely without absorbing or diffusing any of the light.
  • nastobi123
    Offline / Send Message
    nastobi123 polycounter lvl 8
    ahh, okay. For my understanding reading all of this. For the metalness workflow, we don't generally use Albedo right ? cause its so shiny that it just reflects light ? (Conductors)
    For spec workflow, we pretty much use Albedo ? (Insulators)
    So its either one or the other? mutually exclusive ?

    am I getting there or something ? Just need feedback from the pros.

    EDIT : Thanks EQ, you the man !
  • EarthQuake
    Yeah, you're confused there. Both the specular and metalness workflow use albedo maps.

    Give this a read if you haven't yet: http://www.marmoset.co/toolbag/learn/pbr-conversion
  • nastobi123
    Offline / Send Message
    nastobi123 polycounter lvl 8
    thanks for the link. Really helped.

    So, in the metalness workflow, spec + gloss = metalness map ? so 2 in 1 ? much more efficient

    In the pic above (reply #10) would you say that in a nutshell it is a specular workflow ? spec map = reflectivity map right ? then we use gloss/roughness to define what kind of material it has.

    But one thing I noticed, in the gold and chrome sphere, the albedo is black so pretty much when it comes to metallic(chrome) surfaces, the reflected light pretty much defines the "colour" of the object ?

    Sorry for asking too many questions. again, thanks for the links.

    Cheers,
  • BagelHero
    Offline / Send Message
    BagelHero interpolator
    So, in the metalness workflow, spec + gloss = metalness map ? so 2 in 1 ? much more efficient
    Nope. Not at all.

    Check these tutorials specifically:
    http://www.marmoset.co/toolbag/learn/pbr-theory
    http://www.marmoset.co/toolbag/learn/pbr-practice

    Metalness maps are just a mask that defines what materials are metal (white) and what materials are non-metal (black), and automatically assigns accurate-enough specular values for those areas, in the case of metal areas taking the color to be reflected from the albedo.

    It doesn't replace gloss.

    EDIT: This one is right enough in practice, though the logic you have isn't technically what's going on exactly, from how you explained it haha;;
    But one thing I noticed, in the gold and chrome sphere, the albedo is black so pretty much when it comes to metallic(chrome) surfaces, the reflected light pretty much defines the "colour" of the object ?
  • EarthQuake
    In the metalness workflow, diffuse + specular = albedo map (which defines the color regardless of material type). The metalness map itself defines which areas are metallic and which areas are not (generally pure black or white values in the map).

    The last thing you said is pretty much correct.

    Pure metals reflect nearly all the light that hits them, so their appearance comes from the reflectivity. So, the albedo is used to store the specular color for metals.

    Non-metals reflect very little, so most of their color comes from diffused light, so the albedo map is used to store the diffuse color for insulators.

    The metalness map then simply tells the shader how to treat the albedo map, by tagging materials as metals or insulators, which determines whether to pull the diffuse content or the specular content from the albedo. Its basically just a way to optimize the data and store both diffuse and specular information in one map.

    A gloss or roughness map defines how rough or smooth the surface is, which determines how broad or narrow the specular reflection highlight is. With PBR shaders, this map also determines how bright or dim the highlight appears, because of energy conservation. The base principal of energy conservation states that an object can't reflect more light than hits it, so rougher surfaces have broader, but dimmer highlights. These surfaces are not less reflective though! The light is simply spread over a larger area which gives a dimmer appearance.

    Some would say that gloss maps replace spec maps, and in some ways they sort of do, a lot of the small surface detail like scratches and such make more sense to add to the gloss/roughness map, but that map doesn't define the reflectivity directly, so it doesn't replace the spec map.
  • nastobi123
    Offline / Send Message
    nastobi123 polycounter lvl 8
    ahhh, I get it.

    So we use metalness method for objects with the majority of it being or looking metal so we use this method to save memory and time ? instead of plugging in different maps ?

    kramer-mind-blown.gif

    EDIT : Thanks :D
  • EarthQuake
    Its mostly about memory savings, yes. The metalness workflow isn't more accurate or anything like that. Though some feel there is a benefit or simplification in the workflow when you author the diffuse and specular content in the same map.

    If your texture is all metals or all insulators, you don't need to use a metalness texture at all and can use a constant 0 or 1 value, so this saves even more memory.
  • JedTheKrampus
    Offline / Send Message
    JedTheKrampus polycounter lvl 8
    I personally prefer the specular map workflow myself when I can use it, as what you would do to describe transitional areas like partially rusted metal or metal with a thin, non-uniform layer of algae on top is more consistent with your expectations. You can also always depict gemstones which can be nice. To me the memory saving between a more traditional specular color map and a channel-packed masks map with one channel for a metalness mask and another for a secondary specular map for specular occlusion is really not worth it. You can get OK results without the secondary specular map so maybe if you need to optimize things later you can repack things, but for a portfolio piece you should generally use the secondary specular in UE4 (in my opinion.)
  • EarthQuake
    Yeah the metalness workflow uses less texture memory and the specular workflow is more flexible as it allows you to represent materials with a wider reflectivity range.

    Its important to note that the secondary specular input in UE4 is not a specular map in the traditional sense, what it is, is a map that multiplies the reflectivity for non-metals. This is handy if you have an insulator that is less reflective than the 4% baseline (like skin) but in most cases is not needed.
  • nastobi123
    Offline / Send Message
    nastobi123 polycounter lvl 8
    thanks people ! :) really helped a-lot. Gotta save up to buy TB2 :)

    though does xoliul classify as a PBR shader ? Gonna get UE4 next month.
Sign In or Register to comment.