How to Fix Glossy Textures in Polycam Imports
If your imported 3D model appears unexpectedly glossy or reflective in Polycam, the cause is usually a missing or incomplete material definition in your model files. This article explains why it happens and how to fix it by editing your material file.
Why Does This Happen?
When you import a 3D model, particularly an .obj file, Polycam's rendering engine looks for an accompanying material file (a .mtl file) that describes how each surface should appear. If this file doesn't include a roughness value, the rendering engine defaults to a smooth, reflective surface treatment, which makes your model appear glossy regardless of its original texture.
How to Fix It
The fix involves adding a roughness value to your .mtl material file using a basic text editor. Make sure you have the following before you start:
- Your original .obj file
- The accompanying .mtl material file
- A text editor such as Notepad, TextEdit, VS Code, or similar
1Find Your .mtl File
Locate the .mtl file that corresponds to your 3D model. It is typically stored in the same folder as your .obj file and shares a similar name.
2Open the File in a Text Editor
Open the .mtl file in any text editor. The file will contain one or more material definitions that look something like this:
newmtl material_name Ka 1.0 1.0 1.0 Kd 0.8 0.8 0.8 Ks 0.2 0.2 0.2
3Add the Roughness Value
At the end of the material definition, add the following line:
Pr 1.0
This sets the surface to maximum roughness, creating a completely matte appearance. You can adjust the value between 0.0 (completely smooth and glossy) and 1.0 (completely rough and matte) to achieve your desired finish. If your model has multiple material definitions within the same .mtl file, add the Pr line to each one individually to apply the roughness adjustment across the entire model.
4Save the File
Save the modified .mtl file, keeping the same filename and location as the original.
5Re-upload to Polycam
Upload both your .obj file and the modified .mtl file back into Polycam. Your model should now display with the correct matte surface appearance. If the model still appears glossy, double check that the Pr line was added to all material definitions in the file, and that both the .obj and .mtl files were included in the upload.