[Bf-extensions-cvs] SVN commit: /data/svn/bf-extensions [4781] trunk/py/scripts/addons/ io_scene_fbx/export_fbx.py: Fix [#36854] FBX export error when using two uv maps

Bastien Montagne montagne29 at wanadoo.fr
Tue Oct 1 10:41:10 CEST 2013


Revision: 4781
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-extensions&revision=4781
Author:   mont29
Date:     2013-10-01 08:41:09 +0000 (Tue, 01 Oct 2013)
Log Message:
-----------
Fix [#36854] FBX export error when using two uv maps

Stupid mistake, vcol was also affected?\226?\128?\166

Modified Paths:
--------------
    trunk/py/scripts/addons/io_scene_fbx/export_fbx.py

Modified: trunk/py/scripts/addons/io_scene_fbx/export_fbx.py
===================================================================
--- trunk/py/scripts/addons/io_scene_fbx/export_fbx.py	2013-10-01 04:54:50 UTC (rev 4780)
+++ trunk/py/scripts/addons/io_scene_fbx/export_fbx.py	2013-10-01 08:41:09 UTC (rev 4781)
@@ -1403,6 +1403,11 @@
            '\n\t\tCulling: "CullingOff"'
            )
 
+
+
+
+
+
         # Write the Real Mesh data here
         fw('\n\t\tVertices: ')
         _nchunk = 12  # Number of coordinates per line.
@@ -1444,6 +1449,8 @@
 
             fw('\n\t\tEdges: ')
             fw(',\n\t\t       '.join(','.join('%i' % vi for vi in chunk) for chunk in grouper_exact(t_vi, _nchunk)))
+            del t_vi
+            del t_el
 
         fw('\n\t\tGeometryVersion: 124')
 
@@ -1499,11 +1506,11 @@
         collayers = []
         if len(me.vertex_colors):
             collayers = me.vertex_colors
-            t_lc = [None] * len(me.loops) * 3
             col2idx = None
             _nchunk = 4  # Number of colors per line
             _nchunk_idx = 64  # Number of color indices per line
             for colindex, collayer in enumerate(collayers):
+                t_lc = [None] * len(me.loops) * 3
                 collayer.data.foreach_get("color", t_lc)
                 t_lc = tuple(zip(*[iter(t_lc)] * 3))
                 fw('\n\t\tLayerElementColor: %i {'
@@ -1522,13 +1529,13 @@
                 fw(',\n\t\t\t            '
                    ''.join(','.join('%d' % col2idx[c] for c in chunk) for chunk in grouper_exact(t_lc, _nchunk_idx)))
                 fw('\n\t\t}')
+            del t_lc
 
         # Write UV and texture layers.
         uvlayers = []
         uvtextures = []
         if do_uvs:
             uvlayers = me.uv_layers
-            t_uv = [None] * len(me.loops) * 2
             t_pi = None
             uv2idx = None
             tex2idx = None
@@ -1541,6 +1548,7 @@
                 tex2idx.update({tex: i for i, tex in enumerate(my_mesh.blenTextures)})
 
             for uvindex, (uvlayer, uvtexture) in enumerate(zip(uvlayers, uvtextures)):
+                t_uv = [None] * len(me.loops) * 2
                 uvlayer.data.foreach_get("uv", t_uv)
                 t_uv = tuple(zip(*[iter(t_uv)] * 2))
                 fw('\n\t\tLayerElementUV: %d {'
@@ -1584,6 +1592,7 @@
                        '\n\t\t\tTextureAlpha: 1'
                        '\n\t\t\tTextureId: ')
                 fw('\n\t\t}')
+            del t_uv
 
         # Done with UV/textures.
         if do_materials:
@@ -1688,7 +1697,6 @@
             # Not sure this works really good...
             #     Aren't key's co already relative if set as such?
             #     Also, does not handle custom relative option for each key...
-
             # --mont29
             import operator
             key_blocks = my_mesh.blenObject.data.shape_keys.key_blocks[:]
@@ -1717,6 +1725,8 @@
                 fw(',\n\t\t\t         '
                    ''.join(','.join('0,0,0' for c in chunk) for chunk in grouper_exact(range(len(verts)), _nchunk)))
                 fw('\n\t\t}')
+            del t_sk_basis
+            del t_sk
 
         fw('\n\t}')
 



More information about the Bf-extensions-cvs mailing list