1
$\begingroup$

This issue has been causing me undue frustration over the past few days. I've been attempting to export a model in .obj with the associated .mtl and image texture. I know this can be done because I was doing exactly this on another mesh just last week.

However, this time no matter what I do it refuses to do this. Images are below detailing the issue.

So, the mesh and texture are imported, UV unwrapped and assigned as a material to the object in Eevee via Node. The situation is summarised in the below images.

enter image description hereenter image description here

My intent, as above, is to export as a .obj. I save the texture image in the UV window to the same target folder for the mesh. Then I set up the export settings reccomended by many others, ticking write materials and using the copy pathway as below. This exports the mesh. enter image description here

However, the resultant material file appears to be incorrect, containing no such map_kd reference to the saved image from the UV editor. Naturally, on loading into another program no textures, as a result, are loaded.

enter image description here

Does anyone know what the issue is here? I was doing (and succeeding) the same thing on Blender 2.8 earlier this week on other material-assigned meshes (although they were from a third-party, so already mapped and textured). What gives?

The purpose is simply to view the model in meshlab (which takes .obj) or another simple model viewer, rather than to import into any other rendering/game engine.

$\endgroup$
1

1 Answer 1

1
$\begingroup$

The problem is that the .obj exporter requires a material setup using the Principled Shader in order to write an .mtl with the map_ attributes. Unfortunately the documentation is still work in progress for Blender 2.8, that's why this wasn't previously documented.

The fix for your problems should be to replace the current shader nodes with the Principled Shader and to plug your texture in the base color socket.

Alternatively you can also add the texture by hand. This requires the following line in the .mtl if your texture is in the same directory and called pc2.dds as shown in your screenshot:

map_Kd pc2.dds
$\endgroup$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .