Home Adobe Substance

How to create the metallic map for Unity?

BrianArt
polycounter lvl 2
Offline / Send Message
BrianArt polycounter lvl 2
Hi fellow artists :smiley:

I have been browsing Polycount as a guest a lot lately and I LOVE it!
I need your help in something I couldn't find a solution to by just Googling.

I am using Substance Designer to generate textures, I used some templates that I had found freely. 
So far the templates have: Height, Diffuse, Normal, and Roughness maps as outputs. Unity doesn't use Roughness (that I know of) so I need a Metallic map.

How can I generate one in Substance Designer? If not, can I use Photoshop to generate one using the other maps (Height, Normal,...)?

Hope you guys can help me.

Regards.

Replies

  • Bek
    Offline / Send Message
    Bek interpolator
    The metalness map is used to separate your materials into two categories, metals and non-metals (or conductors and dielectrics if you prefer). Then the engine can apply the appropriate specular and albedo values to each of these groups, while not requiring a standalone specular texture — since metals need no albedo information (they do not absorb light, they only reflect it) we can store their specular information within the albedo texture, and then parts tagged as metal by the metalness map use the albedo information as specular information instead. And as for non-metals, they can use a flat value for their specularity, as the variance between them in real life is quite little.

    As such it doesn't make sense to "generate" a metalness map using the normal or height as you suggest. In designer, you can add a new output node and set it to Metallic (or metalness, whatever terminology is used). But you're going to need to figure out a way to make your metals white and your non-metals black. If you're texturing a 3d model with UV's this would be done via a bitmap.. if you're making a 2d texture in designer, you should already have the required masks needed that you used to make your shapes.

    Unity will use either roughness or gloss. These maps both contain the same information, just one is the inverse of the other. In a gloss map, white = glossy. In a roughness map, white = rough.

    Recommended reading:

    http://www.marmoset.co/toolbag/learn/pbr-theory
    http://www.marmoset.co/toolbag/learn/pbr-practice
    https://www.allegorithmic.com/pbr-guide
  • BrianArt
    Offline / Send Message
    BrianArt polycounter lvl 2
    Thank you Bek for your comprehensive explanation. I now feel like it was a noob question. Your answer left me with another question. Since I'm using Substance Designer, I'm actually exporting the textures as bitmaps as opposed to using the Sbsar files. When in Unity, I see channels for diffuse, metallic/specular normal, height and the others. I can plug all my outputs directly in their perspective channels, however, I see that roughness is left out.
    I do know there's something to do with that roughness being in the alpha channel of metallic map. But my mesh isn't metallic and the metallic channel is useless? If so, do I just plug the roughness as an alpha channel in the metallic map (Although it's completely black now) and then put that in the metallic channel in unity? 

    Thanks
  • Chimp
    Offline / Send Message
    Chimp interpolator
    Do black for RGB and smoothness is packed into the alpha. The metallic map defines what parts of your model are metallic, if it's all black it will treat it all as dialectric. The smoothness map is afaik rougness mapped in the other direction, and is shoved in the spare channel for performance reasons but it is its own map.
Sign In or Register to comment.