Home General Discussion

Unity wants to know Metal vs Spec PBR workflow

2

Replies

  • Dave Jr
    Offline / Send Message
    Dave Jr polycounter lvl 9
    hopefully i can clear it up a little further for you as well.

    with PBR, there isn't really such a thing of specularity. i know you might think it's productive to think of specularity and reflection as two different things, but really they're the same.

    so with that in mind, in PBR we try to refer to it as just "reflectivity". what you're controlling with your reflective input, whether it's through metalness or "specular" map, is the strength and colour of the reflection when fresnel is at zero (ie: when you're looking straight at it).

    using a full colour reflection map input (or "specular"), it gives you access to the full range of reflective values for ALL materials that are being controlled by this map, regardless of their metallic state. what this typically means is that you'll be painting very dark grayscale values for non metals, with little variance and full colour bright values for metals in this map.

    a metallic map kind of simplifies this workflow quite a bit, by letting you just have one colour map for everything, you paint your diffuse colours for non metals, and your reflection colours for metals all into the same map, and then use a black/white metallic mask to tell the shader "these bits are metal, so use this pixel value for reflection, and these bits are not so use them for diffuse, and assign them a reflective value of 0.04".

    and that's that.

    Cleared a few things up for me there :) thanks!
  • EarthQuake
    oblomov wrote: »
    @Earthquake: Honestly, I don't understand what we're arguing about anymore. :( We seem to agree at 99% and just bicker about details and out of context quotes. I'll just reply to this, which may be the root of our misunderstanding : For reference, I did not claim that it could not be done. I said "It's not easy because it does not work in all cases. Whether those cases are useful is debatable".

    Ah yes, I see that looking back, sorry about that. What was in my head didn't quite match reality.

    Also yeah, we're probably just going around in circles here now. =P If we had this conversation in person we would probably completely agree with each other, ah text is a fickle medium.
  • Froyok
    Offline / Send Message
    Froyok greentooth
    moose wrote: »
    Not sure if it is an option in the menus, but if you add:

    [SystemSettings]
    r.UseDiffuseSpecularMaterialInputs=True

    to DefaultEngine.ini (of your project), you'll get the old Specular workflow in your materials.

    Note that it is a different rendering path and some newer features will not function with it turned on (Subsurface Profiles may not work).
    If you set it in BaseEngine.ini, it will break example content, and will break any content you've created in your current project using base/metallic inputs. Edit the inis in your project :)

    It removes the Base and Metallic material inputs and replaces them with Diffuse and Specular.

    diffusespecular.PNG

    I don't really recommend it, as I'm not sure how supported it will be, but if you want to use it - the option exists right now (and has since the launch of UE4)

    As you mention it's the "old" workflow. I'm not even sure it's properly compatible with the rendering of the engine. Epic calls it a "legacy" feature (mostly because of Fortnite I believe).
  • ZacD
    Online / Send Message
    ZacD ngon master
    moose is working on Fortnite btw ;)
  • Mark Dygert
    Mark, this is a discussion about which input type to use to achieve reflection. not a discussion about the difference in terms.
    How dare you try to keep my barely-related rant out of a highly productive thread =P
  • almighty_gir
  • Froyok
    Offline / Send Message
    Froyok greentooth
    ZacD wrote: »
    moose is working on Fortnite btw ;)
    Ha, my mistake then. ;)
2
Sign In or Register to comment.