如何将插件用于自定义角色
本指南将引导您完成为非 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
位素是有效的,因为它们是密切相关的龈后音。
视位素映射参考
以下是常见视位素系统与插件所需视位素之间的映射:
- Apple ARKit
- 基于 FACS 的系统
- Preston Blair System
- 3ds Max Phoneme System
- 自定义角色 (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(面部动作编码系统)使用动作单元(AUs)来描述面部动作。许多专业动画系统使用基于 FACS 的方法:
RuntimeMetaHumanLipSync 视位素 | FACS 动作单元 | 备注 |
---|---|---|
Sil | 中性 | 无活动 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) - 将滑块的右边缘拖动到sequencer窗口的右端
5. 准备动画曲线
- 返回 Animation Sequence 资源,在
Curves
列表中定位到 morph targets(如果它们不可见,请关闭并重新打开 Animation Sequence 资源) - 移除任何与您想用于 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. 为每个口型制作动画
- 对于每个口型,将相关的形变目标曲线从 0.0 动画化到 1.0
- 在不同的帧上开始每个口型动画
- 根据需要配置额外的曲线(下巴/嘴巴张开、舌头位置等)以创建自然的口型形状
8. 创建姿势资产
- 转到
创建资产
->姿势资产
->当前动画
- 为姿势资产输入一个描述性名称,并将其保存在合适的位置
- 创建的姿势资产将自动打开,显示诸如
Pose_0
、Pose_1
等姿势,每个姿势对应一个视位 - 预览视位权重以确保它们按预期工作
9. 最终确定姿势资产
- 重命名每个姿势以匹配 先决条件 部分中的视位名称
- 删除任何未使用的姿势
设置音频处理和混合
准备好姿势资产后,您需要设置音频处理和混合节点:
- 找到或创建角色的动画蓝图
- 按照标准插件设置指南中记录的相同步骤设置音频处理和混合
- 在
Blend Runtime MetaHuman Lip Sync
节点中,选择您的自定义姿势资产而不是默认的 MetaHuman 姿势资产