Skip to content

Commit 8edfa02

Browse files
committed
Support for importing multiple motions at once
1 parent e52086c commit 8edfa02

File tree

1 file changed

+19
-14
lines changed

1 file changed

+19
-14
lines changed

mmd_tools/operators/fileio.py

+19-14
Original file line numberDiff line numberDiff line change
@@ -269,6 +269,10 @@ class ImportVmd(Operator, ImportHelper):
269269
description='Import the motion as NLA strips',
270270
default=False,
271271
)
272+
files: bpy.props.CollectionProperty(
273+
type=OperatorFileListElement,
274+
)
275+
directory: bpy.props.StringProperty(subtype='DIR_PATH')
272276

273277
@classmethod
274278
def poll(cls, context):
@@ -310,20 +314,21 @@ def execute(self, context):
310314
translator=DictionaryEnum.get_translator(self.dictionary),
311315
).init
312316

313-
start_time = time.time()
314-
importer = vmd_importer.VMDImporter(
315-
filepath=self.filepath,
316-
scale=self.scale,
317-
bone_mapper=bone_mapper,
318-
use_pose_mode=self.use_pose_mode,
319-
frame_margin=self.margin,
320-
use_mirror=self.use_mirror,
321-
use_NLA=self.use_NLA,
322-
)
323-
324-
for i in selected_objects:
325-
importer.assign(i)
326-
logging.info(' Finished importing motion in %f seconds.', time.time() - start_time)
317+
for file in self.files:
318+
start_time = time.time()
319+
importer = vmd_importer.VMDImporter(
320+
filepath=os.path.join(self.directory, file.name),
321+
scale=self.scale,
322+
bone_mapper=bone_mapper,
323+
use_pose_mode=self.use_pose_mode,
324+
frame_margin=self.margin,
325+
use_mirror=self.use_mirror,
326+
use_NLA=self.use_NLA,
327+
)
328+
329+
for i in selected_objects:
330+
importer.assign(i)
331+
logging.info(' Finished importing motion in %f seconds.', time.time() - start_time)
327332

328333
if self.update_scene_settings:
329334
auto_scene_setup.setupFrameRanges()

0 commit comments

Comments
 (0)