在 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
,你可以在同一個蒙太奇文件內,實現多段動畫的自由分支和中途切換,大幅提升動態交互和連招表現力。