Пример #1
0
def export_abc(file_name, attrs=(), selected_mode=False, start_frame=1, end_frame=1):
    """
    export selected dag nodes to abc.
    :param file_name:
    :param attrs:
    :param start_frame:
    :param end_frame:
    """
    # 检测参数
    if not (isinstance(attrs, list) or isinstance(attrs, tuple)):
        log.error("TypeError: Invalid arguments for attrs. Excepted list, got {type}".format(type=type(attrs)))
    # 加载abc插件
    safe_load_plugin("AbcExport")
    # 构建导出脚本
    if selected_mode:
        all_trans = selected(assemblies=True)
    else:
        all_trans = ls(assemblies=True)
    cameras = ls(cameras=True)
    cam_trans = [listRelatives(i, parent=True)[0] for i in cameras]
    model_groups = list(set(all_trans) - set(cam_trans))
    j_string = "-frameRange {start_frame} {end_frame} -stripNamespaces -uvWrite -worldSpace \
                -writeVisibility -file {tar_path} ".format(
        tar_path=file_name, start_frame=start_frame, end_frame=end_frame
    )
    # -添加导出属性
    for attr in attrs:
        j_string += "-attr %s " % attr
    # -添加选中组
    for root in model_groups:
        j_string += "-root %s " % root
    # 导出
    AbcExport(j=j_string)
Пример #2
0
def import_abc(file_name):
    # 加载abc插件
    safe_load_plugin("AbcExport")

    if os.path.isfile(file_name):
        if os.path.splitext(file_name)[-1] == '.abc':
            return AbcImport(file_name)
    return False
Пример #3
0
def import_abc(file_name):
    # 加载abc插件
    safe_load_plugin("AbcExport")

    if os.path.isfile(file_name):
        if os.path.splitext(file_name)[-1] == '.abc':
            return AbcImport(file_name)
    return False
Пример #4
0
def export_fbx(
    file_name,
    selected_mode=False,
):
    # 加载插件
    safe_load_plugin("fbxmaya")
    # 导出
    if selected_mode:
        mel.eval("FBXExport -f %s -s" % file_name)
    else:
        mel.eval("FBXExport -f %s" % file_name)
Пример #5
0
def export_abc(file_name,
               attrs=(),
               selected_mode=False,
               start_frame=1,
               end_frame=1):
    """
    export selected dag nodes to abc.
    :param file_name:
    :param attrs:
    :param selected_mode:
    :param start_frame:
    :param end_frame:
    """
    # 检测参数
    if not (isinstance(attrs, list) or isinstance(attrs, tuple)):
        log.error(
            "TypeError: Invalid arguments for attrs. Excepted list, got {type}"
            .format(type=type(attrs)))
    # 加载abc插件
    safe_load_plugin("AbcExport")
    # 构建导出脚本
    if selected_mode:
        all_trans = selected(assemblies=True)
    else:
        all_trans = ls(assemblies=True)
    cameras = ls(cameras=True)
    cam_trans = [listRelatives(i, parent=True)[0] for i in cameras]
    model_groups = list(set(all_trans) - set(cam_trans))
    j_string = "-frameRange {start_frame} {end_frame} -stripNamespaces -uvWrite -worldSpace \
                -writeVisibility -file {tar_path} ".format(
        tar_path=file_name, start_frame=start_frame, end_frame=end_frame)
    # -添加导出属性
    for attr in attrs:
        j_string += "-attr %s " % attr
    # -添加选中组
    for root in model_groups:
        j_string += "-root %s " % root
    # 导出
    AbcExport(j=j_string)