The glossy appearance occurs because of missing or incomplete material definitions in your 3D model files. When you import a 3D model (particularly .obj files), the rendering engine looks for an accompanying material file (typically a .mtl file) that describes how surfaces should appear.
If this material file doesn't specify a roughness value, Polycam's rendering engine defaults to a smooth, reflective surface treatment. This causes your model to appear glossy, regardless of its original surface texture.
Adding Roughness Properties
The fix involves manually editing the material file to include proper roughness values. This process is straightforward and requires only a basic text editor.
What You'll Need
- Your original
.objfile - The accompanying
.mtlmaterial file - A text editor (Notepad, TextEdit, VS Code, or similar)
How to Change the File
1. Find the .mtl file that corresponds to your 3D object. This file is typically stored in the same folder as your .obj file and shares a similar name.
2. Use any text editor to open the .mtl file. The file will contain 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
3. Scroll to the bottom of the material definition (or where your specific material is defined) and add this line:
Pr 1.0
This line sets the surface to maximum roughness (1.0), creating a completely matte appearance. You can adjust this value between 0.0 (completely smooth/glossy) and 1.0 (completely rough/matte) to achieve your desired surface finish.
4. Save the modified .mtl file, ensuring you keep the same filename and location.
5. Upload both your .obj file and the modified .mtl file back into Polycam. The model should now display with the correct matte texture instead of the unwanted glossy appearance.