Home Adobe Substance

Is there a way to convert a Substance Painter file from spec/gloss to metal/roughness?

hero character
Offline / Send Message
Pinned
Macebo hero character
Hi everyone. So i was texturing some stuff for my recent project using the traditional specular and glossiness workflow. I was planning on bringing those textures to Marmoset, but i also wanted to test said textures in the Unreal Engine. I sadly realised that the hours i put into texturing some of these assets could go to waste, because Unreal does not support this traditional shader -- only the metalness workflow. 

There is plenty of information about how to convert an already exported map from one workflow to another. Some examples:

But the thing is i have the Substance Painter file. Is there a way to convert all my work into a metalness texture set? I tried to simply add a base color, metalness and roughness channels. The solo display of the metalness channel looked okay, but the roughness and mainly the base color lost almost all the details i created :(

Thanks in advance.  :) 

Replies

  • Borx25
    Offline / Send Message
    Borx25 polycounter lvl 7
    SP converts from one workflow to the other automatically on export if you choose to export those maps (remember to pick the maps from the box in the right if you make a custom preset, those are the converted ones). So you can work in one workflow and then export to the other.
  • Macebo
    Offline / Send Message
    Macebo hero character
    Hey @Borx25, thanks for your time. So i tried what you said. This is my exporter settings:



    If i simply hit the export button, this warning pops up:



    So i created the required channels and hit the export button again.

    On the right is my table using the traditional spec / gloss, on the left is the result of using the converted maps:



    Strangely, if use the input maps instead, like this:



    The result is more accurate (the metal looks like metal) but i still lose all the details:



    Is there something that i'm missing? 
  • Borx25
    Offline / Send Message
    Borx25 polycounter lvl 7
    Oh, right, Ive only done conversion the other way around. Not sure if there's an automated way to do spec => metalness not involving making a metalness mask by hand. This tutorial covers how to do the conversion manually either way: https://www.marmoset.co/posts/pbr-texture-conversion/

  • Macebo
    Offline / Send Message
    Macebo hero character
    Borx, thanks a lot for the input. Is that so? Strange if it doesn't work the other away around...
    I'd love to hear from someone from Allegorithmic about this. I'd hate to redo all my work...  

    (BTW, it's not only table i textured - if it were so i wouldn't bother to redo it).
  • cptSwing
    Offline / Send Message
    cptSwing polycounter lvl 11
    It's fairly easy to make a node in SD to convert Spec/Gloss to Metalness/Rough.. but it won't be fully automated, though. Basically mash your metal parts from the specular texture via mask onto the basecolor texture, and said mask will be your metalness texture. Invert the gloss map for roughness. Finding the metal parts versus the nonmetal parts, that's where the manual part comes in (an exposed slider, for instance).
  • Macebo
    Offline / Send Message
    Macebo hero character
    Thanks, @cptSwing, i guess i'll have to do that... i thought there was another way to convert the maps when exporting them directly from Substance Painter  :'(
  • poopipe
    Offline / Send Message
    poopipe grand marshal polycounter
    cptSwing said:
    It's fairly easy to make a node in SD to convert Spec/Gloss to Metalness/Rough.. but it won't be fully automated, though. Basically mash your metal parts from the specular texture via mask onto the basecolor texture, and said mask will be your metalness texture. Invert the gloss map for roughness. Finding the metal parts versus the nonmetal parts, that's where the manual part comes in (an exposed slider, for instance).

    any non-grey specular value will qualify as metal - a simple pixel processor node can handle that. 


Sign In or Register to comment.