如何将插件与自定义角色一起使用
本指南将引导您为“非MetaHuman”角色设置Runtime MetaHuman Lip Sync。此过程需要熟悉动画概念与角色绑定。如果您需要针对特定角色实施此功能,可通过solutions@georgy.dev联系以获得专业支持。
关于口型同步模型的重要说明
本指南介绍不使用 MetaHuman 或 ARKit 变形目标命名约定的自定义角色。
Realistic(更高质量)模型适用于变形目标遵循 MetaHuman 或 ARKit 命名标准的角色,可通过 变形目标集选择 进行配置。如果您的角色已经使用(或可以导出/转换为使用)符合 ARKit 标准的混合变形名称,则无需遵循本指南中的手动映射流程,即可使用 Realistic 模型。关于 CC4/CC5、Daz Genesis 等常见角色,请参阅 将角色转换为 ARKit 混合变形。
如果您的角色使用了不同的变形目标集(例如 Daz Genesis、Reallusion CC3/CC4/CC5、Mixamo 或简化的自定义绑定),则 Standard (Faster) 模型 是受支持的选项,请按照以下步骤操作。
需要扩展插件: 要将 Standard Model 与自定义角色一起使用,您必须按照主设置指南的先决条件部分中所述安装 Standard Lip Sync Extension 插件。
对于本指南中描述的所有自定义角色实现,此扩展是必需的。
前提条件
在开始之前,请确保您的角色满足以下要求:
- 拥有有效的骨架
- 包含用于面部表情的变形目标(混合形状)
- 理想情况下具有 10+ 个用于定义 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)
注意: 如果你的角色有一套不同的视位(这很可能),你无需为每个视位找到精确匹配。近似通常就足够了——例如,将你角色的 SH 视位映射到插件的 CH 视位就能有效工作,因为它们是密切相关的齿龈后音。
口型映射参考
以下是常见视位系统与插件所需视位之间的映射:
- Apple ARKit
- 基于FACS的系统
- Preston Blair System
- 3ds Max 音素系统
- 自定义角色(Daz Genesis 8/9,Reallusion CC3/CC4/CC5,Mixamo)
ARKit 提供了一套全面的面部动画混合变形(blendshapes),其中包括多种嘴部形状。下面介绍如何将它们映射到 RuntimeMetaHumanLipSync 的视位(visemes):
| RuntimeMetaHumanLipSync 视位 | ARKit 等效 | 笔记 |
|---|---|---|
| Sil | mouthClose | 中性/静止位置 |
| PP | mouthPressLeft + mouthPressRight | 对于双唇音,请同时使用两种按压嘴型。 |
| FF | lowerLipBiteLeft + lowerLipBiteRight(或 mouthRollLower) | 下唇接触上齿,如发“f”和“v”音时。 |
| TH | tongueOut | ARKit 具有直接的舌头控制功能。 |
| DD | jawOpen (mild) + tongueUp (if you have tongue rig) | 舌头接触齿龈;下颌轻微下沉。 |
| KK | mouthLeft or mouthRight (mild) | 细微的嘴角拉动可近似软腭音。 |
| CH | jawOpen (mild) + mouthFunnel (mild) | 组合以生成龈后音 |
| SS | mouthFrown | 发咝音时轻轻皱眉。 |
| NN | jawOpen (very mild) + mouthClose | 嘴巴几乎闭合,下颌轻微张开 |
| RR | mouthPucker (mild) | 为r音添加微妙的圆唇效果 |
| AA | jawOpen + mouthStretchLeft + mouthStretchRight (或 jawOpen + mouthOpen) | 张大嘴巴发“啊”音 |
| E | jawOpen (mild) + mouthSmile | 中等张开状态,带轻微微笑 |
| IH | mouthSmile (mild) | 嘴唇轻微展开 |
| OH | mouthFunnel | 圆润的开放形状 |
| OU | mouthPucker | 双唇紧圆 |
FACS(面部动作编码系统)使用动作单元(AUs)来描述面部运动。许多专业动画系统都采用基于FACS的方法:
| RuntimeMetaHumanLipSync 视位 | FACS 动作单元 | 备注 |
|---|---|---|
| Sil | 中性 | 没有活动的 AU |
| PP | AU23 + AU24 | 唇部按压 + 唇部收紧 |
| FF | AU22 + AU28 | 嘴唇收拢 + 嘴唇吸吮 |
| TH | AU25 (mild) + AU27 | 嘴唇分开 + 嘴巴拉伸 |
| DD | AU25 + AU16 | 双唇分开 + 下唇降肌 |
| KK | AU26 + AU14 | "下颌下垂 + 酒窝肌" |
| CH | AU18 + AU25 | 撅嘴 + 嘴唇分开 |
| SS | AU20 | 嘴唇拉伸器 |
| NN | AU25 (very mild) | 嘴唇微微分开 |
| RR | AU18 (mild) | 轻微噘嘴 |
| AA | AU27 + AU26 | 嘴巴拉伸 + 下颌张开 |
| E | AU25 + AU12 | 双唇分开 + 嘴角上提 |
| IH | AU12 + AU25 (mild) | 嘴角上拉 + 嘴唇微张 |
| OH | AU27 (mild) + AU18 | 轻微嘴部拉伸 + 嘴唇撅起 |
| OU | AU18 + AU26 (mild) | 嘴唇撅起 + 轻微下颌张开 |
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 的 Character Studio 使用基于音素的系统:
| 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/CC5、Mixamo 等)通常可以以合理的近似方式映射到插件的视位系统。
创建自定义姿势资产
请按照以下步骤为你的角色创建一个自定义姿势资源,该资源将用于 Blend Runtime MetaHuman Lip Sync 节点:
1. 找到你的角色的骨骼网格体
找到包含要用于口型同步动画的变形目标(混合形状)的骨骼网格体。该网格体可能是全身网格体,也可能只是面部网格,具体取决于角色的设计。
2. 验证变形目标和曲线
在继续之前,请检查你的骨骼网格体是否具有合适的变形目标以及用于口型同步动画的相应曲线。
检查变形目标: 请验证你的骨骼网格体包含可用作口型同步动画视位的变形目标(混合形状)。大多数支持面部动画的角色都应具备一些音素/视位变形目标。

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

- 点击
Pause按钮停止动画播放,以便更轻松地编辑。

4. 编辑动画序列
- 点击
Edit in Sequencer->Edit with FK Control Rig - 在
Bake to Control Rig对话框中,点击Bake to Control Rig按钮,不要更改任何设置。

- 编辑器将切换到
动画模式,并打开Sequencer选项卡。 - 将
View Range End Time设置为 0016(这也会自动将Working Range End设置为 0016)。 - 将滑块的右边缘拖到序列器窗口的右端。
5. 准备动画曲线
- 回到 Animation Sequence 资源,并在
Curves列表中找到变形目标(如果它们不可见,请关闭并重新打开该 Animation Sequence 资源)。 - 移除任何与你要用于口型同步的视位或嘴部动作无关的变形目标。
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
请注意,如果角色的视位集没有与每个所需视位完全匹配,存在重复映射也是可以接受的。
7. 为每个 viseme 制作动画
- 对于每个视位,将相关的变形目标曲线从 0.0 动画至 1.0
- 让每个视位的动画从不同的帧开始
- 根据需要配置额外的曲线(下颌/嘴部张开、舌头位置等),以创建自然逼真的视位形状
8. 创建姿势资产
- 转到
创建资产->姿势资产->当前动画 - 为姿势资产输入一个描述性名称,并将其保存到适当的位置。
- 创建的姿势资源将自动打开,并显示诸如
Pose_0、Pose_1等姿势,每个姿势对应一个视位。 - 预览视位权重,以确保它们按预期工作。

9. 最终确定姿势资源
- 将每个姿势重命名,使其与 先决条件 部分中的视位名称匹配
- 删除任何未使用的姿势
设置音频处理与混合
一旦你的姿势资源准备就绪,就需要设置音频处理和混合节点:
- 为你的角色找到或创建 Animation Blueprint
- 按照标准插件设置指南中记录的相同步骤设置音频处理与混合
- 在
Blend Runtime MetaHuman Lip Sync节点中,选择你的自定义姿势资产,而不是默认的 MetaHuman 姿势资产

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



口型同步的质量在很大程度上取决于具体角色及其视位的设置完善程度。上述示例展示了该插件与拥有不同视位系统的各类自定义角色配合工作的效果。