Search code examples
c#unity-game-engine3dtexturesblender

How can I use Roughness Texture in Unity?


I know that the Smoothness channel is actually the Roughness. But I downloaded some Models including Textures and all of them have a Roughness Image. But I can't read in the Image how big the Roughness (or Smoothness) is, so I actually don't know how big the Smoothness value should be that the Model looks perfect.

How can I detect this?

Thank you

PS: Look at my other question please, I asked it 2 weeks ago and I still don't have any answer: Unity3d: Problem with Mixamo animations, they change position of Player graphics out of colliders and attached camera


Solution

  • Smoothness and roughness are two ends of the same measure, 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.

    Viewing the image, mostly black indicates zero values, while mostly white indicates one values. Use that to determine which end of the scale you expect it to be using.

    Using nodes or image editor, you would invert a smooth map before connecting it to the rough socket.

    Mathematically that would be

    smooth = 1.0 - rough
    

    or

    rough = 1.0 - smooth