跳至主要内容

眼部動畫輔助工具

除了唇形同步之外,Runtime MetaHuman Lip Sync 外掛程式還包含兩個用於動畫化 MetaHuman 眼睛的選用輔助工具:

  • 自動眨眼:一個輔助工具,可在 MetaHuman 上產生自然、隨機的眨眼動作
  • 視線追蹤:一個動畫藍圖節點,可讓 MetaHuman 的眼睛注視世界空間中的某個位置

這些功能完全獨立於嘴型同步,可單獨使用、搭配使用,或與嘴型同步節點結合使用。它們被設計為輕量級、即插即用的輔助工具,無需手動製作即可為角色添加逼真的眼部行為。

功能預覽

自動眨眼:自動眼睛眨動
眼睛注視:追蹤玩家攝影機
眼睛注視:跟隨移動中的目標角色

影片逐步解說

兩個輔助工具的完整逐步解說,包含舊版骨架的因應措施。

何時使用這些輔助工具

若您的臉部動畫流程已包含眨眼與動態視線,可跳過此頁面。這些輔助工具專為以下情境設計:當您希望獲得擬真眼部行為卻無需自行製作時,例如動畫序列未包含眨眼,或需要眼睛動態追蹤移動目標(靜態動畫序列無法達成此功能)。它們也可疊加於既有臉部動畫之上,補足缺失元素,例如在僅有嘴部動畫的序列中加入眨眼效果。

自動眨眼輔助工具透過驅動 MetaHuman 臉部控制骨架的 CTRL_L_eye_blinkCTRL_R_eye_blink 曲線,產生隨機且自然的眨眼效果。

運作方式

每一幀,您從臉部動畫藍圖的事件圖表中呼叫 Update MetaHuman Auto Blink,並傳入該幀的增量時間。該函式:

  1. 追蹤每個角色的狀態(下次眨眼時間、當前睜眼/閉眼階段等),並以呼叫的 AnimInstance 作為鍵值
  2. 回傳兩個介於 0..1 範圍內的浮點數值,分別代表左眼和右眼目前的閉合程度
  3. 接著將這些數值儲存在藍圖變數中,並將其輸入至動畫圖表中的 控制骨架 節點

設定

兩個步驟: 在事件圖表中加入眨眼呼叫,然後將數值輸入到動畫圖表中的控制骨架節點。

在您的臉部動畫藍圖(例如 Face_AnimBP 或您複製/拷貝的版本,請參閱設定指南)中,開啟事件圖表,並在事件藍圖更新動畫中加入以下內容:

  1. 呼叫 更新 MetaHuman 自動眨眼
  2. 將(來自事件的)Delta Time X 連接到 Delta Seconds
  3. (可選)設定 Config 結構。預設值已呈現自然效果
  4. Left Blink ValueRight Blink Value 提升為藍圖變數(例如 LeftBlinkValueRightBlinkValue

Auto Blink Event Graph setup

在同一個動畫藍圖的動畫圖表中:

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

Auto Blink Anim Graph setup

位置至關重要

將控制骨架節點放置在唇形同步混合節點(以及任何其他臉部動畫節點)之後,這樣眨眼數值就不會被其他邏輯覆寫。

設定

Update MetaHuman Auto Blink 節點接受一個可選的 Config 結構體。預設值對大多數角色來說已經相當自然,若您想調整行為,請展開下方內容。

設定屬性

時間安排

屬性預設描述
眨眼最小間隔時間2.0 秒眼睛完全睜開時,眨眼的最小間隔時間。
眨眼間隔最大值4.0 秒眨眼間的最大間隔。實際間隔會在最小值與最大值之間隨機產生。
最小閉合保持時間0.04 秒眼睛完全閉合的最短時間。
最大閉合保持時間0.08 秒眼睛完全閉合的最長時間。

插值

屬性預設描述
關閉插值速度35.0閉眼速度。人類閉眼的速度比睜眼快,因此此數值刻意設定得比睜眼速度高。
開啟插值速度18.0睜眼速度。
閉合閾值0.97眨眼被視為「完全閉合」且保持階段開始的數值。
Open Threshold0.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. 動畫圖表:新增節點

在您的臉部動畫藍圖的動畫圖表中:

  1. 新增一個 Runtime MetaHuman Eyes Aim 節點
  2. 在詳細資訊面板中,將模式保留為曲線
  3. 將其放置於所有可能寫入眼部注視曲線的臉部邏輯(如唇形同步、自訂動畫等)之後,此原則與自動眨眼控制骨架節點相同
  4. 將現有姿勢連接到來源姿勢
  5. 將輸出連接到鏈中的下一個節點(或輸出姿勢
  6. 建立一個向量藍圖變數(例如目標世界位置),並將其連接到節點的目標世界位置接腳。您將在下一步的事件圖表中更新此變數。

Eyes Aim Anim Graph setup

2. 事件圖表:輸入目標位置

目標世界位置(Target World Location)接腳預期接收一個世界空間的 FVector。常見的應用情境是讓 MetaHuman 注視玩家攝影機。在事件藍圖更新動畫(Event Blueprint Update Animation)中:

  1. 取得玩家攝影機管理器(玩家索引 0)
  2. 檢查是否有效
  3. 若有效,則呼叫取得攝影機位置
  4. 將其儲存在 TargetWorldLocation 藍圖變數中

Eyes Aim, tracking the camera

若要追蹤任意角色(NPC、物品、興趣點),請改為每幀取得該角色的位置,並將其儲存在同一個變數中。若為固定凝視點,請在節點的詳細資訊面板中,將目標世界位置設定為一次性值或常數。

設定

所有設定皆顯示於 Runtime MetaHuman Eyes Aim 節點的詳細資訊面板中。

目標與限制

目標

屬性預設描述
Mode曲線選擇眼睛驅動的方式。請參閱選擇模式
目標世界位置(0,0,0)眼睛注視的世界空間點。預設情況下作為引腳暴露。
bEnabledtrue當設為 false 時,眼睛會自然回到正前方並忽略目標。預設情況下會以引腳形式公開。

夾鉗

屬性預設描述
最大偏航角度35°頭部前方方向的最大水平(偏航)偏轉角度。限制範圍為 0 到 80。
最大俯仰角度25°頭部前方方向的最大垂直(俯仰)偏轉角度。限制範圍為 0 到 80。
反轉後方防護true防止目標在頭部後方時眼睛翻轉。
平滑處理與跳視

平滑處理

屬性預設描述
插值速度12.0眼睛動作的平滑速度。數值越高,動作越乾脆俐落;數值越低,動作越緩慢慵懶。

眼跳

微眼動是真實眼睛持續進行的微小隨機視線移動。加入此效果可避免完美平滑追蹤所產生的「死魚眼」外觀。

屬性預設描述
啟用眼跳true切換微跳視的開啟/關閉。
Saccade Yaw Amplitude Deg1.5°每次眼跳的最大水平抖動幅度。較小的數值(1–2°)感覺自然;較大的數值則顯得抽搐。
Saccade Pitch Amplitude Deg1.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_blinkCTRL_R_eye_blinkCTRL_expressions_eyeLook*)以及標準的眼部骨骼(FACIAL_L_EyeFACIAL_R_Eye)。這些工具不適用於自訂的非 MetaHuman 角色。

需要協助嗎?

Join our Discord
online · support

如需客製化開發需求,請聯絡 [email protected]