眼部動畫輔助工具
除了唇形同步之外,Runtime MetaHuman Lip Sync 外掛程式還包含兩個用於動畫化 MetaHuman 眼睛的選用輔助工具:
- 自動眨眼:一個輔助工具,可在 MetaHuman 上產生自然、隨機的眨眼動作
- 視線追蹤:一個動畫藍圖節點,可讓 MetaHuman 的眼睛注視世界空間中的某個位置
這些功能完全獨立於嘴型同步,可單獨使用、搭配使用,或與嘴型同步節點結合使用。它們被設計為輕量級、即插即用的輔助工具,無需手動製作即可為角色添加逼真的眼部行為。
功能預覽
影片逐步解說
兩個輔助工具的完整逐步解說,包含舊版骨架的因應措施。
若您的臉部動畫流程已包含眨眼與動態視線,可跳過此頁面。這些輔助工具專為以下情境設計:當您希望獲得擬真眼部行為卻無需自行製作時,例如動畫序列未包含眨眼,或需要眼睛動態追蹤移動目標(靜態動畫序列無法達成此功能)。它們也可疊加於既有臉部動畫之上,補足缺失元素,例如在僅有嘴部動畫的序列中加入眨眼效果。
自動眨眼
自動眨眼輔助工具透過驅動 MetaHuman 臉部控制骨架的 CTRL_L_eye_blink 與 CTRL_R_eye_blink 曲線,產生隨機且自然的眨眼效果。
運作方式
每一幀,您從臉部動畫藍圖的事件圖表中呼叫 Update MetaHuman Auto Blink,並傳入該幀的增量時間。該函式:
- 追蹤每個角色的狀態(下次眨眼時間、當前睜眼/閉眼階段等),並以呼叫的
AnimInstance作為鍵值 - 回傳兩個介於 0..1 範圍內的浮點數值,分別代表左眼和右眼目前的閉合程度
- 接著將這些數值儲存在藍圖變數中,並將其輸入至動畫圖表中的 控制骨架 節點
設定
兩個步驟: 在事件圖表中加入眨眼呼叫,然後將數值輸入到動畫圖表中的控制骨架節點。
1. 事件圖表:每幀驅動眨眼數值
在您的臉部動畫藍圖(例如 Face_AnimBP 或您複製/拷貝的版本,請參閱設定指南)中,開啟事件圖表,並在事件藍圖更新動畫中加入以下內容:
- 呼叫
更新 MetaHuman 自動眨眼 - 將(來自事件的)Delta Time X 連接到 Delta Seconds
- (可選)設定 Config 結構。預設值已呈現自然效果
- 將 Left Blink Value 和 Right Blink Value 提升為藍圖變數(例如
LeftBlinkValue、RightBlinkValue)

2. 動畫圖表:將數值輸入至臉部控制骨架
在同一個動畫藍圖的動畫圖表中:
- 在控制骨架節點之後放置,該節點應位於所有可能寫入眨眼曲線的臉部邏輯之後(例如在
混合執行時期 MetaHuman 嘴型同步及任何自訂臉部動畫層之後) - 在節點的詳細資訊面板中,將控制骨架類別(在 UE 5.8+ 中為控制骨架資產參考)設定為您的 MetaHuman 臉部控制骨架。路徑通常為:
/All/Game/MetaHumans/Common/Face/Face_ControlBoard_CtrlRig- 您的專案可能因 MetaHuman 的匯入方式而有不同的路徑。
- 在詳細資訊面板中,展開輸入區段,並啟用使用引腳於:
CTRL_L_eye_blinkCTRL_R_eye_blink
- 將您的
LeftBlinkValue變數連接到CTRL_L_eye_blink - 將您的
RightBlinkValue變數連接到CTRL_R_eye_blink

將控制骨架節點放置在唇形同步混合節點(以及任何其他臉部動畫節點)之後,這樣眨眼數值就不會被其他邏輯覆寫。
設定
Update MetaHuman Auto Blink 節點接受一個可選的 Config 結構體。預設值對大多數角色來說已經相當自然,若您想調整行為,請展開下方內容。
設定屬性
時間安排
| 屬性 | 預設 | 描述 |
|---|---|---|
| 眨眼最小間隔時間 | 2.0 秒 | 眼睛完全睜開時,眨眼的最小間隔時間。 |
| 眨眼間隔最大值 | 4.0 秒 | 眨眼間的最大間隔。實際間隔會在最小值與最大值之間隨機產生。 |
| 最小閉合保持時間 | 0.04 秒 | 眼睛完全閉合的最短時間。 |
| 最大閉合保持時間 | 0.08 秒 | 眼睛完全閉合的最長時間。 |
插值
| 屬性 | 預設 | 描述 |
|---|---|---|
| 關閉插值速度 | 35.0 | 閉眼速度。人類閉眼的速度比睜眼快,因此此數值刻意設定得比睜眼速度高。 |
| 開啟插值速度 | 18.0 | 睜眼速度。 |
| 閉合閾值 | 0.97 | 眨眼被視為「完全閉合」且保持階段開始的數值。 |
| Open Threshold | 0.02 | 眨眼被視為「完全睜開」並排程下一次眨眼的數值。 |
雜項
| 屬性 | 預設 | 描述 |
|---|---|---|
| 獨立眼睛 | false | 當設為 true 時,左右眼會以各自獨立的時間間隔分別眨眼。當設為 false(預設值)時,雙眼則會完全同步眨眼。 |
bEnabled(功能引腳) | true | 當設為 false 時,眼睛會緩緩睜開並暫停眨眼。適用於過場動畫、睡眠、死亡等情境。 |
運行時控制
您也可以呼叫 Reset Auto Blink State 來明確清除指定 AnimInstance 的內部狀態(例如在角色重生或切換過場動畫狀態時)。
眼睛注視
眼睛瞄準輔助工具是一個動畫藍圖節點(Runtime MetaHuman Eyes Aim),可讓角色的眼睛追蹤世界空間中的位置,例如玩家攝影機、其他角色或任何移動目標。它支援偏航/俯仰限制、平滑處理、目標經過頭部後方時的反轉保護,以及可選的微跳視功能以增加真實感。
選擇模式
節點支援兩種模式,可透過節點詳細資訊面板中的 模式 下拉選單進行選擇:
| Mode | 它所驅動的內容 | 應放置於何處 |
|---|---|---|
| 曲線(預設) | 臉部控制綁定的眼神曲線(CTRL_expressions_eyeLook*) | 在臉部動畫藍圖(例如 Face_AnimBP)中,在控制綁定節點之前 |
| 骨骼 | 直接繞過控制骨架(Control Rig),使用 FACIAL_L_Eye / FACIAL_R_Eye 骨骼。 | 在臉部後處理動畫藍圖(例如 Face_PostProcess_AnimBP)中,在 AnimNode_RigLogic 節點之後 |
曲線模式是建議的預設模式。它能與其他基於曲線的臉部系統(如唇形同步、表情、ARKit 混合變形等)乾淨地組合,因為數值是透過正常的控制骨架評估來結合,而非爭奪骨骼變換。
在某些 MetaHuman 變體(特別是較舊的骨架,包括透過 Quixel Bridge 下載的某些版本)上,視線曲線實際上並不會驅動眼睛。可見的症狀是,當曲線模式節點啟用時,眼睛會向下看,瞳孔幾乎被隱藏,無論目標位置為何。
如果您看到此訊息,請切換至骨骼模式。骨骼模式會直接旋轉眼部骨骼,因此無論控制骨架如何連接,都能適用於所有MetaHuman變體。請參閱下方設定中的骨骼分頁。
設定
- 曲線模式(預設)
- 骨骼模式(備用方案)
預設設定。該節點位於標準的臉部動畫藍圖中,並驅動臉部控制綁定的視線曲線。
兩個步驟: 先將節點加入你的動畫圖表,再從事件圖表中提供目標位置給它。
1. 動畫圖表:新增節點
在您的臉部動畫藍圖的動畫圖表中:
- 新增一個
Runtime MetaHuman Eyes Aim節點 - 在詳細資訊面板中,將模式保留為曲線
- 將其放置於所有可能寫入眼部注視曲線的臉部邏輯(如唇形同步、自訂動畫等)之後,此原則與自動眨眼控制骨架節點相同
- 將現有姿勢連接到來源姿勢
- 將輸出連接到鏈中的下一個節點(或
輸出姿勢) - 建立一個
向量藍圖變數(例如目標世界位置),並將其連接到節點的目標世界位置接腳。您將在下一步的事件圖表中更新此變數。

2. 事件圖表:輸入目標位置
目標世界位置(Target World Location)接腳預期接收一個世界空間的 FVector。常見的應用情境是讓 MetaHuman 注視玩家攝影機。在事件藍圖更新動畫(Event Blueprint Update Animation)中:
- 取得玩家攝影機管理器(玩家索引 0)
- 檢查是否有效
- 若有效,則呼叫取得攝影機位置
- 將其儲存在
TargetWorldLocation藍圖變數中

若要追蹤任意角色(NPC、物品、興趣點),請改為每幀取得該角色的位置,並將其儲存在同一個變數中。若為固定凝視點,請在節點的詳細資訊面板中,將目標世界位置設定為一次性值或常數。
若曲線模式方法不適用於您的 MetaHuman 變體(請參閱上方警告),請使用此設定。在骨骼模式中,節點會直接旋轉眼部骨骼,且必須在控制骨架完成評估之後執行,這表示它應歸屬於臉部後處理動畫藍圖,而非一般的臉部動畫藍圖。
三個步驟: 找到後處理動畫藍圖,在 RigLogic 之後加入節點,然後從該藍圖的事件圖表中提供目標位置。
1. 找到臉部後處理動畫藍圖
- 打開您的 MetaHuman 的臉部骨架網格資產(例如 MetaHuman 資料夾下的
Face) - 在資產的詳細資訊面板中,找到後處理動畫藍圖欄位
- 打開該資產,通常命名為類似
Face_PostProcess_AnimBP的名稱
2. 動畫圖表:在 RigLogic 之後添加節點
在臉部後處理動畫藍圖的動畫圖表中:
- 找到現有的
AnimNode_RigLogic節點(它會將臉部控制綁定曲線轉換為骨骼變換) - 在
AnimNode_RigLogic之後、Output Pose之前,新增一個Runtime MetaHuman Eyes Aim節點 - 在節點的詳細資訊面板中,將 模式 設定為 骨骼
- 將
AnimNode_RigLogic連接到 Eyes Aim 節點的 來源姿勢 - 將 Eyes Aim 節點的輸出連接到
Output Pose - 在此後處理動畫藍圖中建立一個
Vector藍圖變數(例如TargetWorldLocation),並將其連接到節點的 目標世界位置 接腳

預設的骨骼參考(FACIAL_L_Eye 和 FACIAL_R_Eye)符合標準的 MetaHuman 面部骨架。若您的角色使用自訂骨架且眼部骨骼名稱不同,請在節點的詳細資訊面板中,於骨骼類別下覆寫這些設定。
3. 事件圖表:輸入目標位置
由於該節點位於後處理動畫藍圖中,目標位置邏輯也必須存在於此藍圖的事件圖表中,而非 Face_AnimBP。其設定方式與曲線模式相同(取得攝影機位置、角色位置,或使用常數值),僅需在 Face_PostProcess_AnimBP 中執行即可。

任何不相關的邏輯(如嘴型同步、自動眨眼等)可以保留在一般的臉部動畫藍圖中。只有「眼睛注視」的目標位置計算需要移至此處。 面部控制綁定會根據其曲線,在每一影格強制驅動眼部骨骼。如果「眼睛注視」節點在常規的面部動畫藍圖(在控制綁定之前)中執行,控制綁定隨後會覆蓋骨骼旋轉。後處理動畫藍圖在控制綁定產生最終骨骼變換之後執行,因此它是應用最終骨骼旋轉的正確位置,以確保這些旋轉「勝出」。為什麼骨骼模式需要後處理動畫藍圖?
設定
所有設定皆顯示於 Runtime MetaHuman Eyes Aim 節點的詳細資訊面板中。
目標與限制
平滑處理與跳視
平滑處理
| 屬性 | 預設 | 描述 |
|---|---|---|
| 插值速度 | 12.0 | 眼睛動作的平滑速度。數值越高,動作越乾脆俐落;數值越低,動作越緩慢慵懶。 |
眼跳
微眼動是真實眼睛持續進行的微小隨機視線移動。加入此效果可避免完美平滑追蹤所產生的「死魚眼」外觀。
| 屬性 | 預設 | 描述 |
|---|---|---|
| 啟用眼跳 | true | 切換微跳視的開啟/關閉。 |
| Saccade Yaw Amplitude Deg | 1.5° | 每次眼跳的最大水平抖動幅度。較小的數值(1–2°)感覺自然;較大的數值則顯得抽搐。 |
| Saccade Pitch Amplitude Deg | 1.0° | 每次跳視的最大垂直抖動量。通常略小於偏擺幅度。 |
| 最小跳視間隔 | 0.6 秒 | 眼跳之間的最小時間間隔。 |
| 最大跳視間隔 | 2.5 秒 | 眼跳之間的最長時間。數值越大感覺越平靜,數值越小感覺越不安。 |
骨骼(僅限骨骼模式)
| 屬性 | 預設 | 描述 |
|---|---|---|
| 左眼骨骼 | FACIAL_L_Eye | 左眼骨骼名稱。符合標準 MetaHuman 面部骨架。 |
| 右眼骨骼 | FACIAL_R_Eye | 右眼骨骼名稱。符合標準 MetaHuman 面部骨架。 |
校準(僅限曲線模式)
這些數值定義了頭部空間角度如何映射到 MetaHuman 面部 CR 的眼部注視曲線值。預設值已針對標準 MetaHuman 面部 CR 進行調整,通常無需更改。
| 屬性 | 預設 | 描述 |
|---|---|---|
| 每個單位的偏航角度曲線 | 30° | 對應於偏航注視曲線值 1.0 的角度。 |
| 每個單位的音高程度曲線 | 25° | 對應至俯仰曲線值 1.0 的角度。 |
結合唇形同步與其他動畫
兩個輔助工具設計為可與插件的唇形同步節點及您既有的自訂臉部動畫共存。通用規則為:將「眼睛注視」與「控制骨架(自動眨眼)」節點置於唇形同步及任何自訂臉部動畫之後,確保其數值不會被後續流程覆寫。
查看詳細執行流程圖(曲線 vs.骨骼模式)
根據您的 MetaHuman 綁定使用的是建議的 曲線模式 還是備用的 骨骼模式,執行邏輯的放置位置將會有所不同。展開下方圖表,即可查看兩種管線的完整執行順序:
自動眨眼與嘴型同步在兩種模式下仍存在於常規的臉部動畫藍圖中。
關於身體動畫分層的詳細資訊,請參閱與現有動畫結合。
備註與限制
這些輔助工具是 MetaHuman 專用的。它們依賴於標準的 MetaHuman 面部控制骨架曲線名稱(CTRL_L_eye_blink、CTRL_R_eye_blink、CTRL_expressions_eyeLook*)以及標準的眼部骨骼(FACIAL_L_Eye、FACIAL_R_Eye)。這些工具不適用於自訂的非 MetaHuman 角色。
需要協助嗎?
如需客製化開發需求,請聯絡 [email protected]。