Author Topic: Unity PBR Metallic Export settings  (Read 5994 times)

I was hoping someone might be able to post a screenshot of what they're using for export settings to Unity PBR Metallic workflow. I've played around with this for a while, and the results in Unity just don't look right. Specifically, it feels like the roughness in inverted (what's shiny in SP is dull in Unity, and vice versa). I've included a screenshot of my export settings, and I was hoping someone might be able to post a screenshot of their export settings so I know what's wrong with mine.

I'm using Unity's standard metallic shader.

(Note: If I use Roughness for Roughness, my model is basically entirely black in Unity, which is why I'm using Glossiness, which looks more correct.)



Last Edit: March 21, 2018, 07:28:06 pm

Yes it is inverted in Unity.  That's why it is called metal smoothness in the Unity interface.  This you don't have to worry about though.  As long as you are using the Unity export configuration, Substance will output the proper maps.

Unity's standard shader is using the PBR Metal workflow, but with Smoothness instead of Roughness is using the Alpha channel of the metal texture for that smoothness.  So you will most likely see a solid black texture when looking at the metal output, but when dropped into Unity, Unity knows to use the alpha channel from that texture.

Thanks, Gary. Ultimately the issue appears to be that I should have been using the "Standard" shader, not the "Standard (Roughness Setup)" shader. The difference seems to be pretty significant. As you said, SP's default export preset creates a MetallicSmoothness texture, which places the Glossiness's grayscale value into the texture's Alpha channel. When using the Standard shader, it gives the option to base Smoothness on the Alpha channel of the Metallic texture. Upon switching to the Standard shader, things look good now.

However, I'm still confused about why Unity has a Smoothness slider even when using the Metallic Alpha for Smoothness. It seems that putting this to "1" results in correct settings, but I'm curious if there are other approaches.

I still don't understand why I can't get "Standard (Roughess Setup)" to work. In that case, I create a dedicated Roughness texture, and use either Roughness or Glossiness grayscale for its value. It never looks right in Unity. It's either inverted (when using Roughness) or it's blown out (when using Smoothness). Anyway, I'll just use the Standard shader, but it would be useful to know what to export for a dedicated Roughness texture, if I want to use Roughness setup.