跳至主要内容

外掛程式設定

模型設定

為每次播放重新建立 realistic-model 生成器

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

標準模型設定

Create Runtime Viseme Generator 節點使用適用於大多數情境的預設設定。設定透過動畫藍圖混合節點屬性進行管理。

有關動畫藍圖設定選項,請參閱下方嘴型同步設定一節。

Realistic 模型設定

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

模型類型

Model Type 設定決定使用哪個版本的 realistic 模型:

模型類型效能視覺品質噪音處理建議使用情境
Highly Optimized(預設)最高效能,最低 CPU 使用率良好品質在背景噪音或非語音聲音下可能顯示明顯的嘴部動作乾淨音訊環境、效能關鍵場景
Semi-Optimized良好效能,中等 CPU 使用率高品質在噪音音訊下穩定性較佳平衡效能與品質、混合音訊條件
Original適用於現代 CPU 的即時使用最高品質在背景噪音和非語音聲音下最穩定高品質製作、噪音音訊環境、需要最高準確度時

效能設定

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

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

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

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

處理區塊大小

Processing Chunk Size 決定每個推論步驟中處理多少樣本。預設值為 160 個樣本(16kHz 下的 10ms 音訊):

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

設定處理區塊大小

Mood-Enabled 模型設定

Create Realistic MetaHuman Lip Sync With Mood Generator 節點提供超越基本 realistic 模型的額外設定選項:

基本設定

Lookahead Ms: 用於提升嘴型同步準確度的前瞻時間(毫秒)。

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

Output Type: 控制生成哪些臉部控制項。

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

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

情緒設定

可用情緒:

  • Neutral、Happy、Sad、Disgust、Anger、Surprise、Fear
  • Confident、Excited、Bored、Playful、Confused

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

執行時期情緒控制

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

  • Set Mood:變更目前的情緒類型
  • Set Mood Intensity:調整情緒對動畫的影響強度(0.0 至 1.0)
  • Set Lookahead Ms:修改用於同步的前瞻時間
  • Set Output Type:在 Full Face 和 Mouth Only 控制項之間切換

情緒設定

情緒選擇指南

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

情緒最適合典型強度範圍
Neutral一般對話、旁白、預設狀態0.5 - 1.0
Happy正面內容、愉快對話、慶祝活動0.6 - 1.0
Sad憂鬱內容、情感場景、沉重時刻0.5 - 0.9
Disgust負面反應、令人反感內容、拒絕0.4 - 0.8
Anger激烈對話、對抗場景、挫折0.6 - 1.0
Surprise意外事件、揭露真相、震驚反應0.7 - 1.0
Fear威脅情境、焦慮、緊張對話0.5 - 0.9
Confident專業簡報、領導對話、自信言論0.7 - 1.0
Excited充滿活力的內容、公告、熱情對話0.8 - 1.0
Bored單調內容、無趣對話、疲倦言論0.3 - 0.7
Playful隨意交談、幽默、輕鬆互動0.6 - 0.9
Confused多疑問對話、不確定性、困惑0.4 - 0.8

動畫藍圖設定

嘴型同步設定

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

屬性預設值說明
Interpolation Speed25控制嘴部動作在 viseme 之間轉換的速度。較高數值會產生更快、更突然的轉換。
Reset Time0.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)。

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

與現有動畫結合

要將嘴型同步和笑聲與現有的身體動畫和自訂面部動畫結合而不覆蓋它們:

  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. 自訂面部動畫的重要事項:Curve Blend Option 中,選擇 "Use Max Value"。這允許自訂面部動畫(表情、情緒等)正確地疊加在嘴型同步之上。
  4. 進行連接:
    • 現有動畫(例如 BodyPose)→ 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 個視位元、笑聲偵測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 重採樣庫中的一個錯誤,寫實模型可能無法正常運作。對於需要可靠嘴型同步功能的 UE 5.2 用戶,請改用 標準模型

此問題特定於 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

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

打包配置 (Windows): 如果在 Windows 上打包的專案中嘴型同步無法正常運作,請確保您使用的是 Shipping 建置配置而不是 Development。Development 配置可能會在打包建置中導致寫實模型的 ONNX 執行時出現問題。

要解決此問題:

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

Shipping Configuration

僅藍圖專案

在某些僅藍圖專案中,即使選擇了 Shipping,Unreal Engine 仍可能以 Development 配置進行建置。如果發生這種情況,請透過添加至少一個 C++ 類別(可以是空的)將您的專案轉換為 C++ 專案。為此,請在 UE 編輯器選單中前往 Tools → New C++ Class 並建立一個空類別。這將強制專案在 Shipping 配置中正確建置。您的專案在功能上可以保持僅藍圖,C++ 類別僅用於正確的建置配置。

嘴型同步反應性下降: 如果您在使用 Streaming Sound Wave 或 Capturable Sound Wave 時發現嘴型同步隨著時間推移反應性變差,這可能是由記憶體累積引起的。預設情況下,每次附加新音訊時都會重新分配記憶體。為防止此問題,請定期呼叫 ReleaseMemory 函數來釋放累積的記憶體,例如每 30 秒左右。

效能最佳化:

  • 根據您的效能需求調整寫實模型的處理區塊大小
  • 為您的目標硬體使用適當的執行緒數量
  • 當不需要完整面部動畫時,考慮為啟用情緒的模型使用僅嘴部輸出類型