外掛設定
模型配置
為確保「寫實」與「支援情緒的寫實」模型能穩定運作,請在每次播放新音訊前重新建立生成器,而非在長時間靜音期間重複使用同一個。詳情請參閱疑難排解中的重新建立生成器。
標準模型配置
Create Runtime Viseme Generator 節點使用預設設定,適用於大多數情境。設定則透過動畫藍圖混合節點屬性進行管理。
關於動畫藍圖的設定選項,請參閱下方的嘴型同步設定章節。
真實模型配置
建立逼真 MetaHuman 嘴型同步產生器節點接受一個可選的設定參數,讓您能夠自訂產生器的行為:
模型類型
模型類型設定決定要使用哪個版本的擬真模型:
| 模型類型 | 效能 | 視覺品質 | 噪音處理 | 建議使用情境 |
|---|---|---|---|---|
| 高度優化(預設) | 最高效能,最低CPU使用率 | 良好品質 | 在背景噪音或非語音聲音的情況下,可能會出現明顯的嘴部動作。 | 乾淨的音訊環境、效能關鍵的場景 |
| 半優化 | 效能良好,CPU使用率適中 | 高品質 | 在嘈雜音訊中提供更佳的穩定性 | 平衡效能與品質,混合音訊環境 |
| 原始 | 適用於現代 CPU 的即時使用 | 最高品質 | 在背景噪音與非語音聲音環境下最為穩定 | 高品質製作、嘈雜的音訊環境,當需要最高精確度時 |
效能設定
內部運算執行緒: 控制用於模型內部處理操作的執行緒數量。
- 0(預設/自動):使用自動偵測(通常為可用 CPU 核心數的 1/4,最多 4 個)
- 1-16:手動指定執行緒數量。較高的數值可能提升多核心系統的效能,但會消耗更多 CPU 資源。
跨運算元執行緒: 控制用於不同模型操作並行執行的執行緒數量。
- 0(預設/自動):使用自動偵測(通常為可用 CPU 核心數的 1/8,最多 2 個)
- 1-8:手動指定執行緒數量。通常為了即時處理而保持較低數值。
處理區塊大小
處理區塊大小決定每次推論步驟中處理的樣本數量。預設值為 160 個樣本(16kHz 音訊的 10 毫秒)。
- 較小的數值可提供更頻繁的更新,但會增加 CPU 使用率
- 較大的數值可降低 CPU 負載,但可能降低唇形同步的反應速度
- 建議使用 160 的倍數以達到最佳對齊效果

情緒啟用模型配置
建立逼真的 MetaHuman 嘴型同步與情緒產生器節點提供了超越基本逼真模型的額外配置選項:
基本配置
前瞻毫秒數: 用於提升嘴型同步準確度的前瞻時間(毫秒)。
- 預設值:80毫秒
- 範圍:20毫秒至200毫秒(必須為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 |
動畫藍圖設定
唇形同步設定
- 標準模型
- 逼真模型
Blend Runtime MetaHuman Lip Sync 節點在其屬性面板中具有配置選項:
| 屬性 | 預設 | 描述 |
|---|---|---|
| 插值速度 | 25 | 控制唇部動作在不同視位之間轉換的速度。數值越高,轉換會越快且越突然。 |
| 重置時間 | 0.2 | 唇形同步重置前的持續時間(以秒為單位)。這有助於防止音訊停止後唇形同步仍持續進行。 |
笑聲動畫
您也可以加入笑聲動畫,這些動畫會根據音訊中偵測到的笑聲動態做出反應:
- 新增「混合執行時期 MetaHuman 笑聲」節點
- 將您的
RuntimeVisemeGenerator變數連接到「Viseme 產生器」接腳 - 如果您已在使用唇形同步:
- 將
混合執行時期 MetaHuman 嘴型同步節點的輸出連接到混合執行時期 MetaHuman 笑聲節點的來源姿勢 - 將
混合執行時期 MetaHuman 笑聲節點的輸出連接到輸出姿勢的結果接腳
- 將
- 若僅使用笑聲而不搭配嘴型同步:
- 將您的來源姿勢直接連接到「混合執行時期 MetaHuman 笑聲」節點的「來源姿勢」輸入端
- 將輸出連接到「結果」引腳

當音訊中偵測到笑聲時,您的角色將動態地進行相應的動畫表現:
笑聲設定
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預設靜止姿勢不同的細微面部定位。
啟用時機:
- 在語音段落之間維持情緒表達
- 保留角色性格特質
- 確保電影場景中的視覺連貫性
區域控制選項:
- 眼部表情:保留眼睛瞇起、睜大及眼瞼位置
- 眉毛表情:維持眉毛與前額的位置
- 嘴部形狀:保留整體嘴部曲線,同時允許說話動作(舌頭、下巴)重置
結合現有動畫
若要將嘴型同步與笑聲套用至現有的身體動畫與自訂臉部動畫,且不覆蓋原有內容:
此設定適用於臉部動畫藍圖,因為嘴型同步不屬於身體動畫藍圖的一部分。對於自訂身體動畫(例如軀幹、手臂及其他身體動作),只需將您的動畫序列(透過 Sequence Player)直接連接到身體動畫藍圖的輸出姿勢即可。該處無需進行額外設定。
- 在您的身體動畫與最終輸出之間,新增一個「Layered blend per bone」節點。確保「Use Attached Parent」設定為「true」。
- 設定圖層配置:
- 在
Layer Setup陣列中新增 1 個項目 - 在該圖層的
Branch Filters中新增 3 個項目,其Bone Name分別為:FACIAL_C_FacialRootFACIAL_C_Neck2RootFACIAL_C_Neck1Root
- 在
- 自訂臉部動畫的重要事項: 在
曲線混合選項中,選擇 「使用最大值」。這能讓自訂臉部動畫(表情、情緒等)正確地疊加在唇形同步之上。 - 建立連接:
- 您的自訂動畫(通常是一個帶有目標動畫序列資源的
Sequence Player)→Base Pose輸入 - 臉部動畫輸出(來自唇形同步及/或笑聲節點)→
Blend Poses 0輸入 - 分層混合節點 → 最終
Result姿勢
- 您的自訂動畫(通常是一個帶有目標動畫序列資源的

形態目標集選擇
- 標準模型
- 逼真模型
標準模型使用姿勢資產,其本質上透過自訂姿勢資產設定支援任何形態目標命名慣例。無需額外配置。
Blend Realistic MetaHuman Lip Sync 節點包含一個形變目標集屬性,用於決定臉部動畫所使用的形變目標命名慣例:
| 形變目標集 | 描述 | 使用案例 |
|---|---|---|
| MetaHuman(預設) | 標準 MetaHuman 形態目標名稱(例如 CTRL_expressions_jawOpen) | MetaHuman 角色 |
| ARKit | Apple ARKit 相容的名稱(例如 JawOpen、MouthSmileLeft) | 基於 ARKit 的角色 |
微調唇形同步行為
調整特定嘴型同步曲線
你可以使用 Modify Curve 節點來抑制(或增強)唇形同步所產生的個別臉部動作。當特定曲線對你的音訊內容或角色來說過於明顯時,這項功能便非常實用。
設定:
- 在您的唇形同步混合節點之後,新增一個「修改曲線」節點
- 在節點上按右鍵並選擇「新增曲線插腳」,然後輸入您想要縮放的曲線名稱
- 將節點的「套用模式」屬性設定為「縮放」
- 設定「數值」參數:低於 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 執行階段的行為,在長時間靜默後重複使用生成器,可能導致嘴型同步功能停止運作。
例如,您可以在每次播放開始時重新建立唇形同步生成器,例如每當您呼叫 Play Sound 2D 或使用任何其他方法啟動音波播放和唇形同步時:

執行時期文字轉語音整合的插件位置:
當同時使用 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
這解決了當從引擎的 Marketplace 目錄載入多個基於 ONNX Runtime 的外掛程式時可能發生的相容性問題。
封裝設定(Windows): 若在 Windows 上封裝後的專案中,嘴型同步無法正常運作,請確認您使用的是 Shipping 建置設定,而非 Development 設定。Development 設定可能會在封裝版本中,導致擬真模型 ONNX 執行階段出現問題。
為了解決這個問題:
- 在您的專案設定 → 封裝中,將建置組態設為 Shipping
- 重新封裝您的專案

在某些僅使用藍圖的專案中,即使選擇了發行組態,Unreal Engine 仍可能以開發組態進行建置。若發生此情況,請透過新增至少一個 C++ 類別(可為空類別)將專案轉換為 C++ 專案。做法是前往 UE 編輯器選單中的 工具 → 新增 C++ 類別,並建立一個空類別。這將強制專案以正確的發行組態進行建置。您的專案在功能上仍可維持僅使用藍圖,C++ 類別僅為確保正確的建置組態所需。
唇形同步反應變慢:
若在使用串流音波或可捕捉音波時,發現唇形同步隨著時間推移反應變遲鈍,這可能是由記憶體累積所導致。預設情況下,每次附加新音訊時都會重新分配記憶體。為避免此問題,請定期呼叫 ReleaseMemory 函式來釋放累積的記憶體,例如每隔約 30 秒執行一次。
效能最佳化:
- 根據您的效能需求,為逼真模型調整處理區塊大小
- 針對目標硬體使用適當的執行緒數量
- 當不需要完整臉部動畫時,考慮對支援情緒的模型使用「僅嘴部」輸出類型