2
$\begingroup$

I'm importing a Wavefront OBJ file. The file contains a lot of duplicate vertexes, so I use the remove doubles functionality in Blender (from a Python script to be precise). Not doing so, gives problems later when using a subsurf modifier (distortion of the mesh).

With removing the doubles, the mesh is perfect, but the OBJ file also contains UV mapping (vt tags etc). After using remove doubles in Blender, the resulting UV mapping has holes. Several vertex mappings have disappeared, resulting in incorrect mapping of the textures to the mesh. Seems like UV mapping is not taken into account by the remove_doubles feature.

This seems like a fundamental issue of the feature, not specific for my model. Hence I was wondering whether there is a workaround/solution for this ... to have UV mapping corrected as well.

Thanks a lot.

$\endgroup$
3
  • 2
    $\begingroup$ Not sure if it will help (upload your file and it might help get specific answers), but you can try (1) duplicating your object, then (2) removing doubles on just 1 copy, and (3) transferring the UV map from the old to the new copy (select the new copy, then the original, then press Ctrl + L --> Transfer UV maps). $\endgroup$
    – TLousky
    Sep 21, 2015 at 9:15
  • $\begingroup$ Also, depending on the scale of the model, maybe "merge distance" is too high, if so, it would actually merge more than duplicates, screwing the uv. $\endgroup$
    – Zafio
    Sep 21, 2015 at 13:34
  • $\begingroup$ @TLousky: I tried what you suggested, but this did not work. The new mesh (without doubles) has less vertices and the "transfer UV maps" feature seems to require identical meshes. Nonetheless I learned a new thing about Blender. So thanks for that. $\endgroup$
    – Sven
    Sep 28, 2015 at 9:26

1 Answer 1

2
$\begingroup$

The problem turned out to be a bit more tricky then I expected. The model I'm importing contains several duplicate vertices, but as a result also duplicate faces. Depending on the order the faces are defined in, in the OBJ file, the resulting material that is visible differs. So I ended up writing a bit of Python code to pre-process the obj file: remove all double vertices, remove double face definition ensuring that the remaining face has the correct material defined.

$\endgroup$

You must log in to answer this question.

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