教程操作教程阅读约 8 分钟
在 Unreal Engine 5 里自动绑定角色: 从静态网格体到带动画的骨骼网格体
右键点击网格体,选 Rig with AFK AI,一分钟后,同一个文件夹里就有了带骨骼、物理资产和动画的骨骼网格体。
Hero · Static Mesh
AFK AI
Rig with AFK AI
Edit… · Duplicate · Rename …
- HeroStatic Mesh
- Hero_riggedSkeletal Mesh
- Hero_rigged_SkeletonSkeleton
- Hero_rigged_PhysicsAssetPhysics Asset
- …_Idle_AAnimation Sequence
- …_WalkAnimation Sequence
- …_JogAnimation Sequence
- …
Unreal Engine 能把角色动画做得很漂亮,却不会替你绑定骨骼。从雕刻软件或资源商店素材包里拿来的静态网格体,没有骨骼也没有蒙皮权重,所以通常得绕个弯:先导出,到 Blender 或 Mixamo 里绑定,再作为骨骼网格体导回来,然后找合适的动画。
AFK AI 插件省掉了这个弯路。在 Content Browser 里右键点击网格体,选 Rig with AFK AI。大约一分钟后,同一个文件夹里就会出现一个名为 Hero_rigged 的骨骼网格体,骨骼、物理资产和动画都有,直接就能用于动画蓝图。不用编译 C++,所以纯蓝图项目也能用。
准备工作
- Unreal Engine
- 5.1 及以上版本,支持 Windows、Mac 和 Linux。纯蓝图项目也没问题。
- 网格体
- 从
.fbx、.glb或.gltf文件导入的静态网格体或骨骼网格体,最大 50 MB。AFK AI 拿到的是这个原始文件。 - afk.ai 账号
- 免费,用 Google 账号登录。每次绑定消耗账号当月的一次绑定次数,和在 afk.ai/rig 上一样。
- 网络
- 绑定在 afk.ai 的服务器上运行。
安装插件
- 从 Unreal Engine 插件页面下载插件并解压,得到一个名为
AFKAI的文件夹。 - 把它放进项目的
Plugins文件夹,和.uproject文件在同一级:MyGame/Plugins/AFKAI/AFKAI.uplugin。没有Plugins文件夹就新建一个。 - 打开项目,或者重启项目。插件会启用 Unreal 自带的两个插件:Python Editor Script Plugin 和 Editor Scripting Utilities。如果 Unreal 要求重启,点同意。
编辑器的菜单栏里会出现 AFK AI 菜单。想在所有项目里都能用,就把文件夹放进 Unreal 安装目录下的 Engine/Plugins/Marketplace/AFKAI,然后在每个项目的 Edit > Plugins 里分别启用。
登录并绑定
- 选择 AFK AI > Sign in...。浏览器会打开 afk.ai,用 Google 账号登录,再回到 Unreal。AFK AI 菜单会显示你的邮箱和本月剩余的绑定次数。
- 在 Content Browser 里右键点击网格体,选 Rig with AFK AI。(也可以选中它,再选 AFK AI > Rig the selected mesh...。)
- 一个小窗口会让你选 Body type(Human,或者对应的动物、生物类型)、Animations(All animations,或者只要骨骼就选 Rig only)和 Facing(保持 Auto)。窗口标题会提示这次会消耗一次绑定次数。点 OK。
- 继续干活就行。AFK AI 菜单会显示进度,Output Log 里以“AFK AI”开头的行也会显示。
如果浏览器回不到 Unreal(防火墙拦住了,或者 Unreal 在另一台电脑上),afk.ai 页面会显示一个登录码。选择 AFK AI > I have a sign-in code...,粘贴登录码,点 OK。
你会得到什么
- Skeletal Mesh(骨骼网格体):
Hero_rigged,和原模型在同一个文件夹,已自动选中。原网格体不做任何改动。 - Skeleton(骨骼):为该身体类型打造。人类有 66 根骨骼,每根手指 3 个关节,按 Unreal 自己的 Mannequin 骨骼命名:pelvis、spine_01、clavicle_l、upperarm_l、thigh_l 等等。
- Physics Asset(物理资产):导入时生成,用于布娃娃效果和碰撞。
- 动画:每个动画一个 Animation Sequence。人形模型最多 593 个:待机、走路、慢跑、冲刺、跳跃、闪避,剑、盾、弓和手枪的动作,舞蹈、受击和死亡。免费账号能用免费动画,套餐解锁其余全部。
- FBX 文件:
Hero_rigged.fbx,保存在原始源文件旁边;如果那里写不进去,就保存在项目的Saved/AFK AI文件夹里。再绑定一次会得到Hero_rigged_2,不会覆盖任何东西。
和其他导入一样,新资产要保存后才会写入磁盘:File > Save All。

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 ... (右侧相同)不写代码,先看它动起来
把 Hero_rigged 拖进关卡。在它的 Details 面板里,找到 Animation,把 Animation Mode 设为 Use Animation Asset,在 Anim to Play 里选一个动画(比如 Walk),保持 Looping 开启。点 Play,或者直接在视口里看。
想快速检查每个动画,就双击任意一个 Animation Sequence:动画编辑器会打开,并在角色上播放它。
给玩家角色做一个动画蓝图
经典设置:静止时待机,加速时先走路,再慢跑。
- 右键点击
Hero_rigged,选 Create > Anim Blueprint,命名为ABP_Hero。 - 在它的 Event Graph 里添加一个名为
Speed的 float 变量。从 Event Blueprint Update Animation 出发,调用 Try Get Pawn Owner,用 Is Valid 检查一下,再接 Get Velocity 和 Vector Length XY,把结果赋给Speed。 - 在 AnimGraph 里右键,选 Add New State Machine,命名为
Locomotion,连到 Output Pose。 - 在状态机里建 3 个状态:Idle、Walk 和 Jog,从 Asset Browser 里分别把 Idle_A、Walk 和 Jog 动画拖进去,连到各自的 Output Animation Pose。
- 在状态之间画双向过渡,规则基于
Speed(单位为厘米每秒):Speed > 10 时从 Idle 到 Walk,Speed > 300 时从 Walk 到 Jog,速度降下来时再反向切回。 - 在角色蓝图里选中 Mesh 组件,把 Skeletal Mesh Asset 设为
Hero_rigged,Anim Class 设为ABP_Hero。把它往下移到胶囊体底部,并转向蓝色箭头的方向,和模板里的 Mannequin 一样。
更想从 C++ 开始?思路相同,最简单的版本:游戏开始时循环播放一个动画。
// HeroCharacter.h
UPROPERTY(EditAnywhere, Category = "Animation")
TObjectPtr<UAnimSequence> IdleAnimation;
// HeroCharacter.cpp
#include "Animation/AnimSequence.h"
void AHeroCharacter::BeginPlay()
{
Super::BeginPlay();
if (IdleAnimation)
{
GetMesh()->PlayAnimation(IdleAnimation, /*bLooping=*/ true);
}
}用几行 Python 开启根运动
有些动画会自带位移,让角色向前移动:名字以 _RM 结尾,比如 Roll_RM、Dodge_left_RM 或 Sword_Dash_RM。其余动画原地播放。Unreal 需要逐个动画开启根运动,而插件已经启用了 Unreal 的 Python,所以几行代码就能一次全部开启。把 Output Log 的命令行从 Cmd 切换到 Python,粘贴下面的代码:
import unreal
folder = "/Game/Characters" # the folder Hero_rigged is in
for path in unreal.EditorAssetLibrary.list_assets(folder, recursive=False):
anim = unreal.EditorAssetLibrary.load_asset(path)
if isinstance(anim, unreal.AnimSequence) and anim.get_name().endswith("_RM"):
anim.set_editor_property("enable_root_motion", True)
unreal.EditorAssetLibrary.save_loaded_asset(anim)
unreal.log("Root motion on: " + anim.get_name())然后,如果要在状态机里播放这些动画,就在 ABP_Hero 的 Class Defaults 里把 Root Motion Mode 设为 Root Motion from Everything;或者把它们作为蒙太奇播放。
与 UE5 Mannequin 互相重定向
骨骼按 Mannequin 的骨骼命名,所以 Unreal 的重定向器几乎不用手动调整就能对应上。两个方向都行:把第三人称模板的动画用到你的角色上,或者把 afk.ai 的动画用到 Manny 和 Quinn 身上。
在 Unreal 5.4 及以上版本中:
- 右键点击一个动画(比如模板里的某个动画),选 Retarget Animations(最新版本里叫 Retarget Animation Assets)。
- 把 Target Preview Mesh 设为
Hero_rigged。源就是这个动画原本配套的网格体。 - 保持 Auto Generate Retargeter 开启:Unreal 会自动生成 IK Rig 和 IK Retargeter。
- 勾选想要的动画,点 Export Animations,选一个文件夹,再点 Export。
把源和目标对调,就能把 Hero_rigged 的动画用到 Mannequin 上。在 5.1 到 5.3 版本中,要为每套骨骼各建一个 IK Rig,再在它们之间建一个 IK Retargeter,然后用重定向器的 Export Selected Animations。不管哪种方式,正式使用前都先把几个结果完整播一遍,尤其注意手部。
生物和道具
同样右键一下,就能绑定龙、马、恐龙、蜘蛛或鲨鱼:在选项窗口里选好身体类型就行。每种都有为它的身体打造的骨骼,以及为这套骨骼制作的动画,比如扇翅膀、奔跑、咆哮、游泳,所以开放世界游戏里的野生动物不用再找绑定师。道具选 Object 类型:弹跳、旋转、晃动和挤压拉伸,适合拾取物和门。动物教程列出了每种身体类型及其动画。
- 龙
- 四足
- 有蹄类
- 恐龙
- 蜘蛛
- 鱼
怎样算一次绑定
每次请求到达 AFK AI 的绑定,都会消耗本月的一次绑定次数,和在 afk.ai/rig 及其他 AFK AI 插件里一样。Stop waiting 只是让 Unreal 不再等待:绑定不会停,照样计次。绑定失败不计次数,提示信息会说明原因。AFK AI 菜单会显示剩余的绑定次数;用完后,See plans 会打开 afk.ai 的套餐。
出问题时怎么办
- 找不到 AFK AI 菜单
- 在 Edit > Plugins 里确认 AFK AI 和 Python Editor Script Plugin 都已启用,然后重启。如果是别的问题,Output Log 会显示“AFK AI couldn't start”以及原因。
- 提示“has no source file recorded”或“was imported from a .obj file”
- AFK AI 需要原始的
.fbx、.glb或.gltf。把模型导出为其中一种,导入后再绑定。 - 提示“Couldn't find Hero's source file”
- 文件在导入后挪了位置。右键点击网格体,选 Reimport With New File,选文件现在的位置,再绑定一次。
- 提示“Unreal didn't import it as a skeletal mesh”
- 绑定成功了,FBX 保存在提示信息所说的位置。把它拖进 Content Browser,以 Skeletal Mesh 连同动画一起导入。Unreal 5.5 及以上版本的新导入器可能会出现这种情况。
- 提示“Couldn't make a secure connection to AFK AI”
- 代理、杀毒软件或公司防火墙挡住了连接。换个网络试试。
- 绑定失败
- 看一下提示信息。通常换一个身体类型,或者让模型站直、面朝前方,就能解决。
常见问题
Unreal Engine 5 自己能自动绑定角色吗?
静态网格体不行。Unreal 能在已有的骨骼之间重定向动画,也有手动搭建和编辑骨骼的工具,但没有能替你绑定网格体的功能。AFK AI 插件补上的正是这一步:把静态网格体变成带蒙皮权重和动画的骨骼网格体,之后就交给 Unreal。
需要 C++ 或 Visual Studio 吗?
不需要。插件是 Unreal 自己就能运行的 Python,不用编译,所以纯蓝图项目也能用。上面的 C++ 只是给本来就用 C++ 的项目准备的。
支持哪些 Unreal Engine 版本?
Unreal Engine 5.1 及以上版本,支持 Windows、Mac 和 Linux。
能绑定从 .obj 导入的模型吗?
不能直接绑定:插件上传的是网格体的原始源文件,只接受 .fbx、.glb 或 .gltf。在 3D 软件里把模型导出为其中一种,导入后再绑定。
能用 UE5 Mannequin 的动画吗?
能。骨骼按 Mannequin 的骨骼命名,所以重定向器几乎不用设置就能对应上,两个方向都行。参见上文的“与 UE5 Mannequin 互相重定向”。
绑定好的角色能用在要卖的游戏里吗?
能。骨骼和动画采用 CC0,模型仍归你所有。
想在别的软件里用,绑定好的文件在哪?
Hero_rigged.fbx 保存在原始源文件旁边,或项目的 Saved/AFK AI 文件夹里。Blender、Maya 和任何能读 FBX 的软件都能打开它,动画也都在。
Unity 或 Blender 也有插件吗?
有。参见 Unity 和 Blender 教程,AFK AI 插件总览介绍了全部 9 款软件。
绑定模型,让它动起来
AI 在浏览器里完成绑定,模型就能直接播放几百个动画。下载一个 GLB,什么引擎都能用。
更多教程
操作教程
在 Blender 里自动绑定角色:免费的 AFK AI 插件
选中模型,点 Rig,大约一分钟后,绑定好、带动画的副本就站在它旁边。支持 Blender 4.2 及以上版本。
操作教程
在 Unity 里自动绑定任意 3D 模型:直接可用的 Humanoid,动画片段齐全
在 Project 窗口里选中模型,点 Rig。一分钟后,绑定好的 FBX 就在它旁边,已设为 Humanoid,每个动画都是一个片段。
对比
9 款 3D 软件和游戏引擎的自动绑定插件:Blender、Maya、Unity、Unreal 等
9 款软件,各有一个 AFK AI 插件。选中模型,点 Rig,大约一分钟后,模型就带着骨骼和动画回到场景或项目里。