跳到主要内容

如何将插件用于自定义角色

本指南将引导您完成为非 MetaHuman 角色设置 Runtime MetaHuman Lip Sync 的过程。此过程需要熟悉动画概念和绑定。如果您需要为特定角色实现此功能方面的帮助,可以联系 [email protected] 寻求专业支持。

关于唇形同步模型的重要说明

自定义角色兼容性

自定义角色仅受标准(更快)模型支持。

真实(更高质量)模型专为 MetaHuman 角色设计,不能用于自定义角色。在本指南中,当被引用时,您应遵循主设置指南中的标准模型说明。

需要扩展插件: 要将标准模型与自定义角色一起使用,您必须按照主设置指南的先决条件部分中所述安装标准唇形同步扩展插件

本指南中描述的所有自定义角色实现都需要此扩展。

先决条件

在开始之前,请确保您的角色满足以下要求:

  • 具有有效的骨架
  • 包含用于面部表情的变形目标
  • 理想情况下具有 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 视位会有效果,因为它们是密切相关的齿龈后音。

视位映射参考

以下是常见视位系统与插件所需视位之间的映射:

ARKit 提供了一套全面的用于面部动画的混合形状,包括多种嘴型。以下是如何将它们映射到 RuntimeMetaHumanLipSync 视位:

RuntimeMetaHumanLipSync 视emeARKit 等效项备注
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. 定位角色的骨骼网格体

找到包含您想要用于口型同步动画的变形目标(混合形状)的骨骼网格体。根据您的角色设计,这可能是一个全身网格体或仅仅是面部网格体。

2. 验证变形目标和曲线

在继续之前,请检查您的骨骼网格体是否具有适用于口型同步动画的变形目标和相应的曲线。

检查变形目标: 验证您的骨骼网格体是否包含可用作口型同步动画视位素的变形目标(混合形状)。大多数支持面部动画的角色都应具有一些音素/视位素变形目标。 角色中的变形目标示例

重要:验证曲线选项卡 此步骤对于从 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. 返回 Animation Sequence 资源,在 Curves 列表中定位变形目标(如果它们不可见,请关闭并重新打开 Animation Sequence 资源)
  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

请注意,当你的角色口型集没有与每个所需口型完全匹配时,允许存在重复的映射是可以接受的。

7. 为每个口型制作动画

  1. 对于每个口型,将相关的形变目标曲线从 0.0 动画化到 1.0
  2. 在不同的帧上开始每个口型的动画
  3. 根据需要配置额外的曲线(如下巴/嘴巴张开、舌头位置等)以创建自然的口型形状

8. 创建姿势资产

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

创建姿势资产 命名姿势资产 带有视位的姿势资产

9. 最终确定姿势资产

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

设置音频处理和混合

当您的姿势资源准备就绪后,您需要设置音频处理和混合节点:

  1. 找到或创建您角色的动画蓝图
  2. 按照标准插件设置指南中记录的相同步骤设置音频处理和混合
  3. Blend Runtime MetaHuman Lip Sync 节点中,选择您的自定义姿势资源,而不是默认的 MetaHuman 姿势资源

选择自定义姿势资源

与身体动画结合

如果您希望在进行唇形同步的同时播放其他身体动画:

  1. 按照标准插件指南中记录的相同步骤操作
  2. 确保提供您角色颈部骨骼的正确骨骼名称,而不是使用 MetaHuman 的骨骼名称

效果

以下是使用此设置的自定义角色示例:

示例 1:自定义角色的唇形同步

示例 2:使用不同视位系统的唇形同步

示例 3:使用不同视位系统的唇形同步

唇形同步的质量很大程度上取决于具体的角色及其视位设置的效果。上面的示例展示了该插件与具有不同视位系统的各类自定义角色配合使用的情况。