Home Adobe Substance

How to use the specular color output in SD?

pixelquaternion
polycounter lvl 6
Offline / Send Message
pixelquaternion polycounter lvl 6
Hi guy's,

Just trying to figure how to use the additional output specular color available when creating a new substance.

I need to make some colored reflections on the model and i Google it and try the help file and nada not a single word anywhere so that's why I'm asking here.

Replies

  • poopipe
    Offline / Send Message
    poopipe grand marshal polycounter
    You need to use a shader that supports it.

    The spec gloss one does but you'll need different outputs from the metal rough Shader. 

    You can hack it into the metal rough Shader by defining the area as metal and putting the desired specular colour I to the basecolor channel. 

    It's worth mentioning that you can have the outputs for both Shader types in the same graph and assuming you set up the usages correctly you'll be able to swap between shaders whenever you want.
  • pixelquaternion
    Offline / Send Message
    pixelquaternion polycounter lvl 6
    Thank for the reply and after further reading UE4 is said to have a specular color option so this would be done in the game engine instead of doing it in SD.

    But if they include the specular color output there must be a way to set it in SD also but so far i have no luck, what i did is create the new output for specular color and use the mask set to make the colored reflections appear in the right spot and then using various colors to see if there was any change and nada it is always acting like the roughness output.

    Will continue to see if i can make it work.
  • poopipe
    Offline / Send Message
    poopipe grand marshal polycounter
    I think ue4s specular input is more of a specular occlusion/level parameter but I've not tested it out.

    For ue4 the simple fix is to use the metallic + coloured basecolor hack
  • pixelquaternion
    Offline / Send Message
    pixelquaternion polycounter lvl 6
    poopipe said:
    I think ue4s specular input is more of a specular occlusion/level parameter but I've not tested it out.

    For ue4 the simple fix is to use the metallic + coloured basecolor hack

    Will have to check it out when i am done with the set of texture i am currently working on.
  • Mink
    Offline / Send Message
    Mink polycounter lvl 6
    UE4s specular input is a specular level input, its meant for cavity/curvature maps, which are greyscale textures that capture tiny ridges. UE4 does not support the specular glossiness workflow, as it shouldn't, as having 2 color textures is a waste of drawcalls for real time rendering. Just use the standard metallic roughness workflow.
  • poopipe
    Offline / Send Message
    poopipe grand marshal polycounter
    um

    spec/gloss is perfectly valid, and has no effect on drawcalls - it allows for more flexibility in terms of dielectric specular values and you don't suffer the halo effect at the edge of metals.  

    under a standard metal/rough workflow, the only way you can specify non-plastic dielectric reflectance values (for mud, wood etc) is by providing an additional dielectric specular level map (presumably what unreal calls specular). This will usually feature specular occlusion information as well - this means you need to read the same number of textures to get the same effect. 

    Using metal/rough you save memory and probably texture reads depending on how you pack stuff , it doesn't make it a superior system (because it isn't) it's a simplification designed to save resources and not confuse artists. 

  • Mink
    Offline / Send Message
    Mink polycounter lvl 6
    poopipe said:
    um

    spec/gloss is perfectly valid, and has no effect on drawcalls - it allows for more flexibility in terms of dielectric specular values and you don't suffer the halo effect at the edge of metals.  

    under a standard metal/rough workflow, the only way you can specify non-plastic dielectric reflectance values (for mud, wood etc) is by providing an additional dielectric specular level map (presumably what unreal calls specular). This will usually feature specular occlusion information as well - this means you need to read the same number of textures to get the same effect. 

    Using metal/rough you save memory and probably texture reads depending on how you pack stuff , it doesn't make it a superior system (because it isn't) it's a simplification designed to save resources and not confuse artists. 

    Spec/Gloss isn't valid on UE4, and having to use the extra texture for reflectence is a waste. The specular input in unreal is not a specular gloss specular input, it only processes greyscale values. Here's how Unreal actually...works. Metal rough workflows don't use a specular map, they use cavity maps.


    http://polycount.com/discussion/136390/pbr-physically-based-rendering-bible

    https://docs.unrealengine.com/en-us/Engine/Rendering/Materials/PhysicallyBased
  • poopipe
    Offline / Send Message
    poopipe grand marshal polycounter
    I assume my post wasn't clear enough. 

    I didn't say spec/gloss is usable in ue4, I explained why it is a better system. 


    The page on the unreal docs you linked describing the specular map supports exactly what I said - the specular map describes dielectric specular reflectance and specular occlusion. 


    Using the term cavity map is misleading as they traditionally use the full black-white range. 

    If you feed Unreal white values in a specular map it will partially treat the surface as a metal when working out specular response. 
    What it wants is a cavity map multiplied over the correct specular reflectance value for the material. 
    The correct specular reflectance value is white for metals and dielectrics are listed in the table at the bottom of the page










Sign In or Register to comment.