外掛程式設定
模型設定
為了確保與 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 的倍數以達到最佳對齊

啟用情緒的模型設定
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 | 最適合 | 典型強度範圍 |
|---|---|---|
| 中性 | 一般對話、旁白、預設狀態 | 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 | 唇形同步重設前的持續時間(秒)。這有助於防止音訊停止後唇形同步仍持續進行。 |
笑聲動畫
你也可以加入笑聲動畫,這些動畫會動態回應音訊中偵測到的笑聲:
- 新增
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)。 |
注意: 笑聲偵測目前僅適用於 Standard Model。
Blend Realistic MetaHuman Lip Sync 節點在其屬性面板中具有配置選項:
| 屬性 | 預設值 | 說明 |
|---|---|---|
| 插值速度 | 30 | 控制說話期間臉部表情的轉換速度。數值越高,轉換越快、越突兀。 |
| 閒置插值速度 | 15 | 控制臉部表情轉換回閒置/中性狀態的速度。數值越低,回到靜止姿勢的過程越平滑、越漸進。 |
| 重設時間 | 0.2 | 唇形同步重設為閒置狀態的持續時間(秒)。可用於避免音訊停止後表情仍持續。 |
| 保留閒置狀態 | false | 啟用時,會在閒置期間保留最後的情緒狀態,而非重設為中性。 |
| 保留眼部表情 | true | 控制閒置狀態期間是否保留眼部相關的臉部控制項。僅在啟用「保留閒置狀態」時有效。 |
| 保留眉毛表情 | true | 控制閒置狀態期間是否保留眉毛相關的臉部控制項。僅在啟用「保留閒置狀態」時有效。 |
| 保留嘴型 | false | 控制閒置狀態期間是否保留嘴型控制項(不含舌頭與下顎等說話專用動作)。僅在啟用「保留閒置狀態」時有效。 |
閒置狀態保留
保留閒置狀態功能處理 Realistic 模型如何處理靜默時段。與使用離散 viseme 且在靜默期間一致地回到零值的 Standard 模型不同,Realistic 模型的神經網路可能會維持與 MetaHuman 預設靜止姿勢不同的細微臉部定位。
何時啟用:
- 在語音片段之間維持情緒表情
- 保留角色性格特質
- 確保電影級序列中的視覺連續性
區域控制選項:
- 眼部表情:保留眼睛瞇起、睜大與眼瞼位置
- 眉毛表情:維持眉毛與額頭位置
- 嘴部形狀:保留整體嘴部曲線,同時允許說話動作(舌頭、下顎)重置
與現有動畫結合
偏好觀看而非閱讀嗎?請查看涵蓋此設定的影片教學。
若要在現有的身體動畫與自訂臉部動畫之外套用唇形同步與笑聲,而不覆寫它們:
此設定適用於臉部 Animation Blueprint,因為唇形同步不屬於身體 Animation Blueprint 的一部分。若需自訂身體動畫(例如軀幹、手臂及其他身體動作),只需將你的動畫序列(透過 Sequence Player)直接連接到身體 Animation Blueprint 中的輸出姿勢即可。那裡不需要額外的設定。
- 在您的身體動畫與最終輸出之間新增一個
Layered blend per bone節點。 - 設定圖層設定:
- 將 1 個項目 新增至
Layer Setup陣列 - 為該層新增 3 個項目 至
Branch Filters,並使用以下Bone Name:FACIAL_C_FacialRootFACIAL_C_Neck2RootFACIAL_C_Neck1Root
- 將 1 個項目 新增至
- 自訂臉部動畫的重要事項: 在
Curve Blend Option中,選擇 「Use Max Value」。這可讓自訂臉部動畫(表情、情緒等)正確地疊加在脣形同步之上。 - 建立連接:
- 你的自訂動畫(通常是帶有所需動畫序列資產的
Sequence Player)→Base Pose輸入 - 臉部動畫輸出(來自脣形同步及/或笑聲節點)→
Blend Poses 0輸入 - 分層混合節點 → 最終
Result姿勢
- 你的自訂動畫(通常是帶有所需動畫序列資產的

變形目標集選擇
- 標準模型
- 寫實模型
標準模型使用姿勢資產,其透過自訂姿勢資產設定本質上支援任何形變目標命名慣例。無需額外設定。
Blend Realistic MetaHuman Lip Sync 節點包含一個 Morph Target Set 屬性,用來決定臉部動畫要使用哪種 morph target 命名慣例:
| Morph Target 集合 | 說明 | 使用案例 |
|---|---|---|
| MetaHuman(預設) | 標準 MetaHuman morph target 名稱(例如 CTRL_expressions_jawOpen) | MetaHuman 角色 |
| ARKit | Apple ARKit 相容名稱(例如 JawOpen、MouthSmileLeft) | 以 ARKit 為基礎的角色 |
將角色轉換為 ARKit 或 MetaHuman 混合形狀
如果你的角色並非原生使用 ARKit 標準的 blendshape 名稱,有幾套熱門的商業角色系統可以轉換以產生這些名稱(或者,針對 CC5,可直接轉換為原生 MetaHuman blendshape)。這讓你能使用上方的 ARKit 或 MetaHuman 形態目標集,而不需要標準模型所需的手動 viseme 對應流程。 CC4 與 CC5 角色的處理方式在此有所不同,因為 CC5 角色可以直接共用 MetaHuman 的原生臉部骨架,完全不需要進行 ARKit 轉換。 CC5:轉換為 MetaHuman 混合形狀(建議) 如果你的角色是在 CC5 中使用 HD 臉部設定檔 建立的,它已經共用 MetaHuman 的臉部控制與骨架,因此不需要手動生成 ARKit 混合形狀。取而代之的是: 匯入後,請選擇 MetaHuman Morph Target Set 選項,而非 ARKit,因為該角色的混合形狀已使用原生 MetaHuman 命名。 CC4(或未使用 HD 設定檔的 CC5):轉換為 ARKit 混合形狀 如果你使用的是 CC4,或是不使用 HD 臉部設定檔的 CC5 角色,請改用手動 ARKit 轉換。開始之前,請確認你角色的 Facial Profile 已設為 CC4 Extended(而非 Standard、Extended-Plus 或較新的 HD Facial Profile)。此腳本的 blendshape 對應是針對 Extended 的滑桿名稱寫死的,其他設定檔使用不同的命名慣例,腳本會默默跳過或找不到預期的滑桿。 下載此腳本: 在文字編輯器中開啟指令碼,並在 在 Character Creator 中,選擇你的角色,然後在頂端選單的 Script 底下選擇 Load Python。接著選擇你剛才編輯過的腳本。腳本現在會從預設的 Reallusion 滑桿建立完整的 ARKit 混合形狀組合,並將它們匯出為 OBJ 檔案。這可能需要幾分鐘。 你現在可以透過前往 Facial Profile Editor 視窗來匯入這些形狀。點擊 Edit Expressions 按鈕,並在 Batch Import 下拉選單中選擇 OBJ。 在這裡你可以匯入先前參照的資料夾。這會列出所有 ARKit 形狀。在 Target Category 中輸入名稱,例如 AR_Kit,然後點擊 OK。 這將在 Expression 底下建立一個新類別。你可以停用所有其他類別。 設定好 ARKit 類別後,照常將你的角色匯出為 FBX。這會讓角色取得標準的 52 個 ARKit 混合形狀,接著你就能搭配上方 ARKit Morph Target Set 選項使用。 注意: 在 CC4 的骨架中,下顎運動部分是由骨骼旋轉驅動,而非純粹的混合形狀,因此匯出後 Daz 的 FACS 形變,原生支援於 Genesis 8.1 與 Genesis 9,已經與 ARKit 相容,無需重新命名。純 Genesis 8(非 8.1)預設不包含這些形變。你要嘛改用 Genesis 8.1,要嘛另外加入一個獨立的 FACS 形變包。 積極維護中的 Diffeomorphic 附加元件(Daz Studio 與 Blender 的橋接工具,與 Daz 3D 無關)是將這些匯入 Unreal 的推薦方式: 匯出後,請使用上方的 ARKit Morph Target Set 選項。 注意: 睫毛和眼球上的視線方向形狀可能無法完全轉移,因為它們的驅動方式與主臉部網格不同,但這不影響脣形同步,因為脣形同步只需要嘴部和下顎的形狀。Reallusion CC4/CC5 與 Daz Genesis 8.1/9 轉換指南(點擊展開)
rl_export_arkit_objs.pyoutput_dir = "path/to/your/target/folder" 處,將路徑指定為你的匯出資料夾。請務必使用正斜線 /。



jawOpen 可能看起來很弱,或無法令人信服地張開嘴巴。如果發生這種情況,請在 FBX 匯出選項中啟用 Mouth Open as Morph,這會將下顎由骨骼驅動的運動烘焙成一個專用的混合形狀,可將其指定為 jawOpen 的來源,而非預設的來源。或者,cc_blender_tools 附加元件可以讓角色透過 Blender 處理,以修正此問題及其他形狀問題;請參閱其文件的「Blender Round Trip」章節以了解工作流程(該頁面標題提到 Unity,但這個特定章節與引擎無關)。
微調唇形同步行為
縮放特定嘴型同步曲線
你可以使用 Modify Curve 節點來抑制(或放大)脣形同步所產生的個別臉部動作。當某個特定曲線對你的音訊內容或角色來說顯得太過明顯時,這會很有用。
設定:
- 在你的唇形同步混合節點之後,加入一個
Modify Curve節點 - 在節點上按右鍵並選擇 Add Curve Pin,然後輸入你想要縮放的曲線名稱
- 將節點的 Apply Mode 屬性設為 Scale
- 設定 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、Quest | Windows、Mac、iOS、Linux、Android、Quest | Windows、Mac、iOS、Linux、Android、Quest |
| 使用案例 | 一般應用、遊戲、VR/AR、行動裝置 | 電影級體驗、近距離互動 | 情緒敘事、進階角色互動 |
引擎版本相容性
如果您使用的是 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 或使用任何其他方法來開始聲波播放與脣形同步時:

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
這解決了當從引擎的 Marketplace 目錄載入多個基於 ONNX Runtime 的外掛時可能發生的相容性問題。
封裝設定(Windows): 如果您的封裝專案在 Windows 上無法正確進行脣形同步,請確認您使用的是 Shipping 建置組態,而非 Development。Development 組態可能會導致封裝組建中的寫實模型 ONNX 執行階段發生問題。
要修復這個:
- 在你的專案設定 → 封裝中,將建置組態設為 Shipping
- 重新封裝你的專案

在某些僅使用 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 輸出類型