def execute(self, context): selected_objects = set(context.selected_objects) for i in frozenset(selected_objects): root = mmd_model.Model.findRoot(i) if root == i: rig = mmd_model.Model(root) selected_objects.add(rig.armature()) selected_objects.add(rig.morph_slider.placeholder()) selected_objects |= set(rig.meshes()) bone_mapper = None if self.bone_mapper == 'PMX': bone_mapper = makePmxBoneMap elif self.bone_mapper == 'RENAMED_BONES': bone_mapper = vmd_importer.RenamedBoneMapper( rename_LR_bones=self.rename_bones, use_underscore=self.use_underscore, translator=DictionaryEnum.get_translator(self.dictionary), ).init for f in self.files: importer = vpd_importer.VPDImporter( filepath=os.path.join(self.directory, f.name), scale=self.scale, bone_mapper=bone_mapper, use_pose_mode=self.use_pose_mode, ) for i in selected_objects: importer.assign(i) return {'FINISHED'}
def execute(self, context): selected_objects = list(context.selected_objects) for i in selected_objects: root = mmd_model.Model.findRoot(i) if root == i: rig = mmd_model.Model(root) arm = rig.armature() if arm not in selected_objects: selected_objects.append(arm) for m in rig.meshes(): if m not in selected_objects: selected_objects.append(m) bone_mapper = None if self.bone_mapper == 'PMX': bone_mapper = makePmxBoneMap elif self.bone_mapper == 'RENAMED_BONES': bone_mapper = vmd_importer.RenamedBoneMapper( rename_LR_bones=self.rename_bones, use_underscore=self.use_underscore, translator=DictionaryEnum.get_translator(self.dictionary), ).init start_time = time.time() importer = vmd_importer.VMDImporter( filepath=self.filepath, scale=self.scale, bone_mapper=bone_mapper, use_pose_mode=self.use_pose_mode, frame_margin=self.margin, ) for i in selected_objects: importer.assign(i) logging.info(' Finished importing motion in %f seconds.', time.time() - start_time) if self.update_scene_settings: auto_scene_setup.setupFrameRanges() auto_scene_setup.setupFps() context.scene.frame_set(context.scene.frame_current) return {'FINISHED'}