assetstudio 中文文档 下载 App

Animator 动画 — FBX 导出、绑定 AnimationClip、splitObjects 模式

Animator 和 AnimationClip 的关系

Unity 里 Animator 是动画状态机控制器(一个 .controller 文件),它引用多个 AnimationClip 作为状态节点的动画片段。AssetStudio 里 Animator 和 AnimationClip 都是独立条目,但导出时需要关联起来。

三种导出方式

方式一:从 Scene Hierarchy 导出带绑定动画的模型

这是最常用的方式——导出来的 FBX 是完整的:网格 + 骨骼 + Animator + 绑定的 AnimationClip。步骤:

  1. Scene Hierarchy 里找到要导出的 GameObject;
  2. 选中它;
  3. 菜单 Model → Export selected objects with AnimationClip;
  4. 选输出目录。

AssetStudio 会自动从这个 GameObject 的 Animator 上取所有绑定的 AnimationClip,一起打包进 FBX。

方式二:从 Asset List 手动 Ctrl 多选

如果你想精确控制导出哪些 Clip:

  1. Asset List 里 Filter Type 只勾 Animator 和 AnimationClip;
  2. 选中一个 Animator → Ctrl 点击 选中你想打包的 AnimationClip;
  3. 右键 → Export → Export Animator with selected AnimationClip;
  4. 选输出目录。

这种方式可以把一个 Animator 绑定的 10 个 Clip 里只导出其中 3 个。

方式三:AssetStudioMod CLI splitObjects

AssetStudioMod 的 CLI 提供了 -m splitObjects 模式——它会把所有 GameObject + 绑定的 Animator + AnimationClip 拆成独立 FBX 文件导出,是批量自动化场景的首选:

AssetStudioModCLI <asset folder path> -m splitObjects -o <output folder>

还能加筛选:

AssetStudioModCLI <path> -m splitObjects --filter-by-name character,hero --fbx-scale-factor 10

导出前的预览

动画相关的资源没有独立的动画预览窗口(AssetStudio 不做动画播放)。导出前能检查的只有:

常见问题

导出的 FBX 没有动画

最常见原因:导出方式错了。用 Asset List 直接 Export Selected Assets 导 Animator 只会导出控制器本身,不带 Clip。必须用:

动画播放时模型位置 / 朝向跳变

Unity 的 AnimationClip 里可能包含位移和旋转关键帧。如果导入到 Blender / Maya 里发现模型在原点和远处跳变,检查 FBX 里有没有 Root Motion——Unity 的 Humanoid 动画会把根节点位移烘焙进动画数据。AssetStudio 导出时保留了这些数据,导入后在 Blender 里手动清一下根节点动画曲线就行。

Animator 导成 JSON 还是 FBX

原版 AssetStudio 里 Animator 条目默认在 Asset List 里不显示(因为不可直接导出贴图那样的格式)。但可以用 Dump Selected Assets 把 Animator 结构导出成 JSON——里面会有完整的状态机图、参数表、每个 Clip 的引用关系。适合研究 Unity 动画系统结构。