外掛程式設定
模型配置
為了讓 Realistic 與 Mood-Enabled Realistic 模型可靠運作,請在每次新的音訊播放前重新建立產生器,而不是在長時間靜音期間重複使用同一個產生器。詳情請參閱疑難排解中的 產生器重建。
標準模型配置
Create Runtime Viseme Generator 節點使用預設設定,這些設定在大多數情境下都能運作良好。設定可透過 Animation Blueprint 混合節點的屬性來處理。
有關 Animation Blueprint 的配置選項,請參閱下方的口型同步配置一節。
擬真模型配置
Create Realistic MetaHuman Lip Sync Generator 節點接受一個可選的 組態 參數,可讓您自訂產生器的行為:
模型類型
模型類型設定決定了要使用哪個版本的擬真模型:
| 模型類型 | 效能 | 視覺品質 | 噪音處理 | 建議使用情境 |
|---|---|---|---|---|
| 高度最佳化(預設) | 最高效能,最低 CPU 使用率 | 品質良好 | 在有背景噪音或非語音聲音時,可能出現明顯的口部動作 | 乾淨的音訊環境、效能關鍵的場景 |
| 半最佳化 | 效能良好,CPU 使用率中等 | 高品質 | 對嘈雜音訊有更佳的穩定性 | 效能與品質均衡,適合混合音訊環境 |
| 原始 | 適用於現代 CPU 的即時使用 | 最高品質 | 對背景噪音和非語音聲音的穩定性最高 | 高品質製作、嘈雜音訊環境,以及需要最高準確度時 |
效能設定
Intra Op Threads: 控制用於內部模型處理作業的執行緒數目。
- 0(預設/自動):使用自動偵測(通常為可用 CPU 核心數的 1/4,最多 4 個)
- 1-16:手動指定執行緒數量。較高的數值可能提升多核心系統的效能,但會使用更多 CPU。
跨操作執行緒: 控制用於平行執行不同模型操作的執行緒數量。
- 0(預設/自動):使用自動偵測(通常為可用 CPU 核心數的 1/8,最多 2 個)
- 1-8:手動指定執行緒數量。通常保持較低以利即時處理。
處理區塊大小
處理區塊大小決定每次推論步驟中處理多少個樣本。預設值為 160 個樣本(16kHz 下的 10 毫秒音訊):
- 較小的數值會提供更頻繁的更新,但會增加 CPU 使用率
- 較大的數值會減少 CPU 負載,但可能會降低唇形同步的反應速度
- 建議使用 160 的倍數以獲得最佳對齊

情緒功能模型設定
Create Realistic MetaHuman Lip Sync With Mood Generator 節點提供了基本寫實模型以外的額外設定選項:
基本設定
前瞻毫秒: 以毫秒為單位的前瞻時間,用於提升口型同步的精確度。
- 預設值: 80ms
- 範圍: 20ms 至 200ms (必須能被 20 整除)
- 較高的數值可提供更好的同步,但會增加延遲
**輸出類型:**控制生成哪些面部控制項。
- 全臉:全部 81 個面部控制項(眉毛、眼睛、鼻子、嘴巴、下巴、舌頭)
- 僅嘴巴:僅限嘴巴、下巴和舌頭相關的控制項
效能設定: 使用與一般擬真模型相同的 Intra Op Threads 和 Inter Op Threads 設定。
情緒設定
可用情緒:
- 中性、快樂、悲傷、厭惡、憤怒、驚訝、恐懼
- 自信、興奮、無聊、俏皮、困惑
情緒強度: 控制情緒對動畫的影響強度(0.0 至 1.0)
運行時情緒控制
您可以在執行期間使用以下函數調整情緒設定:
- 設定情緒:變更目前的情緒類型
- 設定情緒強度:調整情緒對動畫的影響強度(0.0 至 1.0)
- 設定前瞻毫秒:修改同步用的前瞻時間
- 設定輸出類型:在完整臉部與僅嘴部控制之間切換

情緒選擇指南
根據你的內容選擇適當的情緒:
| 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 |
Animation Blueprint 配置
口型同步配置
- 標準模型
- 逼真模型
Blend Runtime MetaHuman Lip Sync 節點在其屬性面板中有配置選項:
| 屬性 | 預設值 | 說明 |
|---|---|---|
| 插值速度 | 25 | 控制唇部動作在視素之間轉換的速度。數值越高,轉換越快且越突然。 |
| 重設時間 | 0.2 | 唇形同步重設前的持續時間(秒)。這有助於防止音訊停止後唇形同步仍繼續執行。 |
笑聲動畫
您也可以新增笑聲動畫,以動態回應音訊中偵測到的笑聲:
- 新增
Blend Runtime MetaHuman Laughter節點 - 將你的
RuntimeVisemeGenerator變數連接到Viseme Generator針腳 - 如果你已經在使用口型同步:
- 將
Blend Runtime MetaHuman Lip Sync節點的輸出連接到Blend Runtime MetaHuman Laughter節點的Source Pose。 - 將
Blend Runtime MetaHuman Laughter節點的輸出連接到Output Pose節點的Result引腳。
- 將
- 如果僅使用笑聲而無需口型同步:
- 將您的來源姿勢直接連接到
Blend Runtime MetaHuman Laughter節點的Source Pose引腳。 - 將輸出連接到
Result引腳。
- 將您的來源姿勢直接連接到

當音訊中偵測到笑聲時,你的角色會動態地做出相應的動畫:
笑聲配置
此 Blend Runtime MetaHuman Laughter 節點有其自身的配置選項:
| 屬性 | 預設值 | 描述 |
|---|---|---|
| 插值速度 | 25 | 控制唇部動作在笑聲動畫之間轉換的速度。數值越高,轉換越快且越突然。 |
| 重設時間 | 0.2 | 笑聲被重設前的持續時間(秒)。這有助於防止音訊停止後笑聲持續播放。 |
| 最大笑聲權重 | 0.7 | 縮放笑聲動畫的最大強度(0.0 - 1.0)。 |
注意: 笑聲偵測目前僅在標準模型中提供。
Blend Realistic MetaHuman Lip Sync 節點在其屬性面板中具有配置選項:
| 屬性 | 預設值 | 描述 |
|---|---|---|
| 插值速度 | 30 | 控制說話期間臉部表情轉換的速度。數值越高,轉換越快且越突然。 |
| 待機插值速度 | 15 | 控制臉部表情轉換回待機/中性狀態的速度。數值越低,返回靜止姿勢的過程越平滑、越漸進。 |
| 重設時間 | 0.2 | 唇形同步重設為待機狀態前的持續時間(秒)。有助於防止音訊停止後表情仍持續顯示。 |
| 保留待機狀態 | false | 啟用時,會在待機期間保留最後的情緒狀態,而不會重設為中性狀態。 |
| 保留眼部表情 | true | 控制待機狀態下是否保留與眼部相關的臉部控制項。僅在啟用「保留待機狀態」時有效。 |
| 保留眉毛表情 | true | 控制待機狀態下是否保留與眉毛相關的臉部控制項。僅在啟用「保留待機狀態」時有效。 |
| 保留嘴型 | false | 控制待機狀態下是否保留嘴型控制項(排除舌頭與下顎等特定說話動作)。僅在啟用「保留待機狀態」時有效。 |
閒置狀態保留
保留閒置狀態功能處理寫實模型在靜默期間的行為。與使用離散視位且在靜默期間一致回歸零值的標準模型不同,寫實模型的神經網路可能維持細微的面部定位,而這與 MetaHuman 的預設靜止姿勢不同。
何時啟用:
- 在語音片段之間維持情感表達
- 保留角色人格特質
- 確保電影過場中的視覺連續性
區域控制選項:
- 眼睛表情:保留眼睛瞇起、睜大及眼瞼位置
- 眉毛表情:維持眉毛與前額位置
- 嘴巴形狀:保持整體嘴巴彎曲度,同時允許說話動作(舌頭、下巴)重置
與現有動畫結合
比起閱讀,您更喜歡觀看影片嗎?歡迎查看涵蓋這套完整設定的影片教學。
若要將口型同步和笑聲與現有的身體動畫和自訂臉部動畫同時套用,而不覆寫它們:
此設定適用於臉部 Animation Blueprint,因為嘴型同步不屬於身體 Animation Blueprint 的一部分。對於自訂身體動畫(例如軀幹、手臂和其他身體動作),只需將你的動畫序列(透過 Sequence Player)直接連接到身體 Animation Blueprint 中的輸出姿勢即可。該處無需額外設定。
- 在您的身體動畫與最終輸出之間新增一個
逐骨骼分層混合節點,並確保使用附加的父骨骼為 true。 - 配置圖層設定:
- 在
Layer Setup陣列中新增 1 個項目 - 在該圖層的
Branch Filters中新增 3 個項目,其Bone Names 如下:FACIAL_C_FacialRootFACIAL_C_Neck2RootFACIAL_C_Neck1Root
- 在
- 自訂臉部動畫的重要事項: 在
曲線混合選項中,選取 「使用最大值」。這樣一來,自訂臉部動畫(表情、情緒等)就能正確地分層疊加在唇形同步之上。 - 建立連線:
- 您的自訂動畫(通常是帶有所需動畫序列資產的
Sequence Player)→Base Pose輸入 - 臉部動畫輸出(來自口型同步及/或笑聲節點)→
Blend Poses 0輸入 - 分層混合節點 → 最終
Result姿勢
- 您的自訂動畫(通常是帶有所需動畫序列資產的

變形目標集合選擇
- 標準模型
- 寫實模型
標準模型使用姿勢資產,這些資產透過自訂姿勢資產設定本身就支援任何形變目標命名慣例。無需額外設定。
The Blend Realistic MetaHuman Lip Sync node includes a 形態目標集 property that determines which morph target naming convention to use for facial animation:
| 變形目標集 | 說明 | 使用案例 |
|---|---|---|
| MetaHuman(預設) | 標準 MetaHuman 變形目標名稱(例如:CTRL_expressions_jawOpen) | MetaHuman 角色 |
| ARKit | Apple ARKit 相容名稱(例如:JawOpen、MouthSmileLeft) | 基於 ARKit 的角色 |
微調口型同步行為
縮放特定口型同步曲線
您可以使用 Modify Curve 節點來減弱(或增強)口型同步產生的個別面部動作。當某個特定曲線對您的音訊內容或角色而言看起來過於明顯時,這會很有用。
設定:
- 在你的口型同步混合節點之後,加入一個
Modify Curve節點 - 在節點上按右鍵,選取新增曲線插腳,然後輸入你想要縮放的曲線名稱
- 將節點的套用模式屬性設定為縮放
- 設定 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 個視位、笑聲偵測 | 81 個臉部控制、3 種最佳化等級 | 81 個臉部控制、12 種情緒、可設定的輸出 |
| 平台支援 | Windows、Android、Quest | Windows、Mac、iOS、Linux、Android、Quest | Windows、Mac、iOS、Linux、Android、Quest |
| 使用情境 | 一般應用、遊戲、VR/AR、手機 | 電影級體驗、近距離互動 | 情感敘事、進階角色互動 |
引擎版本相容性
如果您使用的是 Unreal Engine 5.2,由於 UE 重採樣程式庫中的一個錯誤,寫實模型可能無法正常運作。對於需要可靠口型同步功能的 UE 5.2 使用者,請改用 標準模型。
此問題僅限於 UE 5.2,不會影響其他引擎版本。
效能建議
- 對於大多數專案,標準模型在品質與效能之間提供了絕佳的平衡
- 當您需要 MetaHuman 角色達到最高視覺擬真度時,請使用寫實模型
- 當情緒表達控制對您的應用程式很重要時,請使用情緒感知寫實模型
- 在選擇模型時,請考量目標平台的效能表現
- 測試不同的最佳化等級,以找出最適合您特定使用案例的平衡點
疑難排解
常見問題
為寫實模型重建產生器:
為了讓寫實模型可靠且一致地運作,建議在每次閒置一段時間後要輸入新的音訊資料時,重新建立產生器。這是由於 ONNX Runtime 的行為所致,在靜音時段後重複使用產生器可能會導致口型同步停止運作。
例如,您可以在每次播放開始時重新建立口型同步產生器,例如在您呼叫 Play Sound 2D 或使用任何其他方法開始音頻播放和口型同步時:

Runtime Text To Speech 整合的外掛程式位置: 當您將 Runtime MetaHuman Lip Sync 與 Runtime Text To Speech 搭配使用時(這兩個外掛程式都使用 ONNX Runtime),如果這些外掛程式安裝在引擎的 Marketplace 資料夾中,可能會遇到問題。若要修正此問題:
- 在您的 UE 安裝資料夾中的
\Engine\Plugins\Marketplace下找到這兩個外掛程式(例如:C:\Program Files\Epic Games\UE_5.6\Engine\Plugins\Marketplace) - 將
RuntimeMetaHumanLipSync和RuntimeTextToSpeech這兩個資料夾移到您專案的Plugins資料夾中 - 如果您的專案沒有
Plugins資料夾,請在與您的.uproject檔案相同的目錄中建立一個 - 重新啟動 Unreal Editor
這解決了當多個基於 ONNX Runtime 的插件從引擎的 Marketplace 目錄載入時可能發生的相容性問題。
打包組態(Windows): 如果口型同步在 Windows 上的已打包專案中無法正常運作,請確保您使用的是 Shipping 建置組態,而非 Development。Development 組態可能會在已打包建置中導致擬真模型的 ONNX Runtime 出現問題。
若要修正此問題:
- 在您的專案設定 → 封裝中,將建置組態設定為 Shipping
- 重新封裝您的專案

在某些僅使用 Blueprint 的專案中,即使已選取 Shipping,Unreal Engine 仍可能以 Development 組態進行建置。若發生此情況,請透過新增至少一個 C++ 類別(可以是空類別)將專案轉換為 C++ 專案。若要執行此操作,請在 UE 編輯器選單中前往 工具 → 新建 C++ 類別,然後建立一個空類別。這將強制專案正確地以 Shipping 組態進行建置。您的專案在功能上仍可保持僅使用 Blueprint,C++ 類別只是為了正確的建置組態所需。
口型同步反應變差: 如果您在使用 Streaming Sound Wave 或 Capturable Sound Wave 時,發現口型同步會隨著時間變得較不靈敏,這可能是由記憶體累積所造成的。預設情況下,每次附加新的音訊時,記憶體都會重新配置。若要避免此問題,請定期呼叫 ReleaseMemory 函式來釋放累積的記憶體,例如每 30 秒左右呼叫一次。
效能最佳化:
- 根據您的效能需求,為 Realistic 模型調整處理區塊大小。
- 使用適合您目標硬體的執行緒數。
- 當不需要完整臉部動畫時,請考慮對啟用情緒的模型使用僅嘴部輸出類型。