在 UE5 中,Animation Sequence(动画序列)和 Animation Montage(动画蒙太奇)虽然都能播放骨骼动画,但它们的定位、功能和使用场景有较大区别:
1. 概念定位
Animation Sequence(动画序列)
最基础的、线性的动画资产。
通常对应某个动作录像(例如走路、跑步、挥拳、跳跃等)的整段动画。
在 Animation Blueprint 或 Skeletal Mesh Component 上直接用
Play Animation
或者通过状态机(State Machine)切换播放。
Animation Montage(动画蒙太奇)
建立在 Animation Sequence 之上的复合体。
允许将多个 Sequence 片段剪辑、拼接、分段播放,并支持刻度化管理、分段跳转、事件绑定、Slot 分层等高级功能。
主要用于一次性或动态触发的动作,比如攻击连招、特殊技能、受击击飞等。
2. 功能对比
功能点 | Animation Sequence | Animation Montage |
---|---|---|
播放方式 | 线性播放 | 可以按段播放、跳段(Section)、循环某段 |
Slot 分层 | 无 | 可定义多个 Slot,让不同角色部位(手臂、身体)同时播放不同动画 |
分段管理(Sections) | 无 | 可将蒙太奇划分为多个 Section,便于蓝图或代码中跳转 |
Notify 事件 | 支持 Notify,但相对单一 | 支持在每个 Section 或特定帧添加 Notify,实现更灵活的事件触发 |
Blend In/Out | 依赖外部 Blend(如状态机过渡) | 内置 Blend In/Out 参数,可在蒙太奇自身设置过渡时间 |
动态控制 | 只能在状态机里通过权重或直接播放 | 在角色蓝图中可通过 Montage Play 、Montage Stop 、Montage Jump to Section 、Montage Jump to Sections End 等节点灵活控制 |
组合动画 | 需要手动在状态机里切换 | 可以在一个蒙太奇里串联多个 Sequence,实现连招或组合动作 |
3. 使用场景
Animation Sequence
通常用于角色的基础移动、待机、简单的循环动作。
放在 Animation Blueprint 的状态机(State Machine)中,通过条件切换不同状态。
Animation Montage
适合触发式动作:一击必杀技能、拾取物品、死亡受击、互动动画等。
需要在 Gameplay Ability(能力系统)、角色 C++/蓝图逻辑中动态播放或打断中使用。
多段连招、分段跳转尤为方便。
4. 小结
虽然从表面看,两者都是播放骨骼动画,但蒙太奇是在时序控制、分段跳转、事件触发、Layered Animation 等方面提供了大量便利,适用于更复杂、可控性更高的动画需求;而普通动画序列则更轻量、适合状态机下的循环或单一动作播放。
Montage Jump to Section 有什么用?
在 Animation Montage 里,每个 Montage 可以被划分成若干个 Section(段落),比如 “Combo1”、“Combo2”、“Recover” 等。
“Montage Jump to Section” 节点的作用,就是让你在运行时直接跳转到蒙太奇中任意一个已定义的段落,从而实现更灵活的动画控制。
主要用途
连招切换
当玩家在第一段攻击(Section “Attack1”)时,如果条件满足(比如再次按攻击键),就可以调用
Montage Jump to Section("Attack2")
,直接跳到第二段攻击动画,形成连招效果。
动画中断与过渡
如果角色在动画进行到一半时,受到外部事件(如被打断、拾取道具)需要切换到其他动画,可用
Jump to Section("Interrupt")
,从当前任意帧直接切换到“Interrupt”段。
动态分支
不同状态下希望复用同一个蒙太奇资源,但希望跳到不同逻辑段落。例如跑动时遇到障碍,跳到“Vault”段;遇到滑杆,跳到“Slide”段。
事件触发同步
结合 AnimNotify,在蒙太奇播放到某个帧触发 C++/蓝图事件,再根据游戏逻辑决定下一步跳转哪个 Section,实现代码和动画的紧耦合控制。
在蓝图中的典型用法
Event 输入 → Branch 判断条件 → True: Montage Jump to Section("NextCombo") → Montage Play (或继续播放) False: (保持当前,或跳转到 Recover)
获取当前 Montage 实例
通常通过
Get Anim Instance
→Cast To YourAnimBP
→Montage Is Playing
判断。
调用 Jump 节点
Montage Jump to Section
节点需要输入两个参数:Section Name:你在蒙太奇编辑器里定义的段落名称(字符串)。
Montage To Jump:要跳转的 Montage 资源引用(如果不显式提供,默认为当前正在播放的那个)。
小贴士
命名规范:给 Section 取清晰意义的名字(如 “Combo1”、“Combo2”、“HitReact”),便于在逻辑中调用。
预留过渡段:可在段落之间插入一个小的过渡 Section,用于自定义 Blend 时间或播放特殊过度帧。
安全调用:在跳转前最好用
Is Valid Montage
和Is Playing Montage
确认当前状态,避免调用不存在的段落导致错误。
通过 Montage Jump to Section
,你可以在同一个蒙太奇文件内,实现多段动画的自由分支和中途切换,大幅提升动态交互和连招表现力。