跳至主要内容

外掛程式設定

模型設定​

為每個播放重新建立寫實模型生成器

為了確保與 Realistic 和 Mood-Enabled Realistic 模型穩定運作,請在每次新的音訊播放前重新建立生成器,而不要在長時間靜音期間重複使用同一個生成器。詳情請參閱疑難排解中的 生成器重新建立。

標準模型配置​

Create Runtime Viseme Generator 節點使用預設設定,在大多數情況下都能運作良好。設定是透過 Animation Blueprint 混合節點屬性來處理的。

關於 Animation Blueprint 的配置選項,請參閱下方的脣形同步配置章節。

寫實模型設定​

Create Realistic MetaHuman Lip Sync Generator 節點接受一個選用的 Configuration 參數,可讓您自訂產生器的行為:

模型類型​

模型類型設定決定要使用哪個版本的真實模型:

模型類型效能視覺品質雜訊處理建議使用情境
高度最佳化(預設)效能最高,CPU 使用率最低品質良好在背景雜訊或非語音聲音下可能出現明顯的嘴部動作乾淨的音訊環境、效能至關重要的情境
半最佳化效能良好,CPU 使用率適中高品質在嘈雜音訊下穩定性較佳效能與品質兼顧、混合音訊條件
原始適合在現代 CPU 上即時使用最高品質在背景雜訊與非語音聲音下最為穩定高品質製作、嘈雜的音訊環境、需要最高準確度時

效能設定​

Intra Op Threads: 控制用於內部模型處理作業的執行緒數量。

  • 0(預設/自動):使用自動偵測(通常為可用 CPU 核心數的 1/4,最多 4 個)
  • 1-16:手動指定執行緒數量。較高的數值可能會在多核心系統上提升效能,但會使用更多 CPU

Inter Op Threads: 控制用於平行執行不同模型操作的執行緒數量。

  • 0(預設/自動):使用自動偵測(通常為可用 CPU 核心數的 1/8,最多 2 個)
  • 1-8:手動指定執行緒數量。通常會保持較低以進行即時處理

處理區塊大小​

處理區塊大小決定每次推論步驟中處理的樣本數量。預設值為 160 個樣本(在 16kHz 下為 10 毫秒的音訊):

  • 較小的數值會提供更頻繁的更新,但會增加 CPU 使用率
  • 較大的數值可降低 CPU 負載,但可能會降低唇形同步的反應速度
  • 建議使用 160 的倍數以達到最佳對齊

Setting Processing Chunk Size

啟用情緒的模型設定​

Create Realistic MetaHuman Lip Sync With Mood Generator 節點提供了基本寫實模型以外的額外設定選項:

基本設定​

Lookahead Ms: 以毫秒為單位的預看時間,用於提升脣形同步準確度。

  • 預設:80ms
  • 範圍:20ms 至 200ms(必須能被 20 整除)
  • 較高的數值可提供更好的同步效果,但會增加延遲

輸出類型: 控制會產生哪些臉部控制項。

  • 全臉:全部 81 個臉部控制項(眉毛、眼睛、鼻子、嘴巴、下顎、舌頭)
  • 僅嘴部:僅嘴巴、下顎與舌頭相關的控制項

效能設定: 使用與一般寫實模型相同的 Intra Op Threads 和 Inter Op Threads 設定。

情緒設定​

可用的情緒:

  • 中性、開心、難過、厭惡、憤怒、驚訝、恐懼
  • 自信、興奮、無聊、俏皮、困惑

情緒強度: 控制情緒影響動畫的強烈程度(0.0 到 1.0)

執行階段情緒控制​

您可以在執行階段使用以下函式調整情緒設定:

  • 設定情緒:變更目前的情緒類型
  • 設定情緒強度:調整情緒影響動畫的強烈程度(0.0 至 1.0)
  • 設定前置時間(毫秒):修改用於同步的前置時間
  • 設定輸出類型:在 Full Face 與 Mouth Only 控制之間切換

Mood Configuration

情緒選擇指南​

根據您的內容選擇合適的情緒:

Mood最適合典型強度範圍
中性一般對話、旁白、預設狀態0.5 - 1.0
開心正面內容、愉快的對話、慶祝場合0.6 - 1.0
悲傷憂鬱的內容、情感場景、陰鬱的時刻0.5 - 0.9
厭惡負面反應、令人反感的內容、排斥0.4 - 0.8
憤怒具攻擊性的對話、對立場景、挫折感0.6 - 1.0
驚訝突發事件、揭露真相、震驚反應0.7 - 1.0
恐懼具威脅性的情境、焦慮、緊張的對話0.5 - 0.9
自信專業簡報、領導對話、果斷的言談0.7 - 1.0
興奮充滿活力的內容、公告、熱情的對話0.8 - 1.0
無聊單調的內容、興致缺缺的對話、疲憊的言談0.3 - 0.7
俏皮輕鬆的對話、幽默、輕鬆愉快的互動0.6 - 0.9
困惑充滿提問的對話、不確定、迷惘0.4 - 0.8

動畫藍圖設定​

唇形同步設定​

Blend Runtime MetaHuman Lip Sync 節點在其屬性面板中具有配置選項:

屬性預設值說明
插值速度25控制嘴型動作在視素之間轉換的速度。數值越高,轉換越快、越突兀。
重設時間0.2唇形同步重設前的持續時間(秒)。這有助於防止音訊停止後唇形同步仍持續進行。

笑聲動畫​

你也可以加入笑聲動畫,這些動畫會動態回應音訊中偵測到的笑聲:

  1. 新增 Blend Runtime MetaHuman Laughter 節點
  2. 將你的 RuntimeVisemeGenerator 變數連接到 Viseme Generator 接腳
  3. 如果你已經在使用脣形同步:
    • 將 Blend Runtime MetaHuman Lip Sync 節點的輸出連接到 Blend Runtime MetaHuman Laughter 節點的 Source Pose
    • 將 Blend Runtime MetaHuman Laughter 節點的輸出連接到 Output Pose 的 Result 引腳
  4. 如果只使用笑聲而不進行脣形同步:
    • 將你的來源姿勢直接連接到 Blend Runtime MetaHuman Laughter 節點的 Source Pose
    • 將輸出連接到 Result 接腳

Blend Runtime MetaHuman Laughter

當音訊中偵測到笑聲時,你的角色會據此動態地做出相應的動畫:

笑聲設定​

Blend Runtime MetaHuman Laughter 節點有其專屬的設定選項:

屬性預設值說明
插值速度25控制唇部動作在笑聲動畫之間轉換的速度。數值越高,轉換越快、越突兀。
重設時間0.2重設笑聲所需的持續時間(秒)。這有助於防止音訊停止後笑聲仍持續播放。
最大笑聲權重0.7縮放笑聲動畫的最大強度(0.0 - 1.0)。

注意: 笑聲偵測目前僅適用於 Standard Model。

與現有動畫結合​

影片逐步解說

偏好觀看而非閱讀嗎?請查看涵蓋此設定的影片教學。

若要在現有的身體動畫與自訂臉部動畫之外套用唇形同步與笑聲,而不覆寫它們:

身體動畫

此設定適用於臉部 Animation Blueprint,因為唇形同步不屬於身體 Animation Blueprint 的一部分。若需自訂身體動畫(例如軀幹、手臂及其他身體動作),只需將你的動畫序列(透過 Sequence Player)直接連接到身體 Animation Blueprint 中的輸出姿勢即可。那裡不需要額外的設定。

  1. 在您的身體動畫與最終輸出之間新增一個 Layered blend per bone 節點。
  2. 設定圖層設定:
    • 將 1 個項目 新增至 Layer Setup 陣列
    • 為該層新增 3 個項目 至 Branch Filters,並使用以下 Bone Name:
      • FACIAL_C_FacialRoot
      • FACIAL_C_Neck2Root
      • FACIAL_C_Neck1Root
  3. 自訂臉部動畫的重要事項: 在 Curve Blend Option 中,選擇 「Use Max Value」。這可讓自訂臉部動畫(表情、情緒等)正確地疊加在脣形同步之上。
  4. 建立連接:
    • 你的自訂動畫(通常是帶有所需動畫序列資產的 Sequence Player)→ Base Pose 輸入
    • 臉部動畫輸出(來自脣形同步及/或笑聲節點)→ Blend Poses 0 輸入
    • 分層混合節點 → 最終 Result 姿勢

Layered Blend Per Bone

變形目標集選擇​

標準模型使用姿勢資產,其透過自訂姿勢資產設定本質上支援任何形變目標命名慣例。無需額外設定。

微調唇形同步行為​

縮放特定嘴型同步曲線​

你可以使用 Modify Curve 節點來抑制(或放大)脣形同步所產生的個別臉部動作。當某個特定曲線對你的音訊內容或角色來說顯得太過明顯時,這會很有用。

設定:

  1. 在你的唇形同步混合節點之後,加入一個 Modify Curve 節點
  2. 在節點上按右鍵並選擇 Add Curve Pin,然後輸入你想要縮放的曲線名稱
  3. 將節點的 Apply Mode 屬性設為 Scale
  4. 設定 Value 參數:小於 1.0 的值會抑制動作,大於 1.0 的值會放大動作(例如 0.8 = 減少 20%)

常用縮放曲線:

曲線名稱用途適用於典型調整
CTRL_expressions_tongueOut特定音素期間的舌頭向前突出標準模型0.8 以減少突出
CTRL_expressions_jawOpen下顎張開範圍寫實模型0.9 以減少下顎動作

你可以將多個曲線接腳新增至同一個 Modify Curve 節點,以同時縮放多條曲線。

情緒專屬微調​

對於支援情緒的模型,你可以微調特定的情緒表達:

眉毛控制:

  • CTRL_expressions_browRaiseInL / CTRL_expressions_browRaiseInR - 內側眉毛上揚
  • CTRL_expressions_browRaiseOuterL / CTRL_expressions_browRaiseOuterR - 外側眉毛上揚
  • CTRL_expressions_browDownL / CTRL_expressions_browDownR - 眉毛下壓

眼部表情控制:

  • CTRL_expressions_eyeSquintInnerL / CTRL_expressions_eyeSquintInnerR - 眼睛瞇起
  • CTRL_expressions_eyeCheekRaiseL / CTRL_expressions_eyeCheekRaiseR - 臉頰上揚

模型比較與選擇​

在模型之間做選擇​

在決定專案要使用哪個脣形同步模型時,請考慮以下因素:

考量標準模型寫實模型情緒啟用寫實模型
角色相容性MetaHuman 及所有自訂角色類型MetaHuman(及 ARKit)角色MetaHuman(及 ARKit)角色
視覺品質良好的唇形同步與高效能表現更自然的嘴部動作,提升寫實感具情緒表情,提升寫實感
效能針對所有平台(包括行動裝置/VR)最佳化較高的資源需求較高的資源需求
功能14 個 viseme、笑聲偵測81 個臉部控制項、3 個最佳化等級81 個臉部控制項、12 種情緒、可設定的輸出
平台支援Windows、Android、QuestWindows、Mac、iOS、Linux、Android、QuestWindows、Mac、iOS、Linux、Android、Quest
使用案例一般應用、遊戲、VR/AR、行動裝置電影級體驗、近距離互動情緒敘事、進階角色互動

引擎版本相容性​

UE 5.2 相容性問題

如果您使用的是 Unreal Engine 5.2,由於 UE 重取樣函式庫中的錯誤,Realistic Models 可能無法正常運作。對於需要可靠唇形同步功能的 UE 5.2 使用者,請改用 Standard Model。

此問題專屬於 UE 5.2,不會影響其他引擎版本。

效能建議​

  • 對大多數專案而言,Standard Model 在品質與效能之間提供了極佳的平衡
  • 當你需要 MetaHuman 角色達到最高視覺保真度時,請使用 Realistic Model
  • 當情緒表達控制對你的應用程式很重要時,請使用 Mood-Enabled Realistic Model
  • 在選擇模型時,請考量你目標平台的效能能力
  • 測試不同的最佳化等級,為你的特定使用情境找到最佳平衡

疑難排解​

常見問題​

為寫實模型重新建立生成器: 為了確保與寫實模型搭配運作時的可靠性與一致性,建議每次在閒置一段時間後想輸入新的音訊資料時,都重新建立生成器。這是因為 ONNX 執行環境的行為,在經過一段靜音期間後重複使用生成器時,可能會導致脣形同步停止運作。

例如,你可以在每次播放開始時重新建立脣形同步產生器,例如每當你呼叫 Play Sound 2D 或使用任何其他方法來開始聲波播放與脣形同步時:

Recreate Lip Sync Generator On Play Sound

Runtime Text To Speech 整合的外掛位置: 當同時使用 Runtime MetaHuman Lip Sync 與 Runtime Text To Speech 時(兩個外掛都使用 ONNX Runtime),若外掛安裝在引擎的 Marketplace 資料夾中,你可能會遇到問題。若要修正此問題:

  1. 在你的 UE 安裝資料夾中,於 \Engine\Plugins\Marketplace 底下找到這兩個外掛(例如 C:\Program Files\Epic Games\UE_5.6\Engine\Plugins\Marketplace)
  2. 將 RuntimeMetaHumanLipSync 和 RuntimeTextToSpeech 這兩個資料夾都移動到專案的 Plugins 資料夾中
  3. 如果你的專案沒有 Plugins 資料夾,請在與 .uproject 檔案相同的目錄中建立一個
  4. 重新啟動 Unreal Editor

這解決了當從引擎的 Marketplace 目錄載入多個基於 ONNX Runtime 的外掛時可能發生的相容性問題。

封裝設定(Windows): 如果您的封裝專案在 Windows 上無法正確進行脣形同步,請確認您使用的是 Shipping 建置組態,而非 Development。Development 組態可能會導致封裝組建中的寫實模型 ONNX 執行階段發生問題。

要修復這個:

  1. 在你的專案設定 → 封裝中,將建置組態設為 Shipping
  2. 重新封裝你的專案

Shipping Configuration

僅使用 Blueprint 的專案

在某些僅使用 Blueprint 的專案中,即使選取了 Shipping,Unreal Engine 仍可能以 Development 組態進行建置。如果發生這種情況,請透過新增至少一個 C++ 類別(可以是空的)將專案轉換為 C++ 專案。若要這麼做,請前往 UE 編輯器選單中的 Tools → New C++ Class 並建立一個空類別。這將強制專案在 Shipping 組態中正確建置。你的專案在功能上可以維持僅使用 Blueprint,這個 C++ 類別只是為了正確的建置組態所需。

唇形同步反應變差: 如果你在使用 Streaming Sound Wave 或 Capturable Sound Wave 時,遇到唇形同步隨時間變得越來越不靈敏的情況,這可能是記憶體累積所造成的。預設情況下,每次附加新音訊時都會重新配置記憶體。若要避免這個問題,請定期呼叫 ReleaseMemory 函式來釋放累積的記憶體,例如每 30 秒左右呼叫一次。

效能最佳化:

  • 根據你的效能需求,調整 Realistic 模型的處理區塊大小
  • 為你的目標硬體使用適當的執行緒數量
  • 當不需要完整臉部動畫時,對於啟用情緒的模型,考慮使用 Mouth Only 輸出類型