[Bf-extensions-cvs] SVN commit: /data/svn/bf-extensions [2366] trunk/py/scripts/addons/ io_import_scene_mhx.py: MHX importer: forced update of blinking and expression pinning.

Thomas Larsson thomas_larsson_01 at hotmail.com
Wed Sep 28 04:23:53 CEST 2011


Revision: 2366
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-extensions&revision=2366
Author:   thomasl
Date:     2011-09-28 02:23:50 +0000 (Wed, 28 Sep 2011)
Log Message:
-----------
MHX importer: forced update of blinking and expression pinning.

Modified Paths:
--------------
    trunk/py/scripts/addons/io_import_scene_mhx.py

Modified: trunk/py/scripts/addons/io_import_scene_mhx.py
===================================================================
--- trunk/py/scripts/addons/io_import_scene_mhx.py	2011-09-27 16:57:42 UTC (rev 2365)
+++ trunk/py/scripts/addons/io_import_scene_mhx.py	2011-09-28 02:23:50 UTC (rev 2366)
@@ -26,7 +26,7 @@
 """
 Abstract
 MHX (MakeHuman eXchange format) importer for Blender 2.5x.
-Version 1.8.1
+Version 1.8.2
 
 This script should be distributed with Blender.
 If not, place it in the .blender/scripts/addons dir
@@ -39,7 +39,7 @@
 bl_info = {
     'name': 'Import: MakeHuman (.mhx)',
     'author': 'Thomas Larsson',
-    'version': (1, 8, 1),
+    'version': (1, 8, 2),
     "blender": (2, 5, 9),
     "api": 40335,
     'location': "File > Import > MakeHuman (.mhx)",
@@ -52,7 +52,7 @@
 
 MAJOR_VERSION = 1
 MINOR_VERSION = 8
-SUB_VERSION = 1
+SUB_VERSION = 2
 BLENDER_VERSION = (2, 59, 2)
 
 #
@@ -3204,6 +3204,7 @@
         else:
             setBoneLocation(context, pbones[b+'_L'], scale, loc, False, setKey, frame)
             setBoneLocation(context, pbones[b+'_R'], scale, loc, True, setKey, frame)
+    updatePose(rig)
     return
 
 def setBoneLocation(context, pb, scale, loc, mirror, setKey, frame):
@@ -3251,7 +3252,8 @@
             vis = mohoVisemes[words[1]]
             setViseme(context, vis, True, int(words[0])+offs)
     fp.close()
-    setInterpolation(context.object)
+    setInterpolation(rig)
+    updatePose(rig)
     print("Moho file %s loaded" % filepath)
     return
 
@@ -3268,7 +3270,8 @@
             vis = magpieVisemes[words[3]]
             setViseme(context, vis, True, int(words[0])+offs)
     fp.close()
-    setInterpolation(context.object)
+    setInterpolation(rig)
+    updatePose(rig)
     print("Magpie file %s loaded" % filepath)
     return
 
@@ -3343,8 +3346,29 @@
         row = layout.row()
         row.operator("mhx.pose_load_moho")
         row.operator("mhx.pose_load_magpie")
+        layout.operator("mhx.update")
         return
+        
+#
+#   updatePose(rig):
+#   class VIEW3D_OT_MhxUpdateButton(bpy.types.Operator):
+#
 
+def updatePose(rig):
+    pb = rig.pose.bones["PFaceDisp"]
+    pb.location = pb.location
+    return
+
+class VIEW3D_OT_MhxUpdateButton(bpy.types.Operator):
+    bl_idname = "mhx.update"
+    bl_label = "Update"
+
+    def execute(self, context):
+        rig = getMhxRig(context.object)
+        updatePose(rig)
+        return{'FINISHED'}    
+        
+
 ###################################################################################    
 #
 #    Expression panel
@@ -3363,7 +3387,7 @@
         props = getShapeProps(rig)
         for (prop, name) in props:
             rig[prop] = 0.0
-        rig.update_tag()
+        updatePose(rig)
         return{'FINISHED'}    
 
 #
@@ -3380,7 +3404,7 @@
         frame = context.scene.frame_current
         for (prop, name) in props:
             rig.keyframe_insert('["%s"]' % prop, frame=frame)
-        rig.update_tag()
+        updatePose(rig)
         return{'FINISHED'}    
 #
 #    class VIEW3D_OT_MhxPinExpressionButton(bpy.types.Operator):
@@ -3410,7 +3434,7 @@
                     rig[prop] = 1.0
                 else:
                     rig[prop] = 0.0
-        rig.update_tag()
+        updatePose(rig)
         return{'FINISHED'}    
 
 #
@@ -3450,6 +3474,7 @@
         layout.label(text="Expressions")
         layout.operator("mhx.pose_reset_expressions")
         layout.operator("mhx.pose_key_expressions")
+        #layout.operator("mhx.update")
         layout.separator()
         for (prop, name) in props:
             row = layout.split(0.85)



More information about the Bf-extensions-cvs mailing list