Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender-addons.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2011-08-29 04:11:36 +0400
committerCampbell Barton <ideasman42@gmail.com>2011-08-29 04:11:36 +0400
commit9ec657763641721cc077d7401456554d99f67fda (patch)
tree7212d80fb6bec66fed541aff49cab95f644388c5 /io_shape_mdd
parent36580aced75fc20ca54deee16483a958703b121b (diff)
patch [#28311] Fix MDD import for blender 2.59
by Nick Keeline (nrk)
Diffstat (limited to 'io_shape_mdd')
-rw-r--r--io_shape_mdd/import_mdd.py30
1 files changed, 16 insertions, 14 deletions
diff --git a/io_shape_mdd/import_mdd.py b/io_shape_mdd/import_mdd.py
index 332b7590..f5136856 100644
--- a/io_shape_mdd/import_mdd.py
+++ b/io_shape_mdd/import_mdd.py
@@ -50,6 +50,7 @@ def load(operator, context, filepath, frame_start=0, frame_step=1):
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 @@ def load(operator, context, filepath, frame_start=0, frame_step=1):
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'}