[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [32057] trunk/blender/release/scripts/op/ io_scene_fbx: bugfix [#23935] Exporting to Unity3d .fbx Blender 2.5

Campbell Barton ideasman42 at gmail.com
Wed Sep 22 14:36:54 CEST 2010


Revision: 32057
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=32057
Author:   campbellbarton
Date:     2010-09-22 14:36:54 +0200 (Wed, 22 Sep 2010)

Log Message:
-----------
bugfix [#23935] Exporting to Unity3d .fbx Blender 2.5

Modified Paths:
--------------
    trunk/blender/release/scripts/op/io_scene_fbx/__init__.py
    trunk/blender/release/scripts/op/io_scene_fbx/export_fbx.py

Modified: trunk/blender/release/scripts/op/io_scene_fbx/__init__.py
===================================================================
--- trunk/blender/release/scripts/op/io_scene_fbx/__init__.py	2010-09-22 09:49:35 UTC (rev 32056)
+++ trunk/blender/release/scripts/op/io_scene_fbx/__init__.py	2010-09-22 12:36:54 UTC (rev 32057)
@@ -86,7 +86,25 @@
             GLOBAL_MATRIX = mtx4_z90n * GLOBAL_MATRIX
 
         import io_scene_fbx.export_fbx
-        return io_scene_fbx.export_fbx.save(self, context, GLOBAL_MATRIX=GLOBAL_MATRIX, **self.properties)
+        return io_scene_fbx.export_fbx.save(self, context, self.filepath,
+            GLOBAL_MATRIX=GLOBAL_MATRIX,
+            EXP_OBS_SELECTED=self.EXP_OBS_SELECTED,
+            EXP_MESH=self.EXP_MESH,
+            EXP_MESH_APPLY_MOD=self.EXP_MESH_APPLY_MOD,
+            EXP_ARMATURE=self.EXP_ARMATURE,
+            EXP_LAMP=self.EXP_LAMP,
+            EXP_CAMERA=self.EXP_CAMERA,
+            EXP_EMPTY=self.EXP_EMPTY,
+            EXP_IMAGE_COPY=self.EXP_IMAGE_COPY,
+            ANIM_ENABLE=self.ANIM_ENABLE,
+            ANIM_OPTIMIZE=self.ANIM_OPTIMIZE,
+            ANIM_OPTIMIZE_PRECISSION=self.ANIM_OPTIMIZE_PRECISSION,
+            ANIM_ACTION_ALL=self.ANIM_ACTION_ALL,
+            BATCH_ENABLE=self.BATCH_ENABLE,
+            BATCH_GROUP=self.BATCH_GROUP,
+            BATCH_FILE_PREFIX=self.BATCH_FILE_PREFIX,
+            BATCH_OWN_DIR=self.BATCH_OWN_DIR,
+            )
 
 
 def menu_func(self, context):

Modified: trunk/blender/release/scripts/op/io_scene_fbx/export_fbx.py
===================================================================
--- trunk/blender/release/scripts/op/io_scene_fbx/export_fbx.py	2010-09-22 09:49:35 UTC (rev 32056)
+++ trunk/blender/release/scripts/op/io_scene_fbx/export_fbx.py	2010-09-22 12:36:54 UTC (rev 32057)
@@ -181,14 +181,12 @@
         return ret
 
 # ob must be OB_MESH
-def BPyMesh_meshWeight2List(ob):
+def BPyMesh_meshWeight2List(ob, me):
     ''' Takes a mesh and return its group names and a list of lists, one list per vertex.
     aligning the each vert list with the group names, each list contains float value for the weight.
     These 2 lists can be modified and then used with list2MeshWeight to apply the changes.
     '''
 
-    me = ob.data
-
     # Clear the vert group.
     groupNames= [g.name for g in ob.vertex_groups]
     len_groupNames= len(groupNames)
@@ -205,9 +203,9 @@
 
     return groupNames, vWeightList
 
-def meshNormalizedWeights(me):
+def meshNormalizedWeights(ob, me):
     try: # account for old bad BPyMesh
-        groupNames, vWeightList = BPyMesh_meshWeight2List(me)
+        groupNames, vWeightList = BPyMesh_meshWeight2List(ob, me)
 # 		groupNames, vWeightList = BPyMesh.meshWeight2List(me)
     except:
         return [],[]
@@ -235,7 +233,8 @@
 '''
 
 # This func can be called with just the filepath
-def save(operator, context, filepath="", \
+def save(operator, context, filepath="",
+        GLOBAL_MATRIX =				None,
         EXP_OBS_SELECTED =			True,
         EXP_MESH =					True,
         EXP_MESH_APPLY_MOD =		True,
@@ -244,7 +243,6 @@
         EXP_CAMERA =				True,
         EXP_EMPTY =					True,
         EXP_IMAGE_COPY =			False,
-        GLOBAL_MATRIX =				None,
         ANIM_ENABLE =				True,
         ANIM_OPTIMIZE =				True,
         ANIM_OPTIMIZE_PRECISSION =	6,
@@ -2404,8 +2402,7 @@
             if my_mesh.fbxBoneParent:
                 weights = None
             else:
-                weights = meshNormalizedWeights(my_mesh.blenObject)
-# 				weights = meshNormalizedWeights(my_mesh.blenData)
+                weights = meshNormalizedWeights(my_mesh.blenObject, my_mesh.blenData)
 
             #for bonename, bone, obname, bone_mesh, armob in ob_bones:
             for my_bone in ob_bones:





More information about the Bf-blender-cvs mailing list