教程操作教程阅读约 8 分钟
在 Unity 里自动绑定任意 3D 模型: 直接可用的 Humanoid,动画片段齐全
在 Project 窗口里选中模型,点 Rig。一分钟后,绑定好的 FBX 就在它旁边,已设为 Humanoid,每个动画都是一个片段。
AFK AI
Signed in as you@example.comSign out
Model
Hero.fbx
Body typehuman
All animationsRig only
FacingAuto
Adding the animations...
- Hero.fbx
- Hero_rigged.fbxHumanoid
- └Idle_ALoop Time ✓
- └WalkLoop Time ✓
- └Jump_Startonce
- └Sword_Attackonce
- └…
- └Hero_riggedAvatarAvatar
在 Unity 里让角色动起来,通常要绕道 Mixamo。先导出 FBX 并上传,在下巴、手腕、手肘和膝盖上放标记点,再一个个下载动画,然后把每个文件设为 Humanoid,给每个片段勾上 Loop Time。而且它只支持人形角色。
AFK AI 的包在 Unity 编辑器里的一个窗口中就能完成这一切。在 Project 窗口里选中模型,点 Rig。大约一分钟后,Hero_rigged.fbx 就出现在 Hero.fbx 旁边,已经设为 Humanoid,每个动画都是一个片段,走路和待机也已设为循环。
在 Unity 里用 Mixamo 还是 AFK AI
Mixamo 免费,人形动画库也很大。AFK AI 省去了来回折腾,还能绑动物和道具,人形模型一个文件就带最多 593 个动画。免费账号能用免费动画,套餐解锁其余全部。
| Mixamo | Unity 里的 AFK AI | |
|---|---|---|
| 在哪用 | 网站:上传、绑定、下载 | Unity 编辑器里的一个窗口 |
| 你要做什么 | 在下巴、手腕、手肘、膝盖和裆部放标记点 | 选身体类型,点 Rig |
| 支持的身体 | 只支持人形 | 人形,外加 14 种其他身体类型 |
| 动画 | 一次下载一个 | 该身体类型的全部动画,在一个 FBX 里 |
| Unity 设置 | 手动:设为 Humanoid,再给每个片段开 Loop Time | 已设好:Humanoid,每个动画一个片段,循环已开启 |
| 登录 | Adobe 账号 | afk.ai 账号,用 Google 登录 |
安装包
- 从 Unity 插件页面下载包:一个
.tgz文件。把它放在项目外一个不会挪动的位置,因为 Unity 会从这个文件读取包。 - 在 Unity 里打开 Window > Package Manager,点左上角的 +,选 Add package from tarball...。
- 选你下载的
.tgz文件,不要解压。 - 打开 Window > AFK AI,把窗口停靠到任意位置。
支持 Unity 2021.3 及以上版本,包括 Unity 6,Built-in、URP 和 HDRP 渲染管线都能用:插件只涉及模型导入。它的所有代码都只在编辑器里运行,不会有任何东西进入你的游戏。
登录
- 在 AFK AI 窗口里点 Sign in。浏览器会打开 afk.ai 的登录页面,用 Google 账号登录。
- 浏览器显示“You're signed in”后,关掉标签页,回到 Unity:窗口会显示你的邮箱和本月剩余的绑定次数。
如果浏览器回不到 Unity(有些安全软件会拦截),afk.ai 会改为显示一个登录码。在 AFK AI 窗口里展开 I have a sign-in code,粘贴进去,点 Use code。
登录信息保存在这台电脑上你的用户对应的 Unity 设置里,从不写进项目,所以分享或提交项目时不会连带分享出去。
绑定模型
- 在 Project 窗口里选中模型:
.fbx、.glb或.gltf文件,最大 50 MB。已经放进场景的模型也行:插件会上传它的源文件。只有装了 glTF 导入器,Unity 才会把.glb文件显示为模型,但不管装没装,插件都能上传。 - 在 AFK AI 窗口里设置 Body type:人物和所有两条腿走路的角色选 human,动物或生物就选对应的类型。
- 保持 All animations 开启,或者只要骨骼就选 Rig only。Facing 保持 Auto。
- 点 Rig。窗口会显示进度:上传、等待、绑定、添加动画、下载。这期间可以继续干活,关掉窗口也不会中断。
完成后,Hero_rigged.fbx 会保存在 Hero.fbx 旁边,在 Project 窗口里处于选中并高亮状态。原文件不做任何改动。
Unity 里得到什么
- Humanoid:人类模型导入为 Humanoid 绑定,带有自己的 Avatar(
Hero_riggedAvatar),所以能和其他所有 Humanoid 角色双向共用动画。Unity 会自动把骨骼对应到 Humanoid 槽位,手指也包括在内。 - Generic:其他所有身体类型,从狐狸到龙,都导入为 Generic 绑定。
- 片段:每个动画是一个单独的片段,名字和 afk.ai 上一样:Idle_A、Walk、Jog、Sprint、Jump_Start、Sword_Attack 等等。
- 循环:名字表明会重复的片段(idle、walk、run、fly、swim 之类)已开启 Loop Time。Jump_Start、Sword_Attack、Death_A 这类一次性的动画只播一次。
- 根运动:名字以 _RM 结尾的动画(Roll_RM、Dodge_left_RM)会自带位移,让角色向前移动;其余动画原地播放。
如果 Unity 没法把骨骼对应到 Humanoid 骨骼上,插件会改为把模型设为 Generic,并说明原因。动画照样能播放,只是不能和其他 Humanoid 角色共用。

root └ pelvis └ spine_01 └ spine_02 └ spine_03 └ neck_01 └ head └ clavicle_l └ upperarm_l └ lowerarm_l └ hand_l └ thumb_01_l thumb_02_l thumb_03_l └ index_01_l index_02_l index_03_l └ middle_01_l middle_02_l middle_03_l └ ring_01_l ring_02_l ring_03_l └ pinky_01_l pinky_02_l pinky_03_l └ clavicle_r ... (右侧相同) └ thigh_l └ calf_l └ foot_l └ ball_l └ thigh_r ... (右侧相同)设置 Animator
下面搭一个混合树,角色加速时从待机过渡到走路、慢跑再到冲刺,再给一个按键触发剑击:
- 把
Hero_rigged.fbx拖进场景。它已经带有 Animator 和对应的 Avatar。给它加一个 Character Controller,并关闭 Animator 上的 Apply Root Motion(由脚本来移动角色)。 - 在 Project 窗口里选择 Create > Animator Controller(Unity 6 里是 Create > Animation > Animator Controller),命名为
Hero,拖到 Animator 的 Controller 字段上。 - 打开它(Window > Animation > Animator)。在 Parameters 里添加一个名为
Speed的 Float 和一个名为Attack的 Trigger。 - 在图表上右键,选 Create State > From New Blend Tree。双击它,把参数设为
Speed,添加 4 个 motion:Hero_rigged.fbx里的 Idle_A、Walk、Jog 和 Sprint(在 Project 窗口里点它的箭头就能看到片段)。关闭 Automate Thresholds,把阈值设为角色的实际移动速度,比如 0、1.5、3.5 和 6。 - 回到 Base Layer,把 Sword_Attack 片段拖进来。从混合树到它建一个过渡,条件设为
Attack,关闭 Has Exit Time,让它立刻开始;再建一个回到混合树的过渡,开启 Has Exit Time。 - 给角色加上这个脚本:
using UnityEngine;
// Moves the character and tells its Animator how fast it's going.
[RequireComponent(typeof(Animator), typeof(CharacterController))]
public class HeroAnimation : MonoBehaviour
{
static readonly int Speed = Animator.StringToHash("Speed");
static readonly int Attack = Animator.StringToHash("Attack");
[SerializeField] float runSpeed = 6f;
Animator animator;
CharacterController controller;
void Awake()
{
animator = GetComponent<Animator>();
controller = GetComponent<CharacterController>();
}
void Update()
{
// The Input Manager's axes. With only the Input System package, read your Move action here instead.
var input = new Vector3(Input.GetAxis("Horizontal"), 0f, Input.GetAxis("Vertical"));
var move = Vector3.ClampMagnitude(input, 1f) * runSpeed;
controller.SimpleMove(move);
if (move.sqrMagnitude > 0.01f) transform.rotation = Quaternion.LookRotation(move);
animator.SetFloat(Speed, move.magnitude, 0.1f, Time.deltaTime); // eased, so the blend doesn't snap
if (Input.GetButtonDown("Fire1")) animator.SetTrigger(Attack);
}
}
点 Play:用摇杆或方向键,角色会待机、走路、慢跑和冲刺,点鼠标就挥剑。
和其他角色共用动画
绑定好的人类模型是 Humanoid,Unity 会自动帮你重定向。把任何 Humanoid 片段放上去,不管来自 Asset Store 还是你自己的动画库,都能直接播放。反过来,它的片段也能在你已有的任何 Humanoid 角色上播放:把 Hero_rigged.fbx 的 Sprint 片段拖进另一个角色的 Animator Controller,它就能跑起来。
动物和生物是 Generic,它们的片段只能在自己的骨骼上播放。不过,AFK AI 绑定为同一身体类型的模型,骨骼名和动画名都一样,所以一只狐狸的 Animator Controller 能驱动你绑定的任何其他狐狸。
动物、生物和道具
点 Rig 之前,先在窗口里选好身体类型:狗、猫、狼选 fox,有蹄类选 horse,还有 bird、dragon,恐龙选 kaiju,以及 spider、insect、snake、fish、kangaroo、frog、turtle、ghost,会弹跳、旋转、晃动的道具选 object。每种都有为它的身体打造的骨骼,以及为这套骨骼制作的动画,导入后都是 Generic 绑定,片段和循环同样已设好。动物教程列出了每种类型配套的内容。
- 龙
- 四足
- 有蹄类
- 恐龙
- 蜘蛛
- 鱼
怎样算一次绑定
每次点 Rig,只要 AFK AI 接受了请求,就会消耗本月的一次绑定次数,和在 afk.ai/rig 或其他 AFK AI 插件里绑定一样。绑定失败不计次数。Stop waiting 只是让 Unity 不再等待,绑定不会停,照样计次。如果连接断了,Try again 会接着取回同一次绑定,绝不会重复计次。次数用完后,窗口会显示 See plans,点击打开 afk.ai 的套餐。
出问题时怎么办
- 登录后浏览器回不到页面
- 用 I have a sign-in code。
- 连不上 AFK AI
- 检查网络连接,然后点 Try again。它会接着取回同一次绑定。
- 模型太大
- AFK AI 接受最大 50 MB 的模型。导出一个更轻的版本,减少面数或缩小贴图。
- 提示“keeps its data in separate files”
- 这是旁边带着
.bin的.gltf。改为导出.glb。 - 片段不该循环却在循环
- 选中
Hero_rigged.fbx,在 Inspector 里打开 Animation 标签页,选中那个片段,修改 Loop Time,再点 Apply。 - 点 Rig 没反应
- 先在 Project 窗口里选中一个
.fbx、.glb或.gltf。窗口会提示缺了什么。
常见问题
还需要 Mixamo 吗?
不需要。插件一步完成绑定和动画导入,并设为 Humanoid。你仍然可以给它用 Mixamo 的动画:以任意 Humanoid 角色下载,设为 Humanoid,就能在你的角色上播放。
AFK AI 的包会打进游戏构建吗?
不会。它的所有代码都在只用于编辑器的程序集里。留在项目里的只有绑定好的 FBX,一个普通的模型资源。
支持 Unity 6 吗?
支持。Unity 2021.3 及之后的所有版本都能用,包括 Unity 6。
能在 Unity 里绑定 .glb 或 .gltf 模型吗?
能。插件会原样上传文件,即使 Unity 没装 glTF 导入器、不把它显示为模型也一样。返回的是 FBX,Unity 不用装任何额外的东西就能导入。.gltf 必须把所有内容内嵌在里面;否则就导出 .glb。
绑定结果能用于 VRChat 虚拟形象吗?
能。绑定好的人类模型是 Humanoid,每根手指都有,正是 VRChat 需要的。其余设置参见 VRChat 教程。
角色朝向不对怎么办?
把 Facing 设为模型实际转过的角度(90°、180° 或 270°),再绑定一次。大多数模型用 Auto 就能自动判断。
能用脚本批量绑定整个文件夹的模型吗?
插件一次只绑定一个模型。批量绑定和构建流水线,可以用绑定 API,通过命令行或你自己的代码调用。
Unreal、Godot 或 Blender 也有插件吗?
有:Unreal Engine、Godot 和 Blender 都有各自的教程,AFK AI 插件总览介绍了全部 9 款软件。
绑定模型,让它动起来
AI 在浏览器里完成绑定,模型就能直接播放几百个动画。下载一个 GLB,什么引擎都能用。
更多教程
操作教程
在 Blender 里自动绑定角色:免费的 AFK AI 插件
选中模型,点 Rig,大约一分钟后,绑定好、带动画的副本就站在它旁边。支持 Blender 4.2 及以上版本。
操作教程
在 Unreal Engine 5 里自动绑定角色:从静态网格体到带动画的骨骼网格体
右键点击网格体,选 Rig with AFK AI,一分钟后,同一个文件夹里就有了带骨骼、物理资产和动画的骨骼网格体。
对比
9 款 3D 软件和游戏引擎的自动绑定插件:Blender、Maya、Unity、Unreal 等
9 款软件,各有一个 AFK AI 插件。选中模型,点 Rig,大约一分钟后,模型就带着骨骼和动画回到场景或项目里。