跳到主要内容

插件配置

模型配置

标准模型配置

Create Runtime Viseme Generator 节点使用适用于大多数场景的默认设置。配置通过动画 Blueprint 混合节点属性进行处理。

有关动画 Blueprint 配置选项,请参阅下面的唇形同步配置部分。

逼真模型配置

Create Realistic MetaHuman Lip Sync Generator 节点接受一个可选的配置参数,允许您自定义生成器的行为:

模型类型

模型类型设置决定使用哪个版本的逼真模型:

模型类型性能视觉质量噪声处理推荐使用场景
高度优化(默认)最高性能,最低CPU使用率良好质量在背景噪声或非语音声音下可能显示明显的嘴部运动干净的音频环境,性能关键场景
半优化良好性能,中等CPU使用率高质量在噪声音频下具有更好的稳定性平衡性能与质量,混合音频条件
原始适用于现代CPU的实时使用最高质量在背景噪声和非语音声音下最稳定高质量制作,噪声音频环境,需要最大精度时

性能设置

内部操作线程数: 控制用于内部模型处理操作的线程数量。

  • 0(默认/自动): 使用自动检测(通常为可用CPU核心数的1/4,最多4个)
  • 1-16: 手动指定线程数。较高的值可能提高多核系统上的性能,但会使用更多CPU

交互操作线程数: 控制用于并行执行不同模型操作的线程数量。

  • 0(默认/自动): 使用自动检测(通常为可用CPU核心数的1/8,最多2个)
  • 1-8: 手动指定线程数。通常为实时处理保持较低值

处理块大小

处理块大小决定每个推理步骤中处理的样本数量。默认值为160个样本(在16kHz下为10ms音频):

  • 较小的值提供更频繁的更新但增加CPU使用率
  • 较大的值减少CPU负载但可能降低唇形同步的响应性
  • 建议使用160的倍数以获得最佳对齐

设置处理块大小

情绪启用模型配置

Create Realistic MetaHuman Lip Sync With Mood Generator 节点提供超出基本逼真模型的额外配置选项:

基本配置

前瞻时间(毫秒): 前瞻时间(毫秒),用于提高唇形同步的准确性。

  • 默认值:80毫秒
  • 范围:20毫秒至200毫秒(必须能被20整除)
  • 数值越高,同步效果越好,但会增加延迟

输出类型: 控制生成哪些面部控制项。

  • 全脸:所有81个面部控制项(眉毛、眼睛、鼻子、嘴巴、下巴、舌头)
  • 仅嘴巴:仅与嘴巴、下巴和舌头相关的控制项

性能设置: 使用与常规写实模型相同的内部操作线程和外部操作线程设置。

情绪设置

可用情绪:

  • 中性、快乐、悲伤、厌恶、愤怒、惊讶、恐惧
  • 自信、兴奋、无聊、俏皮、困惑

情绪强度: 控制情绪对动画影响的强烈程度(0.0 至 1.0)

运行时情绪控制

您可以在运行时使用以下函数调整情绪设置:

  • 设置情绪:更改当前情绪类型
  • 设置情绪强度:调整情绪对动画影响的强烈程度(0.0 至 1.0)
  • 设置前瞻时间(毫秒):修改用于同步的前瞻时间
  • 设置输出类型:在全脸和仅嘴巴控制之间切换

情绪配置

情绪选择指南

根据您的内容选择合适的情绪:

情绪最适合场景典型强度范围
中性一般对话、旁白、默认状态0.5 - 1.0
快乐积极内容、愉快的对话、庆祝场景0.6 - 1.0
悲伤忧郁内容、情感场景、悲伤时刻0.5 - 0.9
厌恶负面反应、令人反感的内容、拒绝场景0.4 - 0.8
愤怒攻击性对话、对抗性场景、挫败感0.6 - 1.0
惊讶意外事件、启示、震惊反应0.7 - 1.0
恐惧威胁性情境、焦虑、紧张的对话0.5 - 0.9
自信专业演示、领导力对话、自信的演讲0.7 - 1.0
兴奋充满活力的内容、公告、热情的对话0.8 - 1.0
无聊单调的内容、不感兴趣的对话、疲惫的讲话0.3 - 0.7
俏皮随意交谈、幽默、轻松愉快的互动0.6 - 0.9
困惑疑问较多的对话、不确定性、困惑0.4 - 0.8

动画 Blueprint 配置

唇形同步配置

Blend Runtime MetaHuman Lip Sync 节点在其属性面板中有配置选项:

属性默认值描述
插值速度25控制口型动作在音素之间过渡的快慢。较高的值会导致更快、更突兀的过渡。
重置时间0.2口型同步重置前的持续时间(以秒为单位)。这对于防止音频停止后口型同步继续运行非常有用。

笑声动画

您还可以添加笑声动画,使其能够动态响应音频中检测到的笑声:

  1. 添加 Blend Runtime MetaHuman Laughter 节点
  2. 将您的 RuntimeVisemeGenerator 变量连接到 Viseme Generator 引脚
  3. 如果您已经在使用唇形同步:
    • Blend Runtime MetaHuman Lip Sync 节点的输出连接到 Blend Runtime MetaHuman Laughter 节点的 Source Pose
    • Blend Runtime MetaHuman Laughter 节点的输出连接到 Output PoseResult 引脚
  4. 如果仅使用笑声而不使用唇形同步:
    • 将您的源姿势直接连接到 Blend Runtime MetaHuman Laughter 节点的 Source Pose
    • 将输出连接到 Result 引脚

Blend Runtime MetaHuman Laughter

当在音频中检测到笑声时,您的角色将相应地动态动画化:

Laughter

笑声配置

Blend Runtime MetaHuman Laughter 节点有其自己的配置选项:

属性默认值描述
插值速度25控制唇部动作在笑声动画之间过渡的速度。值越高,过渡越快、越突然。
重置时间0.2笑声重置前的持续时间(以秒为单位)。这对于防止音频停止后笑声继续播放非常有用。
最大笑声权重0.7缩放笑声动画的最大强度(0.0 - 1.0)。

注意: 笑声检测目前仅适用于标准模型。

与现有动画结合

要将唇形同步和笑声应用到现有的身体动画和自定义面部动画上而不覆盖它们:

  1. 在您的身体动画和最终输出之间添加一个 Layered blend per bone 节点。确保 Use Attached Parent 为 true。
  2. 配置层级设置:
    • Layer Setup 数组中添加 1 个项目
    • 为该层级的 Branch Filters 添加 3 个项目,使用以下 Bone Name
      • FACIAL_C_FacialRoot
      • FACIAL_C_Neck2Root
      • FACIAL_C_Neck1Root
  3. 对于自定义面部动画很重要:Curve Blend Option 中,选择 "Use Max Value"。这允许自定义面部动画(表情、情绪等)正确地分层在唇形同步之上。
  4. 进行连接:
    • 现有动画(如 BodyPose)→ Base Pose 输入
    • 面部动画输出(来自唇形同步和/或笑声节点)→ Blend Poses 0 输入
    • 分层混合节点 → 最终的 Result 姿势

Layered Blend Per Bone

微调唇形同步行为

舌头伸出控制

在标准唇形同步模型中,您可能会注意到某些音素期间舌头过度向前移动。要控制舌头突出:

  1. 在您的唇形同步混合节点之后,添加一个 Modify Curve 节点
  2. 右键单击 Modify Curve 节点并选择 添加曲线引脚
  3. 添加一个名为 CTRL_expressions_tongueOut 的曲线引脚
  4. 将节点的 应用模式 属性设置为 缩放
  5. 调整 参数以控制舌头伸展(例如,0.8 可将突出减少 20%)

下颌张开控制

根据您的音频内容和视觉需求,逼真唇形同步可能会产生过于灵敏的下颌运动。要调整下颌张开强度:

  1. 在您的唇形同步混合节点之后,添加一个 Modify Curve 节点
  2. 右键单击 Modify Curve 节点并选择 添加曲线引脚
  3. 添加一个名为 CTRL_expressions_jawOpen 的曲线引脚
  4. 将节点的 应用模式 属性设置为 缩放
  5. 调整 参数以控制下颌张开范围(例如,0.9 可将下颌运动减少 10%)

情绪特定微调

对于启用了情绪功能的模型,您可以微调特定的情感表达:

眉毛控制:

  • CTRL_expressions_browRaiseInL / CTRL_expressions_browRaiseInR - 内侧眉毛抬起
  • CTRL_expressions_browRaiseOuterL / CTRL_expressions_browRaiseOuterR - 外侧眉毛抬起
  • CTRL_expressions_browDownL / CTRL_expressions_browDownR - 眉毛降低

眼部表情控制:

  • CTRL_expressions_eyeSquintInnerL / CTRL_expressions_eyeSquintInnerR - 眼部眯起
  • CTRL_expressions_eyeCheekRaiseL / CTRL_expressions_eyeCheekRaiseR - 脸颊抬起

模型比较与选择

在模型之间选择

当决定为您的项目使用哪种唇形同步模型时,请考虑以下因素:

考量因素标准模型逼真模型启用了情绪的逼真模型
角色兼容性MetaHumans 及所有自定义角色类型仅限 MetaHumans仅限 MetaHumans
视觉质量良好的唇形同步与高效性能增强的真实感,嘴部运动更自然增强的真实感,带有情感表达
性能针对包括移动/VR 在内的所有平台优化更高的资源需求更高的资源需求
功能14 个视位,笑声检测81 个面部控制,3 个优化级别81 个面部控制,12 种情绪,可配置输出
平台支持Windows, Android, QuestWindows, Mac, iOS, LinuxWindows, Mac, iOS, Linux
使用案例通用应用、游戏、VR/AR、移动端电影体验、特写交互情感叙事、高级角色交互

引擎版本兼容性

UE 5.2 兼容性问题

如果您正在使用 Unreal Engine 5.2,由于 UE 重采样库中的一个错误,真实模型可能无法正常工作。对于需要可靠唇形同步功能的 UE 5.2 用户,请改用 标准模型

此问题特定于 UE 5.2,不影响其他引擎版本。

性能建议

  • 对于大多数项目,标准模型 在质量和性能之间提供了出色的平衡
  • 当您需要为 MetaHuman 角色提供最高视觉保真度时,请使用 真实模型
  • 当情感表达控制对您的应用很重要时,请使用 支持情绪的真实模型
  • 选择模型时请考虑目标平台的性能能力
  • 测试不同的优化级别,为您的特定用例找到最佳平衡点

TTS 兼容性

模型类型本地 TTS 支持(通过 Runtime Text To Speech)外部 TTS 支持备注
标准模型✅ 完全支持✅ 完全支持兼容所有 TTS 选项
真实模型❌ 有限支持✅ 完全支持ONNX 运行时与本地 TTS 冲突
支持情绪的真实模型✅ 完全支持✅ 完全支持兼容所有 TTS 选项

故障排除

常见问题

真实模型的生成器重建: 为了确保真实模型的可靠和一致运行,建议在经历一段不活动期后,每次想要输入新的音频数据时重新创建生成器。这是由于 ONNX 运行时的行为,在静默期后重用生成器可能导致唇形同步停止工作。

本地 TTS 兼容性: 由于 ONNX 运行时冲突,Runtime Text To Speech 插件提供的本地 TTS 目前不支持常规真实模型。但是,它与标准模型和支持情绪的真实模型完全兼容。如果您特别需要将常规真实模型与 TTS 功能结合使用,请使用外部 TTS 服务。

唇形同步响应性下降: 如果您在使用 Streaming Sound Wave 或 Capturable Sound Wave 时,发现唇形同步的响应性随时间推移而降低,这可能是由内存累积引起的。默认情况下,每次追加新音频时都会重新分配内存。为防止此问题,请定期调用 ReleaseMemory 函数以释放累积的内存,例如大约每 30 秒调用一次。

性能优化:

  • 根据您的性能要求调整真实模型的处理块大小
  • 为目标硬件使用适当的线程数
  • 当不需要完整面部动画时,考虑对支持情绪的模型使用仅嘴部输出类型