How to Apply Roughness Texture in Unity?

how to apply roughness texture in unity

When downloading some models including textures, all of them have a Roughness Image. But, you can’t read in the Image how big the Roughness (or Smoothness) is, so actually don’t know how big the Smoothness value should be that the model looks perfect.

The solution to the problem

First of all, Unity uses smoothness, which is basically the inverse of roughness, normally using a scale of 0.0 – 1.0. To be completely smooth, you would use a smooth value of 1.0 or a rough value of 0.0.

The logic would be:

  • Smooth = 1.0 – Rough
  • Rough = 1.0 – Smooth

So even if it imported automatically your results wouldn’t look right. On Unity’s Standard Shader, the smoothness is controlled from the Alpha channel of the Metallic map. Check your shader in Unity and see which maps – if any – have been applied.

However, I recommend not trying to directly import textures and materials from Blender. The safest way to do it is to save your individual maps (Albedo, Roughness, Normal, etc) as external images and add them to a shader in Unity. Since the two programs use different shaders and renderers, a 1:1 translation will not work.

I hope it helped somebody else who runs into similar issues. If you’re interested in what I’m up to, please check out my other articles. Happy coding!

Also read: How to Apply Materials to Faces in Unity?

Ambiz Education Search: