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:
authorJacques Lucke <mail@jlucke.com>2018-10-02 17:15:35 +0300
committerJacques Lucke <mail@jlucke.com>2018-10-02 17:17:29 +0300
commit608cf349ae10c42228edf2e12fdc5c0868e80f8f (patch)
tree1f477dbe1467f00cdcadeb16c74430efc6e76d90 /io_shape_mdd
parentb6bc9f86ba18cb0f8b6e6c737f13d599b0e3780f (diff)
Port 'NewTek MDD format' addon to Blender 2.8
Reviewers: brecht Differential Revision: https://developer.blender.org/D3755
Diffstat (limited to 'io_shape_mdd')
-rw-r--r--io_shape_mdd/__init__.py29
-rw-r--r--io_shape_mdd/export_mdd.py12
2 files changed, 24 insertions, 17 deletions
diff --git a/io_shape_mdd/__init__.py b/io_shape_mdd/__init__.py
index 786df7fd..169e0c17 100644
--- a/io_shape_mdd/__init__.py
+++ b/io_shape_mdd/__init__.py
@@ -22,7 +22,7 @@ bl_info = {
"name": "NewTek MDD format",
"author": "Bill L.Nieuwendorp",
"version": (1, 0, 1),
- "blender": (2, 57, 0),
+ "blender": (2, 80, 0),
"location": "File > Import-Export",
"description": "Import-Export MDD as mesh shape keys",
"warning": "",
@@ -57,17 +57,17 @@ class ImportMDD(bpy.types.Operator, ImportHelper):
filename_ext = ".mdd"
- filter_glob = StringProperty(
+ filter_glob: StringProperty(
default="*.mdd",
options={'HIDDEN'},
)
- frame_start = IntProperty(
+ frame_start: IntProperty(
name="Start Frame",
description="Start frame for inserting animation",
min=-300000, max=300000,
default=0,
)
- frame_step = IntProperty(
+ frame_step: IntProperty(
name="Step",
min=1, max=1000,
default=1,
@@ -97,7 +97,7 @@ class ExportMDD(bpy.types.Operator, ExportHelper):
bl_label = "Export MDD"
filename_ext = ".mdd"
- filter_glob = StringProperty(default="*.mdd", options={'HIDDEN'})
+ filter_glob: StringProperty(default="*.mdd", options={'HIDDEN'})
# get first scene to get min and max properties for frames, fps
@@ -108,25 +108,25 @@ class ExportMDD(bpy.types.Operator, ExportHelper):
# List of operator properties, the attributes will be assigned
# to the class instance from the operator settings before calling.
- fps = FloatProperty(
+ fps: FloatProperty(
name="Frames Per Second",
description="Number of frames/second",
min=minfps, max=maxfps,
default=25.0,
)
- frame_start = IntProperty(
+ frame_start: IntProperty(
name="Start Frame",
description="Start frame for baking",
min=minframe, max=maxframe,
default=1,
)
- frame_end = IntProperty(
+ frame_end: IntProperty(
name="End Frame",
description="End frame for baking",
min=minframe, max=maxframe,
default=250,
)
- use_rest_frame = BoolProperty(
+ use_rest_frame: BoolProperty(
name="Rest Frame",
description="Write the rest state at the first frame",
default=False,
@@ -164,15 +164,22 @@ def menu_func_export(self, context):
)
+classes = [
+ ImportMDD,
+ ExportMDD
+]
+
def register():
- bpy.utils.register_module(__name__)
+ for cls in classes:
+ bpy.utils.register_class(cls)
bpy.types.TOPBAR_MT_file_import.append(menu_func_import)
bpy.types.TOPBAR_MT_file_export.append(menu_func_export)
def unregister():
- bpy.utils.unregister_module(__name__)
+ for cls in classes:
+ bpy.utils.unregister_class(cls)
bpy.types.TOPBAR_MT_file_import.remove(menu_func_import)
bpy.types.TOPBAR_MT_file_export.remove(menu_func_export)
diff --git a/io_shape_mdd/export_mdd.py b/io_shape_mdd/export_mdd.py
index 04ca8238..48e34f29 100644
--- a/io_shape_mdd/export_mdd.py
+++ b/io_shape_mdd/export_mdd.py
@@ -67,7 +67,7 @@ def save(context, filepath="", frame_start=1, frame_end=300, fps=25.0, use_rest_
orig_frame = scene.frame_current
scene.frame_set(frame_start)
- me = obj.to_mesh(scene, True, 'PREVIEW')
+ me = obj.to_mesh(context.depsgraph, True)
#Flip y and z
'''
@@ -95,21 +95,21 @@ def save(context, filepath="", frame_start=1, frame_end=300, fps=25.0, use_rest_
if use_rest_frame:
check_vertcount(me, numverts)
- me.transform(mat_flip * obj.matrix_world)
+ me.transform(mat_flip @ obj.matrix_world)
f.write(pack(">%df" % (numverts * 3), *[axis for v in me.vertices for axis in v.co]))
- bpy.data.meshes.remove(me, do_unlink=True)
+ bpy.data.meshes.remove(me)
for frame in range(frame_start, frame_end + 1): # in order to start at desired frame
scene.frame_set(frame)
- me = obj.to_mesh(scene, True, 'PREVIEW')
+ me = obj.to_mesh(context.depsgraph, True)
check_vertcount(me, numverts)
- me.transform(mat_flip * obj.matrix_world)
+ me.transform(mat_flip @ obj.matrix_world)
# Write the vertex data
f.write(pack(">%df" % (numverts * 3), *[axis for v in me.vertices for axis in v.co]))
- bpy.data.meshes.remove(me, do_unlink=True)
+ bpy.data.meshes.remove(me)
f.close()