diff options
Diffstat (limited to 'io_shape_mdd')
-rw-r--r-- | io_shape_mdd/__init__.py | 37 | ||||
-rw-r--r-- | io_shape_mdd/export_mdd.py | 12 |
2 files changed, 28 insertions, 21 deletions
diff --git a/io_shape_mdd/__init__.py b/io_shape_mdd/__init__.py index 99623241..b6f0e734 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,18 +164,25 @@ 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.INFO_MT_file_import.append(menu_func_import) - bpy.types.INFO_MT_file_export.append(menu_func_export) + 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.INFO_MT_file_import.remove(menu_func_import) - bpy.types.INFO_MT_file_export.remove(menu_func_export) + bpy.types.TOPBAR_MT_file_import.remove(menu_func_import) + bpy.types.TOPBAR_MT_file_export.remove(menu_func_export) if __name__ == "__main__": register() 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() |