如何将插件用于自定义角色
本指南将引导您完成为非MetaHuman角色设置Runtime MetaHuman Lip Sync的过程。此过程需要您熟悉动画概念和角色绑定。如果您需要针对特定角色实现此功能的专业支持,可以联系 [email protected]。
关于唇形同步模型的重要说明
自定义角色仅支持标准(更快)模型。
逼真(更高质量)模型专为 MetaHuman 和 ARKit 角色设计,不能用于其他自定义角色。在本指南中,当引用主设置指南时,您应遵循标准模型的说明。
需要扩展插件: 要将标准模型用于自定义角色,您必须按照主设置指南 先决条件部分 中的描述安装标准唇形同步扩展插件。
本指南中描述的所有自定义角色实现都需要此扩展。
先决条件
在开始之前,请确保您的角色满足以下要求:
- 拥有有效的骨架
- 包含用于面部表情的变形目标(混合形状)
- 理想情况下拥有 10 个以上定义视位素的变形目标(视位素越多,唇形同步质量越好)
该插件需要将您角色的变形目标映射到以下标准视位素:
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)
注意: 如果你的角色使用不同的视位素集合(这很常见),你不需要为每个视位素寻找完全匹配的映射。近似映射通常就足够了——例如,将你角色的 SH 视位素映射到插件的 CH 视位素是有效的,因为它们是密切相关的齿龈后音。
视位素映射参考
以下是常见视位素系统与插件所需视位素之间的映射:
- Apple ARKit
- FACS-Based Systems
- Preston Blair System
- 3ds Max Phoneme System
- Custom Characters (Daz Genesis 8/9, Reallusion CC3/CC4, Mixamo, ReadyPlayerMe)
ARKit 提供了一套全面的面部动画混合形状,包括多种嘴部形状。以下是如何将它们映射到 RuntimeMetaHumanLipSync 视位素:
| RuntimeMetaHumanLipSync 视位素 | ARKit 等效形状 | 备注 |
|---|---|---|
| Sil | mouthClose | 中性/休息位置 |
| PP | mouthPressLeft + mouthPressRight | 对于双唇音,同时使用两个按压形状 |
| FF | lowerLipBiteLeft + lowerLipBiteRight (或 mouthRollLower) | 下唇接触上齿,如 "f" 和 "v" 音 |
| TH | tongueOut | ARKit 有直接的舌头控制 |
| DD | jawOpen (轻微) + tongueUp (如果你有舌头骨骼) | 舌头接触齿龈;轻微的下颌张开 |
| KK | mouthLeft 或 mouthRight (轻微) | 轻微的嘴角拉动以近似软腭音 |
| CH | jawOpen (轻微) + mouthFunnel (轻微) | 组合用于齿龈后音 |
| SS | mouthFrown | 使用轻微的皱眉表示咝音 |
| NN | jawOpen (非常轻微) + mouthClose | 几乎闭合的嘴,轻微张开下颌 |
| RR | mouthPucker (轻微) | 轻微的圆唇表示 r 音 |
| AA | jawOpen + mouthStretchLeft + mouthStretchRight (或 jawOpen + mouthOpen) | 大张的嘴表示 "ah" 音 |
| E | jawOpen (轻微) + mouthSmile | 中等张开位置,略带微笑 |
| IH | mouthSmile (轻微) | 嘴唇轻微展开 |
| OH | mouthFunnel | 圆唇张开形状 |
| OU | mouthPucker | 紧密圆唇 |
FACS(面部动作编码系统)使用动作单元来描述面部动作。许多专业动画系统使用基于 FACS 的方法:
| RuntimeMetaHumanLipSync 视位素 | FACS 动作单元 | 备注 |
|---|---|---|
| Sil | Neutral | 无活动 AU |
| PP | AU23 + AU24 | 嘴唇按压器 + 嘴唇收紧器 |
| FF | AU22 + AU28 | 嘴唇漏斗状 + 嘴唇吸吮 |
| TH | AU25 (轻微) + AU27 | 嘴唇分开 + 嘴部伸展 |
| DD | AU25 + AU16 | 嘴唇分开 + 下唇压低器 |
| KK | AU26 + AU14 | 下颌下降 + 酒窝形成器 |
| CH | AU18 + AU25 | 嘴唇撅起 + 嘴唇分开 |
| SS | AU20 | 嘴唇伸展器 |
| NN | AU25 (非常轻微) | 轻微嘴唇分开 |
| RR | AU18 (轻微) | 轻微嘴唇撅起 |
| AA | AU27 + AU26 | 嘴部伸展 + 下颌下降 |
| E | AU25 + AU12 | 嘴唇分开 + 嘴角拉动器 |
| IH | AU12 + AU25 (轻微) | 嘴角拉动器 + 轻微嘴唇分开 |
| OH | AU27 (轻微) + AU18 | 轻微嘴部伸展 + 嘴唇撅起 |
| OU | AU18 + AU26 (轻微) | 嘴唇撅起 + 轻微下颌下降 |
Preston Blair 系统是一个经典的动画标准,使用描述性名称表示嘴部形状:
| RuntimeMetaHumanLipSync 视位素 | Preston Blair | 备注 |
|---|---|---|
| Sil | Rest | 中性闭合嘴部位置 |
| PP | MBP | 经典的 "MBP" 嘴部形状 |
| FF | FV | "FV" 位置,牙齿在下唇上 |
| TH | TH | 舌头接触前齿 |
| DD | D/T/N | 这些辅音的相似位置 |
| KK | CKG | 硬辅音位置 |
| CH | CH/J/SH | 这些声音的轻微撅嘴 |
| SS | S/Z | 轻微张开的牙齿位置 |
| NN | N/NG/L | 类似于 D/T 但舌头位置不同 |
| RR | R | R 音的圆唇 |
| AA | AI | 大张的嘴 |
| E | EH | 中等张开的嘴 |
| IH | EE | 展开的嘴唇 |
| OH | OH | 圆唇中等张开 |
| OU | OO | 紧密圆唇 |
3ds Max 为其角色工作室使用基于音素的系统:
| RuntimeMetaHumanLipSync 视位素 | 3ds Max 音素 | 备注 |
|---|---|---|
| Sil | rest | 默认嘴部位置 |
| PP | p_b_m | 直接等效 |
| FF | f_v | 直接等效 |
| TH | th | 直接等效 |
| DD | t_d | 直接等效 |
| KK | k_g | 直接等效 |
| CH | sh_zh_ch | 组合形状 |
| SS | s_z | 直接等效 |
| NN | n_l | 这些声音的组合 |
| RR | r | 直接等效 |
| AA | ah | 开元音 |
| E | eh | 中元音 |
| IH | ee | 闭前元音 |
| OH | oh | 后圆唇元音 |
| OU | oo | 闭后元音 |
具有视位素或嘴部混合形状/变形目标的自定义角色(Daz Genesis 8/9、Reallusion CC3/CC4、Mixamo、ReadyPlayerMe 等)通常可以通过合理的近似映射到插件的视位素系统。
创建自定义姿势资产
按照以下步骤为你的角色创建一个自定义姿势资产,该资产将与 Blend Runtime MetaHuman Lip Sync 节点一起使用:
1. 定位角色的骨骼网格体
找到包含你想要用于口型同步动画的变形目标(混合形状)的骨骼网格体。根据你的角色设计,这可能是全身网格体或仅仅是面部网格体。
2. 验证变形目标和曲线
在继续之前,请检查你的骨骼网格体是否具有用于口型同步动画的适当变形目标和相应曲线。
检查变形目标: 验证你的骨骼网格体是否包含可用作口型同步动画视位素的变形目标(混合形状)。大多数支持面部动画的角色应该具有一些音素/视位素变形目标。

重要:验证曲线选项卡 此步骤对于从 Blender 或其他外部软件导出的角色尤其关键:
- 在骨骼网格体编辑器中打开 曲线 选项卡
- 检查是否可以看到与你的变形目标对应的曲线
- 如果曲线选项卡为空 但变形目标存在,请使用与你的变形目标 完全相同的名称 手动添加新曲线
注意: 此问题通常出现在 Blender 导出中,其中变形目标成功导入但动画曲线未自动创建。如果没有匹配的曲线,在烘焙到 Control Rig 后动画将无法正确填充。
替代解决方案: 为了防止在从 Blender 导出时出现此问题,请尝试在 FBX 导出设置中启用 自定义属性 和 动画,这可能有助于在变形目标旁边包含动画曲线。
3. 创建参考姿势动画
- 转到
创建资产 -> 创建动画 -> 参考姿势 - 为动画序列输入一个描述性名称,并将其保存在适当的位置
- 创建的动画序列将自动打开,显示一个循环播放的空动画

- 点击
暂停按钮以停止动画播放,便于编辑

4. 编辑动画序列
- 点击
在 Sequencer 中编辑->使用 FK Control Rig 编辑 - 在
烘焙到 Control Rig对话框中,点击烘焙到 Control Rig按钮,无需更改任何设置

- 编辑器将切换到
动画模式,并打开Sequencer选项卡 - 将
视图范围结束时间设置为 0016(这将自动将工作范围结束也设置为 0016) - 将滑块的右边缘拖动到序列器窗口的右端
5. Prepare the Animation Curves
- 返回 Animation Sequence 资产,在
Curves列表中定位变形目标(如果它们不可见,请关闭并重新打开 Animation Sequence 资产) - 移除任何与您想用于口型同步的视位素或嘴部动作无关的变形目标
6. Plan your viseme mapping
创建一个映射计划,将您角色的口型与插件所需的集合进行匹配。例如:
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
请注意,当你的角色口型集没有与每个所需口型完全匹配时,允许存在重复的映射。
7. Animate each viseme
- 对于每个口型,将相关的形变目标曲线从 0.0 动画到 1.0
- 在不同的帧上开始每个口型的动画
- 根据需要配置额外的曲线(如下巴/嘴巴张开、舌头位置等)以创建自然的口型形状
8. Create a Pose Asset
- 转到
创建资产->姿势资产->当前动画 - 为姿势资产输入一个描述性名称,并将其保存在合适的位置
- 创建的姿势资产将自动打开,显示诸如
Pose_0、Pose_1等姿势,每个姿势对应一个视位 - 预览视位权重以确保其按预期工作

9. Finalize the Pose Asset
- 将每个姿势重命名为与先决条件部分中的视位名称相匹配
- 删除任何未使用的姿势
设置音频处理和混合
准备好姿势资产后,您需要设置音频处理和混合节点:
- 找到或创建您角色的动画蓝图
- 按照标准插件设置指南中记录的相同步骤设置音频处理和混合
- 在
Blend Runtime MetaHuman Lip Sync节点中,选择您的自定义姿势资产,而不是默认的 MetaHuman 姿势资产

与身体动画结合
如果您希望在进行口型同步的同时播放其他身体动画:
- 按照标准插件指南中记录的相同步骤操作
- 确保为您角色的颈部骨骼提供正确的骨骼名称,而不是使用 MetaHuman 的骨骼名称
结果
以下是使用此设置的自定义角色示例:



口型同步的质量很大程度上取决于特定角色及其视位设置的好坏。上面的示例展示了该插件与具有不同视位系统的各种自定义角色配合工作的情况。