[Bf-extensions-cvs] SVN commit: /data/svn/bf-extensions [2283] trunk/py/scripts/addons/ io_shape_mdd/import_mdd.py: patch [#28311] Fix MDD import for blender 2.59

Campbell Barton ideasman42 at gmail.com
Mon Aug 29 02:11:39 CEST 2011


Revision: 2283
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-extensions&revision=2283
Author:   campbellbarton
Date:     2011-08-29 00:11:36 +0000 (Mon, 29 Aug 2011)
Log Message:
-----------
patch [#28311] Fix MDD import for blender 2.59
by Nick Keeline (nrk)

Modified Paths:
--------------
    trunk/py/scripts/addons/io_shape_mdd/import_mdd.py

Modified: trunk/py/scripts/addons/io_shape_mdd/import_mdd.py
===================================================================
--- trunk/py/scripts/addons/io_shape_mdd/import_mdd.py	2011-08-27 20:47:21 UTC (rev 2282)
+++ trunk/py/scripts/addons/io_shape_mdd/import_mdd.py	2011-08-29 00:11:36 UTC (rev 2283)
@@ -50,6 +50,7 @@
     time = unpack((">%df" % frames), file.read(frames * 4))
 
     print('\tpoints:%d frames:%d' % (points, frames))
+    print('\tstart frame:%d step:%d' % (frame_start, frame_step))
 
     # If target object doesn't have Basis shape key, create it.
     if not obj.data.shape_keys:
@@ -59,41 +60,42 @@
 
     scene.frame_current = frame_start
 
-    def UpdateMesh(ob, fr):
+    def UpdateMesh(ob, fr, step):
 
         # Insert new shape key
         new_shapekey = obj.shape_key_add()
         new_shapekey.name = ("frame_%.4d" % fr)
 
-        obj.active_shape_key_index = len(obj.data.shape_keys.keys) - 1
-        index = len(obj.data.shape_keys.keys) - 1
+        obj.active_shape_key_index = len(obj.data.shape_keys.key_blocks) - 1
+        index = len(obj.data.shape_keys.key_blocks) - 1
         obj.show_only_shape_key = True
 
-        verts = obj.data.shape_keys.keys[len(obj.data.shape_keys.keys) - 1].data
+        verts = obj.data.shape_keys.key_blocks[len(obj.data.shape_keys.key_blocks) - 1].data
 
         for v in verts:  # 12 is the size of 3 floats
             v.co[:] = unpack('>3f', file.read(12))
+
         # me.update()
         obj.show_only_shape_key = False
 
         # insert keyframes
         shape_keys = obj.data.shape_keys
 
-        scene.frame_current -= 1
-        obj.data.shape_keys.keys[index].value = 0.0
-        shape_keys.keys[len(obj.data.shape_keys.keys) - 1].keyframe_insert("value")
+        scene.frame_current -= step
+        obj.data.shape_keys.key_blocks[index].value = 0.0
+        shape_keys.key_blocks[len(obj.data.shape_keys.key_blocks) - 1].keyframe_insert("value")
 
-        scene.frame_current += 1
-        obj.data.shape_keys.keys[index].value = 1.0
-        shape_keys.keys[len(obj.data.shape_keys.keys) - 1].keyframe_insert("value")
+        scene.frame_current += step
+        obj.data.shape_keys.key_blocks[index].value = 1.0
+        shape_keys.key_blocks[len(obj.data.shape_keys.key_blocks) - 1].keyframe_insert("value")
 
-        scene.frame_current += 1
-        obj.data.shape_keys.keys[index].value = 0.0
-        shape_keys.keys[len(obj.data.shape_keys.keys) - 1].keyframe_insert("value")
+        scene.frame_current += step
+        obj.data.shape_keys.key_blocks[index].value = 0.0
+        shape_keys.key_blocks[len(obj.data.shape_keys.key_blocks) - 1].keyframe_insert("value")
 
         obj.data.update()
 
     for i in range(frames):
-        UpdateMesh(obj, i)
+        UpdateMesh(obj, i, frame_step)
 
     return {'FINISHED'}



More information about the Bf-extensions-cvs mailing list