def export(self, **args): armature = args.get('armature', None) mesh = args.get('mesh', None) camera = args.get('camera', None) lamp = args.get('lamp', None) filepath = args.get('filepath', '') self.__scale = args.get('scale', 1.0) if args.get('use_frame_range', False): self.__frame_start = bpy.context.scene.frame_start self.__frame_end = bpy.context.scene.frame_end if args.get('use_pose_mode', False): self.__bone_converter_cls = vmd.importer.BoneConverterPoseMode if armature or mesh: vmdFile = vmd.File() vmdFile.header = vmd.Header() vmdFile.header.model_name = args.get('model_name', '') vmdFile.boneAnimation = self.__exportBoneAnimation(armature) vmdFile.shapeKeyAnimation = self.__exportMorphAnimation(mesh) vmdFile.save(filepath=filepath) elif camera or lamp: vmdFile = vmd.File() vmdFile.header = vmd.Header() vmdFile.header.model_name = u'カメラ・照明' vmdFile.cameraAnimation = self.__exportCameraAnimation(camera) vmdFile.lampAnimation = self.__exportLampAnimation(lamp) vmdFile.save(filepath=filepath)
def __init__(self, filepath, scale=1.0, bone_mapper=None, use_pose_mode=False, convert_mmd_camera=True, convert_mmd_lamp=True, frame_margin=5, use_mirror=False): self.__vmdFile = vmd.File() self.__vmdFile.load(filepath=filepath) logging.debug(str(self.__vmdFile.header)) self.__scale = scale self.__convert_mmd_camera = convert_mmd_camera self.__convert_mmd_lamp = convert_mmd_lamp self.__bone_mapper = bone_mapper self.__bone_util_cls = BoneConverterPoseMode if use_pose_mode else BoneConverter self.__frame_margin = frame_margin + 1 self.__mirror = use_mirror