You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将FBX文件动画曲线偏移至零帧?脚本运行异常求助

解决Maya脚本批量偏移FBX动画曲线至零帧时仅弹出导入窗口的问题

问题根源分析

脚本运行仅弹出导入窗口、后续操作停滞,核心原因有两点:

  • FBX导入弹窗阻塞脚本:Maya默认打开FBX文件时会弹出导入选项窗口,脚本会暂停等待用户手动确认,导致后续代码无法执行。
  • 路径字符错误:你的folder_path中第一个字符是西里尔字母С(而非英文半角C),Maya无法正确识别该路径,可能导致找不到目标FBX文件。

此外,原脚本还存在鲁棒性问题:未判断场景是否存在关键帧,且会偏移场景中所有对象的关键帧(可能包含非骨骼对象)。

修正后的脚本

import os
import glob
import maya.cmds as cmds

# 修正路径字符:使用英文半角C,确保Maya可识别路径
folder_path = "C:/123"
# 批量获取目标文件夹下的所有FBX文件
fbx_files = glob.glob(os.path.join(folder_path, "*.fbx"))

# 预设FBX导入选项,禁用弹窗
cmds.FBXImportOptions(s=True, v=False)  # s=显示设置,v=关闭导入弹窗

for file_path in fbx_files:
    # 强制导入FBX,无弹窗自动完成
    cmds.file(file_path, open=True, force=True, type="FBX", ignoreVersion=True, options="fbx")
    
    # 筛选场景中的骨骼对象(仅处理骨骼动画)
    skeletons = cmds.ls(type="joint")
    if not skeletons:
        print(f"文件 {file_path} 未检测到骨骼,跳过处理")
        cmds.file(new=True, force=True)
        continue
    
    # 获取骨骼的第一帧关键帧时间
    first_key = cmds.findKeyframe(skeletons, which="first")
    if not first_key:
        print(f"文件 {file_path} 骨骼无关键帧,跳过处理")
        cmds.file(new=True, force=True)
        continue
    
    # 将所有骨骼关键帧偏移至零帧
    cmds.keyframe(skeletons, edit=True, timeChange=-first_key)
    
    # 导出处理后的FBX文件
    base_name = os.path.splitext(os.path.basename(file_path))[0]
    export_path = os.path.join(folder_path, f"{base_name}_offset.fbx")
    cmds.file(
        export_path,
        force=True,
        type="FBX export",
        options="v=0;",
        preserveReferences=True,
        exportSelected=False
    )
    
    # 新建空场景,准备处理下一个文件
    cmds.file(new=True, force=True)

# 最后清理场景
cmds.file(new=True, force=True)

关键修改说明

  • 禁用导入弹窗:通过cmds.FBXImportOptions预设导入参数,打开文件时指定type="FBX"和options="fbx",实现无弹窗自动导入。
  • 修正路径字符:替换西里尔字母为英文半角C,确保Maya能正确定位文件路径。
  • 精准处理骨骼:通过cmds.ls(type="joint")筛选骨骼对象,避免偏移场景中无关对象的关键帧。
  • 添加异常判断:检查骨骼存在性、关键帧存在性,避免脚本因异常情况中断。

内容的提问来源于stack exchange,提问作者Steve Maden

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 17:37:17