]> git.tdb.fi Git - libs/gl.git/blobdiff - blender/io_mesh_mspgl/export_mspgl.py
Fix texunit processing order to avoid artifacts in tbn vectors
[libs/gl.git] / blender / io_mesh_mspgl / export_mspgl.py
index e2082cb8d04770b1b4c510eaca90c4797114afcc..d54d1e38478a860c5b4619deb9d8505813f3c53f 100644 (file)
@@ -256,13 +256,22 @@ class Exporter:
                        else:
                                texunits = list(range(len(mesh.uv_textures)))
 
+                       tbn_unit = 0
+                       if self.tbn_vecs:
+                               uvtex_names = [u.name for u in mesh.uv_textures]
+                               if self.tbn_uvtex in uvtex_names:
+                                       tbn_unit = uvtex_names.index(uvtex)
+                                       del texunits[tbn_unit]
+                                       texunits.insert(0, tbn_unit)
+
                        for i in texunits:
                                progress.set_task("Splitting UVs", 0.35+0.3*i/len(texunits), 0.35+0.3*(i+1)/len(texunits))
                                mesh.split_uv(i, progress)
+                               if self.tbn_vecs and i==tbn_unit:
+                                       mesh.compute_uv()
+                                       mesh.compute_tbn(i)
 
                        mesh.compute_uv()
-                       if self.tbn_vecs:
-                               mesh.compute_tbn(self.tbn_uvtex)
 
                strips = []
                loose = mesh.faces