diff options
author | Jacques Lucke <mail@jlucke.com> | 2018-10-02 17:15:35 +0300 |
---|---|---|
committer | Jacques Lucke <mail@jlucke.com> | 2018-10-02 17:17:29 +0300 |
commit | 608cf349ae10c42228edf2e12fdc5c0868e80f8f (patch) | |
tree | 1f477dbe1467f00cdcadeb16c74430efc6e76d90 /io_shape_mdd | |
parent | b6bc9f86ba18cb0f8b6e6c737f13d599b0e3780f (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__.py | 29 | ||||
-rw-r--r-- | io_shape_mdd/export_mdd.py | 12 |
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() |