跳至主要内容

如何將外掛程式與自訂角色搭配使用

本指南將引導您為非 MetaHuman 角色設定 Runtime MetaHuman Lip Sync 的流程。此流程需要熟悉動畫概念與骨架綁定。如果您在為特定角色實作時需要協助,可透過 [email protected] 聯繫以取得專業支援。

關於唇形同步模型的重要說明

自訂角色相容性

自訂角色僅支援 Standard (Faster) 模型。

Realistic (Higher Quality) 模型是專為 MetaHumanARKit 角色所設計,無法與其他自訂角色搭配使用。在本指南中,當參考主要設定指南時,請遵循 Standard 模型的指示。

需要擴充外掛程式: 若要將 Standard 模型與自訂角色搭配使用,您必須按照主要設定指南的 先決條件章節 所述,安裝 Standard Lip Sync Extension 外掛程式

此擴充功能對於本指南中所述的所有自訂角色實作均為必要

先決條件

在開始之前,請確保您的角色符合以下要求:

  • 擁有有效的骨架
  • 包含用於臉部表情的形態目標(混合形狀)
  • 理想情況下擁有 10 個以上定義 viseme 的形態目標(越多 viseme 可達到越好的唇形同步品質)

此外掛程式需要將您角色的形態目標對應至以下標準 viseme:

Sil -> Silence
PP -> Bilabial plosives (p, b, m)
FF -> Labiodental fricatives (f, v)
TH -> Dental fricatives (th)
DD -> Alveolar plosives (t, d)
KK -> Velar plosives (k, g)
CH -> Postalveolar affricates (ch, j)
SS -> Sibilants (s, z)
NN -> Nasal (n)
RR -> Approximant (r)
AA -> Open vowel (aa)
E -> Mid vowel (e)
IH -> Close front vowel (ih)
OH -> Close-mid back vowel (oh)
OU -> Close back vowel (ou)

注意: 如果您的角色擁有一組不同的 viseme(這很有可能),您不需要為每個 viseme 找到完全匹配。近似值通常就足夠了——例如,將您角色的 SH viseme 映射到插件的 CH viseme 會很有效,因為它們是密切相關的齦後音。

Viseme 映射參考

以下是常見 viseme 系統與插件所需 viseme 之間的映射:

ARKit 提供了一套全面的面部動畫 blendshape,包括多種嘴部形狀。以下是將它們映射到 RuntimeMetaHumanLipSync viseme 的方法:

RuntimeMetaHumanLipSync VisemeARKit 等效項備註
SilmouthClose中性/靜止位置
PPmouthPressLeft + mouthPressRight對於雙唇音,請同時使用兩個按壓形狀
FFlowerLipBiteLeft + lowerLipBiteRight (或 mouthRollLower)下唇接觸上牙,如 "f" 和 "v" 音
THtongueOutARKit 有直接的舌頭控制
DDjawOpen (輕微) + tongueUp (如果有舌頭綁定)舌頭接觸齒槽嵴;輕微張開下巴
KKmouthLeft 或 mouthRight (輕微)微妙的嘴角拉伸近似於軟齶音
CHjawOpen (輕微) + mouthFunnel (輕微)結合用於齦後音
SSmouthFrown使用輕微的皺眉來表示噝音
NNjawOpen (非常輕微) + mouthClose幾乎閉合的嘴巴,帶有輕微的下巴張開
RRmouthPucker (輕微)為 R 音做輕微的圓唇
AAjawOpen + mouthStretchLeft + mouthStretchRight (或 jawOpen + mouthOpen)為 "ah" 音張大嘴巴
EjawOpen (輕微) + mouthSmile中開位置,帶有輕微的微笑
IHmouthSmile (輕微)嘴唇輕微向兩側拉伸
OHmouthFunnel圓形的張開形狀
OUmouthPucker緊密圓唇

建立自訂姿勢資產

請按照以下步驟為您的角色建立一個自訂姿勢資產,該資產將與 Blend Runtime MetaHuman Lip Sync 節點一起使用:

1. 找到您角色的骨架網格

找到包含您想要用於唇形同步動畫的形變目標(blend shape)的骨架網格。根據角色的設計,這可能是全身網格或僅是面部網格。

2. 驗證形變目標和曲線

在繼續之前,請檢查您的骨架網格是否具有適當的形變目標和相應的曲線以用於唇形同步動畫。

檢查形變目標: 驗證您的骨架網格包含可用作唇形同步動畫 viseme 的形變目標(blend shape)。大多數支援面部動畫的角色都應該有一些音素/viseme 形變目標。

角色中的形變目標範例

重要:驗證曲線標籤頁 對於從 Blender 或其他外部軟體匯出的角色,此步驟尤其重要:

  1. 在骨架網格編輯器中打開 曲線 標籤頁
  2. 檢查您是否可以看到與您的形變目標相對應的曲線
  3. 如果曲線標籤頁為空 但形變目標存在,請手動添加新曲線,使用 與您的形變目標完全相同的名稱

注意: 此問題常見於 Blender 匯出,其中形變目標成功導入,但動畫曲線不會自動建立。如果沒有匹配的曲線,在烘焙到 Control Rig 後,動畫將無法正確填充。

替代解決方案: 為防止在從 Blender 匯出期間出現此問題,請嘗試在 FBX 匯出設定中啟用 自訂屬性動畫,這可能有助於將動畫曲線與形變目標一起包含在內。

3. 建立參考姿勢動畫

  1. 前往 建立資產 -> 建立動畫 -> 參考姿勢
  2. 為動畫序列輸入一個描述性名稱,並將其保存在適當的位置
  3. 建立的動畫序列將自動打開,顯示一個循環播放的空動畫

建立參考姿勢資產 命名參考姿勢資產

  1. 點擊 暫停 按鈕以停止動畫播放,以便於編輯

暫停動畫播放

4. 編輯動畫序列

  1. 點擊 在 Sequencer 中編輯 -> 使用 FK Control Rig 編輯
  2. 烘焙到 Control Rig 對話框中,點擊 烘焙到 Control Rig 按鈕,不更改任何設定

使用 FK Control Rig 編輯 烘焙到 Control Rig

  1. 編輯器將切換到 動畫模式,並打開 Sequencer 標籤頁
  2. 檢視範圍結束時間 設定為 0016(這也會自動將 工作範圍結束 設定為 0016)
  3. 將滑塊的右邊緣拖動到 sequencer 視窗的右端

5. 准备动画曲线

  1. 返回动画序列资源,在 Curves 列表中定位变形目标(如果不可见,请关闭并重新打开动画序列资源)
  2. 移除任何与您想要用于口型同步的视位或嘴部动作无关的变形目标

6. 规划您的视位映射

创建一个映射计划,将您角色的视位与插件所需的集合进行匹配。例如:

Sil -> Sil
PP -> FV
FF -> FV
TH -> TH
DD -> TD
KK -> KG
CH -> CH
SS -> SZ
NN -> NL
RR -> RR
AA -> AA
E -> E
IH -> IH
OH -> O
OU -> U

請注意,當您的角色面部表情集(viseme set)沒有與每個所需面部表情完全匹配時,重複的映射是可以接受的。

7. 為每個面部表情製作動畫

  1. 對於每個面部表情,將相關的變形目標曲線從 0.0 動畫到 1.0
  2. 在不同的影格上開始每個面部表情的動畫
  3. 根據需要配置額外的曲線(例如下顎/嘴巴張開、舌頭位置等),以創建自然的面部表情形狀

8. 创建姿势资产

  1. 前往 创建资产 -> 姿势资产 -> 当前动画
  2. 为姿势资产输入一个描述性名称,并将其保存在合适的位置
  3. 创建的姿势资产将自动打开,显示诸如 Pose_0Pose_1 等姿势,每个姿势对应一个视位
  4. 预览视位权重以确保其按预期工作

创建姿势资产 命名姿势资产 包含视位的姿势资产

9. 完成姿势资产

  1. 重命名每个姿势,使其与前提条件部分中的视位名称匹配
  2. 删除任何未使用的姿势

設定音訊處理與混合

當您的姿勢資產準備就緒後,需要設定音訊處理與混合節點:

  1. 找到或建立角色的 Animation Blueprint
  2. 按照標準外掛設定指南中記錄的相同步驟,設定音訊處理與混合
  3. Blend Runtime MetaHuman Lip Sync 節點中,選擇您的自訂 Pose Asset,而非預設的 MetaHuman 姿勢資產

選取自訂姿勢資產

與身體動畫結合

如果您想在進行嘴型同步的同時,也執行其他身體動畫:

  1. 按照標準外掛指南中記錄的相同步驟操作
  2. 確保為角色頸部骨骼提供正確的骨骼名稱,而非使用 MetaHuman 的骨骼名稱

結果

以下是使用此設定之自訂角色的範例:

範例 1:自訂角色的嘴型同步

範例 2:使用不同 viseme 系統的嘴型同步

範例 3:使用不同 viseme 系統的嘴型同步

嘴型同步的品質在很大程度上取決於特定角色及其 viseme 的設定方式。上述範例展示了該外掛在不同類型自訂角色(具有不同 viseme 系統)上的運作情況。