From 17e76149a13329e4d8e0200679006a80f587a1f7 Mon Sep 17 00:00:00 2001 From: khreathor Date: Wed, 9 Jan 2019 02:04:05 +0100 Subject: [PATCH] Adjust playback range on import, to fit mdl's animation length --- tools/io_mesh_qfmdl/export_mdl.py | 1 - tools/io_mesh_qfmdl/import_mdl.py | 6 ++++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/tools/io_mesh_qfmdl/export_mdl.py b/tools/io_mesh_qfmdl/export_mdl.py index 0344c4561..5e9ea43e0 100644 --- a/tools/io_mesh_qfmdl/export_mdl.py +++ b/tools/io_mesh_qfmdl/export_mdl.py @@ -346,7 +346,6 @@ def export_mdl( if not mdl.skins: make_skin(operator, mdl, mesh) if not mdl.frames: - curframe = context.scene.frame_current for fno in range(context.scene.frame_start, context.scene.frame_end + 1): context.scene.frame_set(fno) mesh = obj.to_mesh(context.depsgraph, True, calc_undeformed=False) #wysiwyg? diff --git a/tools/io_mesh_qfmdl/import_mdl.py b/tools/io_mesh_qfmdl/import_mdl.py index 7b67d6d09..15e1cf063 100644 --- a/tools/io_mesh_qfmdl/import_mdl.py +++ b/tools/io_mesh_qfmdl/import_mdl.py @@ -184,13 +184,16 @@ def build_shape_keys(mdl): mdl.obj.shape_key_add(name="Basis",from_mix=False) mdl.mesh.shape_keys.name = mdl.name mdl.obj.active_shape_key_index = 0 + bpy.context.scene.frame_end = 0 for i, frame in enumerate(mdl.frames): frame = mdl.frames[i] if frame.type: for j in range(len(frame.frames)): make_shape_key(mdl, i, j) + bpy.context.scene.frame_end += 1 else: make_shape_key(mdl, i) + bpy.context.scene.frame_end += 1 def set_keys(act, data): for d in data: @@ -395,6 +398,9 @@ def import_mdl(operator, context, filepath, **opts): mdl.obj.select_set(True) bpy.context.view_layer.objects.active = mdl.obj setup_skins(mdl, uvs) + + bpy.context.scene.frame_start = 1 + bpy.context.scene.frame_end = 1 if len(mdl.frames) > 1 or mdl.frames[0].type: build_shape_keys(mdl) merge_frames(mdl)