跳到主要内容

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

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

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

自定义角色兼容性

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

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

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

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

先决条件

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

  • 拥有有效的骨架
  • 包含用于面部表情的变形目标(混合形状)
  • 理想情况下,拥有 10 个以上定义视位(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 位素是有效的,因为它们是密切相关的龈后音。

视位素映射参考

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

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

RuntimeMetaHumanLipSync 视位素ARKit 等效项备注
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 列表中定位到 morph targets(如果它们不可见,请关闭并重新打开 Animation Sequence 资源)
  2. 移除任何与您想用于 lip sync 的 visemes 或嘴部动作无关的 morph targets

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:不同音素系统的唇形同步

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