插件配置
模型配置
标准模型配置
Create Runtime Viseme Generator
节点使用适用于大多数场景的默认设置。配置通过动画蓝图混合节点属性处理。
有关动画蓝图配置选项,请参阅下面的 Lip Sync Configuration 部分。
逼真模型配置
Create Realistic MetaHuman Lip Sync Generator
节点接受一个可选的 Configuration 参数,允许您自定义生成器的行为:
模型类型
Model Type 设置决定使用哪个版本的逼真模型:
模型类型 | 性能 | 视觉质量 | 噪声处理 | 推荐使用场景 |
---|---|---|---|---|
Highly Optimized (默认) | 最高性能,最低 CPU 使用率 | 良好质量 | 在背景噪声或非语音声音下可能显示明显的嘴部运动 | 干净的音频环境,性能关键场景 |
Semi-Optimized | 良好性能,中等 CPU 使用率 | 高质量 | 对含噪声的音频具有更好的稳定性 | 平衡性能与质量,混合音频条件 |
Original | 适用于现代 CPU 的实时使用 | 最高质量 | 对背景噪声和非语音声音最稳定 | 高质量制作,嘈杂的音频环境,需要最大精度时 |
性能设置
Intra Op Threads: 控制用于内部模型处理操作的线程数。
- 0 (默认/自动): 使用自动检测(通常为可用 CPU 核心数的 1/4,最多 4 个)
- 1-16: 手动指定线程数。较高的值可能提高多核系统上的性能,但会使用更多 CPU
Inter Op Threads: 控制用于并行执行不同模型操作的线程数。
- 0 (默认/自动): 使用自动检测(通常为可用 CPU 核心数的 1/8,最多 2 个)
- 1-8: 手动指定线程数。通常为实时处理保持较低值
处理块大小
Processing Chunk Size 决定在每个推理步骤中处理多少样本。默认值为 160 个样本(在 16kHz 下为 10ms 音频):
- 较小的值提供更频繁的更新,但会增加 CPU 使用率
- 较大的值减少 CPU 负载,但可能降低唇形同步的响应性
- 建议使用 160 的倍数以获得最佳对齐
支持情绪模型配置
Create Realistic MetaHuman Lip Sync With Mood Generator
节点提供超出基本逼真模型的额外配置选项:
基本配置
前瞻时间(毫秒): 前瞻时间(毫秒),用于提高唇形同步的准确性。
- 默认值:80毫秒
- 范围:20毫秒至200毫秒(必须能被20整除)
- 数值越高,同步效果越好,但会增加延迟
输出类型: 控制生成哪些面部控制。
- 全脸:所有81个面部控制(眉毛、眼睛、鼻子、嘴巴、下巴、舌头)
- 仅嘴巴:仅与嘴巴、下巴和舌头相关的控制
性能设置: 使用与常规真实模型相同的 Intra Op Threads 和 Inter Op Threads 设置。
情绪设置
可用情绪:
- 中性、快乐、悲伤、厌恶、愤怒、惊讶、恐惧
- 自信、兴奋、无聊、俏皮、困惑
情绪强度: 控制情绪对动画影响的强烈程度(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 |
动画蓝图配置
唇形同步配置
- 标准模型
- 写实模型
Blend Runtime MetaHuman Lip Sync
节点在其属性面板中有以下配置选项:
属性 | 默认值 | 描述 |
---|---|---|
插值速度 | 25 | 控制口型动作在视位之间转换的速度。值越高,转换越快、越突兀。 |
重置时间 | 0.2 | 唇形同步重置前的持续时间(以秒为单位)。这对于防止音频停止后唇形同步继续运行非常有用。 |
Blend Realistic MetaHuman Lip Sync
节点在其属性面板中有以下配置选项:
属性 | 默认值 | 描述 |
---|---|---|
插值速度 | 30 | 控制口型动作在位置之间转换的速度。值越高,转换越快、越突兀。 |
重置时间 | 0.2 | 唇形同步重置前的持续时间(以秒为单位)。这对于防止音频停止后唇形同步继续运行非常有用。 |
注意: 相同的 Animation Blueprint 节点同时用于常规写实模型和启用情绪功能的写实模型。
笑声动画
您还可以添加笑声动画,该动画将动态响应在音频中检测到的笑声:
- 添加
Blend Runtime MetaHuman Laughter
节点 - 将您的
RuntimeVisemeGenerator
变量连接到Viseme Generator
引脚 - 如果您已经在使用唇形同步:
- 将
Blend Runtime MetaHuman Lip Sync
节点的输出连接到Blend Runtime MetaHuman Laughter
节点的Source Pose
- 将
Blend Runtime MetaHuman Laughter
节点的输出连接到Output Pose
的Result
引脚
- 将
- 如果仅使用笑声而无唇形同步:
- 将您的源姿势直接连接到
Blend Runtime MetaHuman Laughter
节点的Source Pose
- 将输出连接到
Result
引脚
- 将您的源姿势直接连接到
当在音频中检测到笑声时,您的角色将相应地动态动画化:
笑声配置
Blend Runtime MetaHuman Laughter
节点有其自己的配置选项:
属性 | 默认值 | 描述 |
---|---|---|
插值速度 | 25 | 控制口型动作在笑声动画之间转换的速度。值越高,转换越快、越突兀。 |
重置时间 | 0.2 | 笑声重置前的持续时间(以秒为单位)。这对于防止音频停止后笑声动画继续运行非常有用。 |
最大笑声权重 | 0.7 | 缩放笑声动画的最大强度 (0.0 - 1.0)。 |
注意: 笑声检测目前仅适用于标准模型。 |
与现有动画结合使用
要在不覆盖现有身体动画和自定义面部动画的情况下,同时应用唇形同步和笑声:
- 在您的身体动画和最终输出之间添加一个
Layered blend per bone
节点。确保Use Attached Parent
为 true。 - 配置层级设置:
- 在
Layer Setup
数组中添加 1 个项目 - 为该层级在
Branch Filters
中添加 3 个项目,使用以下Bone Name
:FACIAL_C_FacialRoot
FACIAL_C_Neck2Root
FACIAL_C_Neck1Root
- 在
- 对于自定义面部动画很重要: 在
Curve Blend Option
中,选择 "Use Max Value"。这允许自定义面部动画(表情、情绪等)正确地叠加在唇形同步之上。 - 进行连接:
- 现有动画(例如
BodyPose
)→Base Pose
输入 - 面部动画输出(来自唇形同步和/或笑声节点)→
Blend Poses 0
输入 - 分层混合节点 → 最终的
Result
姿势
- 现有动画(例如
微调唇形同步行为
舌头前伸控制
在标准唇形同步模型中,您可能会注意到在某些音素期间舌头过度向前移动。要控制舌头前伸:
- 在您的唇形同步混合节点之后,添加一个
Modify Curve
节点 - 右键单击
Modify Curve
节点并选择 Add Curve Pin - 添加一个名称为
CTRL_expressions_tongueOut
的曲线引脚 - 将节点的 Apply Mode 属性设置为 Scale
- 调整 Value 参数以控制舌头伸展程度(例如,0.8 可将前伸减少 20%)
下颌张开控制
根据您的音频内容和视觉需求,逼真的唇形同步可能会产生过于灵敏的下颌运动。要调整下颌张开强度:
- 在您的唇形同步混合节点之后,添加一个
Modify Curve
节点 - 右键单击
Modify Curve
节点并选择 Add Curve Pin - 添加一个名称为
CTRL_expressions_jawOpen
的曲线引脚 - 将节点的 Apply Mode 属性设置为 Scale
- 调整 Value 参数以控制下颌张开范围(例如,0.9 可将下颌运动减少 10%)
特定情绪的微调
对于启用了情绪功能的模型,您可以微调特定的情感表达:
眉毛控制:
CTRL_L_brow_raiseIn.ty
/CTRL_R_brow_raiseIn.ty
- 内侧眉毛抬起CTRL_L_brow_raiseOut.ty
/CTRL_R_brow_raiseOut.ty
- 外侧眉毛抬起CTRL_L_brow_down.ty
/CTRL_R_brow_down.ty
- 眉毛降低
眼部表情控制:
CTRL_L_eye_squintInner.ty
/CTRL_R_eye_squintInner.ty
- 眼部眯起CTRL_L_eye_cheekRaise.ty
/CTRL_R_eye_cheekRaise.ty
- 脸颊抬起
模型比较与选择
在模型之间进行选择
在为项目选择唇形同步模型时,请考虑以下因素:
考量因素 | 标准模型 | 写实模型 | 支持情绪表达的写实模型 |
---|---|---|---|
角色兼容性 | MetaHumans 及所有自定义角色类型 | 仅限 MetaHumans | 仅限 MetaHumans |
视觉质量 | 良好的唇形同步效果与高效性能 | 增强的真实感,嘴部动作更自然 | 增强的真实感,带有情绪表达 |
性能 | 针对包括移动端/VR在内的所有平台优化 | 资源需求较高 | 资源需求较高 |
功能特性 | 14个视位,笑声检测 | 81个面部控制项,3个优化级别 | 81个面部控制项,12种情绪,可配置输出 |
平台支持 | Windows, Android, Quest | Windows, Mac, iOS, Linux | Windows, Mac, iOS, Linux |
使用场景 | 通用应用、游戏、VR/AR、移动端 | 影视级体验、特写交互 | 情感叙事、高级角色交互 |
引擎版本兼容性
如果您正在使用 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 兼容性: Runtime Text To Speech 插件提供的本地 TTS 目前不支持常规的 Realistic 模型,原因是存在 ONNX 运行时冲突。但是,它与 Standard 模型和 Mood-Enabled Realistic 模型完全兼容。如果您特别需要将常规 Realistic 模型与 TTS 功能一起使用,请使用外部 TTS 服务。
性能优化:
- 根据您的性能要求调整 Realistic 模型的 Processing Chunk Size
- 为您目标硬件使用合适的线程数量
- 当不需要完整的面部动画时,考虑对支持情绪的模型使用 Mouth Only 输出类型