如果你的游戏里有角色,动画系统是绕不过去的。
idle、走路、跑步、跳跃、攻击、受击、死亡……角色的每个动作,都是动画。UE5的动画系统比较庞杂,但核心就是让角色在不同的动画之间平滑过渡,并且能根据游戏逻辑动态切换。
这篇文章把UE5动画系统的核心知识讲清楚。
动画资产类型
UE5里有几种动画相关的资产:
- Animation Sequence(动画序列):一段单独的动画(比如”走路”动画、”跳跃”动画)
- Blend Space(混合空间):让两个或多个动画根据参数平滑混合(比如根据移动速度,在”走路”和”跑步”之间过渡)
- Anim Montage(动画蒙太奇):一段可以被打断、可以加通知的动画(比如”攻击”动画,可以在某一帧触发”检测伤害”的逻辑)
- Anim Blueprint(动画蓝图):控制动画逻辑的蓝图(最核心的动画资产)
- IK(Inverse Kinematics,反向动力学)设置:让角色的脚贴合地面、手抓握物体
动画蓝图(Anim Blueprint)核心概念
事件图表(Event Graph)
跟普通蓝图的事件图表类似,用来计算动画参数。比如:
- 获取角色的移动速度(用
Get Velocity节点,计算向量的长度) - 获取角色是否在空中(用
Is Falling节点) - 把这些值传递给动画状态机
动画图表(Anim Graph)
这是动画蓝图最核心的部分。在这里搭建动画逻辑——哪些动画状态、怎么过渡、怎么混合。
动画图表里的节点,最终会输出一个Pose(姿势),这个Pose就是最终播放的动画。
状态机(State Machine):动画系统的核心
状态机定义了角色有哪些动画状态,以及怎么在这些状态之间切换。
创建一个状态机
- 在动画图表里,右键 →
State Machine,创建一个状态机节点 - 双击状态机节点,进入状态机编辑界面
- 右键 →
Add State,添加状态(比如Idle、Walk、Run、Jump) - 右键状态 →
Add Rule from Other State,创建状态切换规则
状态切换规则(Transition Rule)
每个状态切换都有一个规则(一条线连接两个状态)。双击这条线,可以编辑规则。
规则本质上是一个Boolean值:
- 如果返回
true,就切换状态 - 如果返回
false,就不切换
比如:从Idle切换到Walk的规则可以是:Speed > 10(移动速度大于10时,开始走路)。
混合时间(Blend Time)
状态切换时,不是瞬间切换的,而是有一个混合时间(比如0.2秒)。这样动画过渡更平滑,不会出现”瞬移”的感觉。
在切换规则里,可以设置Blend Time(混合时间)和Blend Option(混合曲线,比如Cubic让过渡更自然)。
混合空间(Blend Space):让动画过渡更细腻
状态机处理”离散”的状态切换(比如从”站立”到”走路”,是两个截然不同的状态)。但有些情况是”连续”的——比如移动速度从0到100,动画应该从”站立”平滑过渡到”走路”再到”跑步”。
混合空间就是干这个的。
创建1D混合空间
- 在Content Browser里右键 → Animation → Blend Space 1D
- 选择动画使用的骨骼(比如
UE4_Mannequin_Skeleton) - 双击打开,设置:
Horizontal Axis > Name:轴名称(比如”Speed”)Horizontal Axis > Min/Max:轴的最小值和最大值(比如0到375)
- 把动画序列拖到混合空间里对应的位置(比如”Idle”放在0的位置,”Walk”放在150的位置,”Run”放在375的位置)
- UE5会自动在它们之间做混合
创建2D混合空间
2D混合空间有两个轴,可以做更复杂的混合。比如:
- X轴 = 移动速度(0-375)
- Y轴 = 方向(-180到180度,或者”前进/后退/左移/右移”)
这样可以根据移动速度和移动方向,混合出”前走”、”后走”、”左走”、”右走”的动画。
动画蒙太奇(Anim Montage):做”可打断”的动画
状态机里的动画是”循环的”(比如走路动画会一直播,直到切换到其他状态)。但有些动画是”一次性的”(比如攻击动作、受击动作),播完就回到之前的状态。
动画蒙太奇就是用来做这种一次性动画的。
创建和使用蒙太奇
- 把一个动画序列右键 →
Create Anim Montage - 双击打开,可以编辑:
Sections(段落):把蒙太奇分成几段,可以只播其中一段Notifies(通知):在某一帧触发一个事件(比如”攻击”蒙太奇的第10帧,触发”检测伤害”的事件)Branching Points(分支点):让蒙太奇可以在某一点停下来,等待蓝图指令再继续
- 在角色蓝图里,用
Play Montage节点来播放蒙太奇
IK(反向动力学):让脚贴合地面
默认情况下,角色的脚是按照动画序列摆的——如果地面是斜的,脚可能会”悬空”或者”插到地下”。
IK就是解决这个问题的。 IK让你可以”指定脚应该放在哪里”,而不是”按照动画摆脚”。
在UE5里使用IK
- 在动画蓝图的
Anim Graph里,添加Two Bone IK节点(用于手臂/腿的IK)或者FABRIK节点(更通用的IK解算器) - 设置
Effector Location(目标位置)—— 一般是用射线检测(Line Trace)来检测地面位置,把这个结果作为IK的目标位置 - 在角色骨骼里,要确保IK骨骼(比如
ik_foot_l、ik_foot_r)已经设置好了(UE4/UE5的曼尼肯骨骼一般都有)
Sequencer:做动画短片/过场动画
前面讲的都是”实时动画”(游戏过程中,根据玩家输入实时播放的动画)。但如果你要做过场动画(Cutscene)、影片,那就需要用Sequencer。
Sequencer的核心概念
- 镜头(Camera Shot):定义每个镜头的位置、角度、运动
- 关键帧(Keyframe):在时间轴上打关键帧,Sequencer会自动补间
- 轨道(Track):每个Actor有一条轨道,可以在上面 Key 它的属性(位置、旋转、缩放、材质参数等)
用Sequencer做过场动画的流程
- 在关卡里放置要参与表演的Actor(角色、摄像机、道具等)
- 打开
Cinematics模式(工具栏里的电影图标),创建一个Level Sequence - 在Sequencer里,给每个Actor添加轨道,Key关键帧
- 添加摄像机轨道,调整镜头角度和运动
- 播放预览,调整节奏
- 渲染输出(用
Render Movie功能)
招聘需求参考(Boss直聘,2026年6月)
看了40多个”UE5动画”相关职位,总结:
- 熟练使用动画蓝图:能搭建完整的状态机和混合空间
- 会用Sequencer:能做过场动画、镜头运动
- 了解IK:知道怎么让角色脚贴合地面
- 会导入和使用动作捕捉数据:能把动捕数据转换成UE5的动画序列
- 加分项:会用
Control Rig(UE5的骨骼绑定和动画工具)、会做程序化动画(Procedural Animation)
相关课程: 火星人教育UE5动画系统培训课程,涵盖状态机、混合空间、蒙太奇、IK、Sequencer全流程。

评论(0)