Author Topic: Importing OBJ witj a .mtl does not work in Substance Painter  (Read 4216 times)

I have an obj file and a corresponding .mtl file. When I import the obj file, The model is loaded fully white. If i do the same thing in Adobe Dimension, it works but not in substance Painter(ver 2019.13.3).
Pls let me know If I am doing something wrong.

When I import the obj file, The model is loaded fully white.

So? What do you expect to happen instead?

Pls let me know If I am doing something wrong.

I can't tell you what or if you are doing something wrong, as there is no indication in your posting about what you are actually doing. Do we need to guess? Seriously...

Shot in the dark: If you expect Painter to load material properties like colors from an OBJ file, it doesn't do it. Material assignments are merely used to create TextureSets or bake ID maps.
Last Edit: February 23, 2020, 02:17:04 pm

Dear Volker,
Pls don't be crass. I am a newbie so please don't scare me off. I am, however thankful to your response.

Maybe I should have asked differently..

When I load a GLTF file, Substance Painter shows me the 3d Model with all textures painted in. Please see the attached screen shot. This is the snapshot of the screen as soon as the gltf is imported.
So Hopefully this answer your first question to me.

When I do the same for an obj(which has an mtl), The painter loads the bare 3d model. Why is the behavior different in comparison to when a gltf file is loaded? Guess this answer your second question to me. What do I expect to happen? I expect the behavior to be same.

So when I ask if I am doing something wrong, This is what I meant to ask? Am I doing something wrong in case of obj import? I have searched internet a lot before asking this question. The painter supported material type article ( says that
".MTL is only supported along with the import of a model and cannot be imported alone. If you have a model with an existing .mtl, just import the model and the .mtl is automatically read along with the .obj as long as the .mtl is in the same folder."
The above article somehow states that the mtl file will be read alongside obj.. Read for what? I expect it be read and then do something about it. It apparently does nothing.

Adobe dimension (Another adobe product such as Substance) loads the same obj correctly. So I am sure there is nothing wrong with obj and mtl(btw I have changed the .mtl file to point to proper directories).  Since both the products are from Adobe, I guess simply saying Dimension and substance are 2 different product may not be a correct answer.

Maybe I have not searched enough so If you or anybody can help, I will appreciate. As I said in the beginning, Pls dont scare me off. I am under the assumption that this forum is my last resort to get help, so pls be considerate.

You're linking: which isn't Substance Painter. Dimensions is a different application and what works there doesn't mean it will work in Painter. Assuming you have those texture maps in the same directory they will be referenced through your .mtl when imported into an application that supports it.

Example I have a cube obj and a mtl file, that mtl has this line:

map_Kd Material Base Color.png

As long as I have that file it will display as well when importing to Dimensions for example.

Now in Painter as far as I know the mtl file is only good for material ids. However in Blender (I don't use Dimensions) for example when I export an OBJ with the option to write materials (creates the mtl file) it will still reference the ids in the OBJ regardless and if I import my OBJ without an mtl in the directory it will just auto create them by those names after giving an error that the mtl is missing. You're not going to get all those textures to import in though as if you were importing into Dimensions for example.

The issue here is that you're assuming because Substance Painter is under Adobe now that they're all working in sync throughout which isn't correct. Painter was around before Adobe acquired Allegorithmic.

If you want those textures you'll have to import them manually and create 'Flood Layers' then drag them into those slots.
I teach people how to use Substance Painter. :)