跳到主要内容

在自定义角色上使用插件

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

前提条件

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

  • 具有有效骨骼系统
  • 包含面部表情的变形目标(混合形状)
  • 理想情况下应具备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)

注意: 如果您的角色使用不同的视位素(viseme)系统(这很常见),您不需要为每个视位素寻找完全匹配的映射。近似映射通常就足够有效——例如,将您角色的 SH 视位素映射到插件的 CH 视位素就能良好运作,因为它们是发音位置相近的龈后音。

视位素映射参考

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

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

RuntimeMetaHumanLipSync 视位素ARKit 等效混合形状备注
SilmouthClose中性/休息状态
PPmouthPressLeft + mouthPressRight双唇音需同时使用左右按压形状
FFlowerLipBiteLeft + lowerLipBiteRight这些形状创建"f/v"的唇齿接触效果
THtongueOutARKit 可直接控制舌头
DDjawOpen(轻微) + tongueUp结合轻微下颌打开与舌位
KKmouthLeft 或 mouthRight(轻微)嘴角轻微拉动可近似软腭音
CHjawOpen(轻微) + mouthFunnel(轻微)组合实现龈后音
SSmouthFrown轻微嘴角下垂表现咝音
NNjawOpen(极轻微) + mouthClose近似闭合嘴部配合轻微下颌打开
RRmouthPucker(轻微)轻微圆唇表现r音
AAjawOpen + mouthOpen组合实现大开元音口型
EjawOpen(轻微) + mouthSmile中等开口配合微笑
IHmouthSmile(轻微)嘴唇轻微展开
OHmouthFunnel圆唇开口形状
OUmouthPucker紧圆唇形

创建自定义姿势资产

按照以下步骤为您的角色创建自定义姿势资产,该资产将与 Blend Runtime MetaHuman Lip Sync 节点配合使用:

1. 定位角色的骨骼网格体

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

2. 验证可用变形目标

确保您的骨骼网格体具有适合用作唇形同步视位素的变形目标。大多数支持面部动画的角色都应具备某些音素/视位素变形目标。

角色变形目标示例

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. 返回动画序列资产,在曲线列表中定位变形目标(如果不可见,请关闭并重新打开动画序列资产)
  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)集合无法精确匹配每个所需的视位时,允许存在重复映射的情况。

7. 为每个视位制作动画

  1. 针对每个视位,将相关变形目标曲线从 0.0 动画化至 1.0
  2. 在不同帧上开始每个视位的动画
  3. 根据需要配置其他曲线(如下颌/嘴部开合、舌头位置等)以创建自然逼真的视位形态

8. 创建姿势资产

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

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

9. 完成姿势资产配置

  1. 将每个姿势重命名为符合前提条件章节中的视位素名称
  2. 删除所有未使用的姿势

设置音频处理与混合

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

  1. 找到或创建角色的动画Blueprints
  2. 按照标准插件设置指南中的相同步骤设置音频处理与混合
  3. Blend Runtime MetaHuman Lip Sync节点中,选择您的自定义Pose Asset而非默认的MetaHuman姿势资产

选择自定义姿势资产

与身体动画结合

如需在身体动画的同时进行唇形同步:

  1. 遵循标准插件指南中的相同步骤
  2. 确保为角色颈部骨骼提供正确的骨骼名称,而非使用MetaHuman的骨骼名称

效果展示

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

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

示例2:不同音素系统的唇形同步

示例3:不同音素系统的唇形同步

唇形同步的质量主要取决于特定角色及其音素系统的设置精度。上述示例展示了插件在不同类型、具有独特音素系统的自定义角色上的工作效果。