跳至主要内容

外掛設定

模型設定

為每個播放功能重建逼真的模型生成器

為確保「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 執行緒數: 控制用於不同模型操作平行執行的執行緒數量。

  • 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 節點提供了超越基本寫實模型的額外配置選項:

基本配置

前瞻毫秒數: 前瞻時間(以毫秒為單位),用於提升唇形同步的精確度。

  • 預設值:80毫秒
  • 範圍:20毫秒至200毫秒(必須能被20整除)
  • 數值越高,同步效果越好,但延遲也會增加

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

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

效能設定: 使用與一般擬真模型相同的「Intra Op Threads」與「Inter Op Threads」設定。

情緒設定

可用情緒:

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

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

執行時情緒控制

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

  • 設定情緒:變更目前的情緒類型
  • 設定情緒強度:調整情緒對動畫的影響程度(0.0 至 1.0)
  • 設定前瞻毫秒數:修改同步化的前瞻時間
  • 設定輸出類型:在「全臉」與「僅嘴部」控制之間切換

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控制嘴部動作在不同 viseme 之間轉換的速度。數值越高,轉換越快且越突兀。
重置時間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 PoseResult 引腳
  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)。

注意: 笑聲偵測目前僅適用於標準模型。

結合現有動畫

影片逐步解說

偏好觀看影片勝過閱讀文字嗎?請查看涵蓋此確切設定的影片教學

若要將嘴型同步與笑聲套用到既有的身體動畫與自訂臉部動畫上,同時不覆蓋它們:

身體動畫

此設定適用於臉部動畫藍圖(Animation Blueprint),因為口型同步(lip sync)不屬於身體動畫藍圖的一部分。對於自訂身體動畫(例如軀幹、手臂及其他身體動作),只需將您的動畫序列(透過 Sequence Player)直接連接到身體動畫藍圖中的輸出姿勢即可。該處無需額外設定。

  1. 在您的身體動畫與最終輸出之間,新增一個 Layered blend per bone 節點。確保 Use Attached Parent 為 true。
  2. 設定圖層配置:
    • Layer Setup 陣列中新增 1 個項目
    • 為該圖層的 Branch Filters 新增 3 個項目,其 Bone Name 如下:
      • FACIAL_C_FacialRoot
      • FACIAL_C_Neck2Root
      • FACIAL_C_Neck1Root
  3. 自訂臉部動畫的重要事項:曲線混合選項 中,選擇 「使用最大值」。這可讓自訂臉部動畫(表情、情緒等)正確地疊加在口型同步之上。
  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 - 臉頰上提

模型比較與選擇

在模型之間做選擇

在決定專案要使用哪種口型同步模型時,請考量以下因素:

考量標準模型寫實模型支援情緒的寫實模型
角色相容性MetaHumans 與所有自訂角色類型MetaHumans(以及 ARKit)角色MetaHumans(以及 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,不影響其他引擎版本。

效能建議

  • 對大多數專案而言,標準模型在品質與效能之間提供了絕佳的平衡
  • 當您需要 MetaHuman 角色達到最高視覺逼真度時,請使用擬真模型
  • 當情緒表達控制對您的應用程式很重要時,請使用支援情緒的擬真模型
  • 在選擇模型時,請考量目標平台的效能能力
  • 測試不同的最佳化等級,以找出最適合您特定使用情境的平衡點

故障排除

常見問題

為擬真模型重新建立生成器: 為了在擬真模型上獲得可靠且一致的運作,建議在閒置一段時間後,每次要輸入新的音訊資料時,都重新建立生成器。這是因為 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. RuntimeMetaHumanLipSyncRuntimeTextToSpeech 這兩個資料夾移至您專案的 Plugins 資料夾中
  3. 如果您的專案沒有 Plugins 資料夾,請在與您的 .uproject 檔案相同的目錄中建立一個
  4. 重新啟動 Unreal Editor

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

封裝設定(Windows): 如果唇形同步在 Windows 的封裝專案中無法正常運作,請確保您使用的是 Shipping 建置設定,而非 Development。Development 設定可能會在封裝建置中導致 realistic 模型的 ONNX runtime 出現問題。

要修正這個問題:

  1. 在您的專案設定 → 打包中,將建置組態設定為 Shipping
  2. 重新打包您的專案

Shipping Configuration

僅限藍圖專案

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

唇形同步反應延遲:

如果您在使用串流音波(Streaming Sound Wave)或可捕捉音波(Capturable Sound Wave)時,發現唇形同步隨著時間推移而反應變慢,這可能是由記憶體累積所導致。預設情況下,每次附加新音訊時都會重新分配記憶體。為防止此問題,請定期呼叫 ReleaseMemory 函式來釋放累積的記憶體,例如每隔約 30 秒執行一次。

效能最佳化:

  • 根據您的效能需求,為擬真模型調整處理區塊大小
  • 針對您的目標硬體使用適當的執行緒數量
  • 當不需要完整臉部動畫時,請考慮對支援情緒的模型使用僅嘴部(Mouth Only)輸出類型