Example #1
0
    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)
Example #2
0
 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