How come I need to manually correct .mtl file? Can somebody please explain me more about .mtl file? I understand it describes how textures should be mapped back on the object, but here's what I don't understand:
I have an object with materials. Materials are mainly textures connected into principled bsdf node, no any additional nodes in between. I export .obj together with .mtl, everything looks ok (at least to me). Below is a part with 1st material of .mtl file.



When the exported files are uploaded to sketchfab - I get the same model look I had in Blender (all looks identical and correct). But when I open the same .obj with Windows 3D viewer - there are some issues with roughness map (looks like viewer doesn't even see it). When this same file is opened with another viewer (someone asked me to make this model and opened it in their viewer, so I can not really tell what viewer it is), it also have issues with textures. Opacity and Base color are mapped, but again something wrong with others, roughness, normal and emission. They say that Ns parameter should be deleted from .mtl file, that Ks should be set to 0, illum set to 1... and some other recommendations. 

So my question(s) is: is this normal that I have to manually change .mtl file? I would expect that there is a standard and Blender exports it in a way that every viewer should understand? Or maybe there are some settings I should change?
The answer is: It depends.

The .mtl file is following the specification and is therefore correct. However some viewers do not implement the specification in its entirety or may not even implement it correctly. Therefore it may be necessary to adjust the .mtl file to make it work properly. However this is not because the .mtl is wrong, but because the viewer doesn't support the Ns, Ks and illum statements.


  Ns exponent
  
  Specifies the specular exponent for the current material.  This defines 
  the focus of the specular highlight.
  
  "exponent" is the value for the specular exponent.  A high exponent results in a tight, concentrated highlight.  Ns values normally range from 0 to 1000.





  Ks r g b 
  
  The Ks statement specifies the specular reflectivity using RGB values.
  
  "r g b" are the values for the red, green, and blue components of the atmosphere.  The g and b arguments are optional.  If only r is  specified, then g, and b are assumed to be equal to r.  The r g b values  are normally in the range of 0.0 to 1.0.  Values outside this range  increase or decrease the relectivity accordingly.





  illum illum_#
  
  The "illum" statement specifies the illumination model to use in the material. Illumination models are mathematical equations that represent various material lighting and shading effects.
  
  "illum_#" can be a number from 0 to 10.  The illumination models are summarized below; for complete descriptions see "Illumination models" on page 5-30.
  
  Illumination    Properties that are turned on in the Property Editor
  
  0     Color on and Ambient off
  
  1     Color on and Ambient on
  
  2     Highlight on
  
  3     Reflection on and Ray trace on
  
  4     Transparency: Glass on
        Reflection: Ray trace on
  
  5     Reflection: Fresnel on and Ray trace on
  
  6     Transparency: Refraction on
        Reflection: Fresnel off and Ray trace on
  
  7     Transparency: Refraction on
        Reflection: Fresnel on and Ray trace on
  
  8     Reflection on and Ray trace off
  
  9     Transparency: Glass on
        Reflection: Ray trace off
  
  10        Casts shadows onto invisible surfaces