插件配置
模型配置
为确保“写实”和“支持情绪写实”模型可靠运行,请在每次新的音频播放前重新创建生成器,而不要在长时间静默中重复使用同一个生成器。详见故障排除中的生成器重新创建。
标准模型配置
Create Runtime Viseme Generator 节点使用默认设置,这些设置在大多数场景下都能良好运行。配置通过动画蓝图混合节点的属性进行处理。
有关动画蓝图配置选项,请参阅下方的口型同步配置部分。
真实模型配置
Create Realistic MetaHuman Lip Sync Generator节点接受一个可选的配置参数,允许您自定义生成器的行为:
模型类型
模型类型设置决定使用哪个版本的逼真模型:
| 模型类型 | 性能 | 视觉质量 | 噪声处理 | 推荐使用场景 |
|---|---|---|---|---|
| 高度优化(默认) | 最高性能,CPU 占用最低 | 质量良好 | 在背景噪声或非语音声音下,嘴部动作可能明显可见 | 干净音频环境、性能敏感场景 |
| 半优化 | 性能良好,CPU 占用适中 | 高质量 | 对嘈杂音频的稳定性更好 | 性能与质量均衡,混合音频条件 |
| 原始 | 适用于现代 CPU 上的实时使用 | 最高质量 | 在背景噪声和非语音声音下最稳定 | 高质量制作、嘈杂音频环境、需要最大精度时 |
性能设置
Intra Op Threads: 控制用于内部模型处理操作的线程数。
- 0(默认/自动):使用自动检测(通常为可用 CPU 核心数的 1/4,最大为 4)
- 1-16:手动指定线程数。较高的数值可能提升多核系统上的性能,但会占用更多 CPU。
Inter Op 线程: 控制用于并行执行不同模型操作的线程数量。
- 0(默认/自动):使用自动检测(通常为可用CPU核心数的1/8,最大为2)
- 1-8:手动指定线程数。通常保持较低以用于实时处理
处理块大小
处理块大小决定每次推理步骤中处理的样本数量。默认值为160个样本(16kHz下10毫秒的音频):
- 较小的值提供更频繁的更新,但会增加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)
- 设置前瞻毫秒数:修改用于同步的前瞻时间
- 设置输出类型:在“全脸”和“仅嘴部”控制之间切换

情绪选择指南
根据您的内容选择合适的情感:
| Mood | 最适合 | 典型强度范围 |
|---|---|---|
| 中性 | 一般对话、旁白、默认状态 | 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 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)。 |
注意: 笑声检测目前仅适用于标准模型。
Blend Realistic MetaHuman Lip Sync 节点在其属性面板中具有配置选项:
| 属性 | 默认值 | 描述 |
|---|---|---|
| 插值速度 | 30 | 控制语音活动期间面部表情过渡的快慢。数值越高,过渡越快、越突然。 |
| 空闲插值速度 | 15 | 控制面部表情恢复到空闲/中性状态的速度。数值越低,恢复到静止姿态的过程越平滑、越渐进。 |
| 重置时间 | 0.2 | 唇形同步在多少秒后重置为空闲状态。有助于防止音频停止后表情继续持续。 |
| 保留空闲状态 | false | 启用后,在空闲期间保留最后的情感状态,而不是重置为中性状态。 |
| 保留眼部表情 | true | 控制空闲状态下是否保留与眼部相关的面部控制。仅在启用“保留空闲状态”时有效。 |
| 保留眉毛表情 | true | 控制空闲状态下是否保留与眉毛相关的面部控制。仅在启用“保留空闲状态”时有效。 |
| 保留嘴部形状 | false | 控制空闲状态下是否保留嘴部形状控制(不包括语音特有的动作,如舌头和下颌)。仅在启用“保留空闲状态”时有效。 |
空闲状态保持
保持空闲状态功能解决了Realistic模型如何处理静音时段的问题。与Standard模型不同,后者使用离散的视位并在静音期间始终归零,Realistic模型的神经网络可能会维持微妙的面部定位,这与MetaHuman的默认静止姿势有所不同。
何时启用:
- 在语音片段之间保持情感表达
- 保留角色个性特征
- 确保电影序列中的视觉连续性
区域控制选项:
- 眼部表情:保留眯眼、睁大和眼睑位置
- 眉毛表情:维持眉毛和前额的位置
- 嘴部形状:保持整体嘴部曲线,同时允许说话动作(舌头、下巴)重置
与现有动画结合
更喜欢看视频而不是阅读?查看这个视频教程,它涵盖了完全相同的设置。
要在不覆盖现有身体动画和自定义面部动画的情况下应用口型同步和笑声:
此设置适用于面部动画蓝图,因为口型同步不属于身体动画蓝图的一部分。对于自定义身体动画(例如躯干、手臂及其他身体动作),只需将您的动画序列(通过序列播放器)直接连接到身体动画蓝图中的输出姿势即可。那里无需额外设置。
- 在你的身体动画和最终输出之间添加一个
Layered blend per bone节点。确保Use Attached Parent为true。 - 配置图层设置:
- 向
Layer Setup数组添加 1 个项目 - 为该图层向
Branch Filters添加 3 个项目,其Bone Name如下:FACIAL_C_FacialRootFACIAL_C_Neck2RootFACIAL_C_Neck1Root
- 向
- 自定义面部动画的重要提示: 在
曲线混合选项中,选择 “使用最大值”。这允许自定义面部动画(表情、情绪等)正确叠加在口型同步之上。 - 进行连接:
- 您的自定义动画(通常是带有所需动画序列资源的
Sequence Player)→Base Pose输入 - 面部动画输出(来自口型同步和/或笑声节点)→
Blend Poses 0输入 - 分层混合节点 → 最终
Result姿势
- 您的自定义动画(通常是带有所需动画序列资源的

变形目标集选择
- 标准模型
- 逼真模型
标准模型使用姿态资产,其通过自定义姿态资产设置天然支持任何形态目标命名约定。无需额外配置。
Blend Realistic MetaHuman Lip Sync 节点包含一个 Morph Target Set 属性,该属性决定了面部动画使用哪种形态目标命名约定:
| 形态目标集 | 描述 | 使用场景 |
|---|---|---|
| MetaHuman(默认) | 标准 MetaHuman 形态目标名称(例如 CTRL_expressions_jawOpen) | MetaHuman 角色 |
| ARKit | 兼容 Apple ARKit 的名称(例如 JawOpen、MouthSmileLeft) | 基于 ARKit 的角色 |
将角色转换为ARKit或MetaHuman混合变形
如果你的角色原生不使用ARKit标准的混合变形名称,几种流行的商业角色系统可以转换以生成这些名称(或者,对于CC5,可以直接转换为原生MetaHuman混合变形)。这样你就可以使用上述的ARKit或MetaHuman形态目标集,而无需像标准模型那样进行手动视位映射过程。 CC4和CC5角色在此处的处理方式不同,因为CC5角色可以直接共享MetaHuman的原生面部绑定,而完全无需进行ARKit转换。 CC5:转换为 MetaHuman 混合变形(推荐) 如果你的角色是在CC5中使用HD面部配置构建的,它已经共享了MetaHuman的面部控制和骨骼,因此无需手动生成ARKit混合形状。相反: 导入后,请选择 MetaHuman 形态目标集 选项,而不是 ARKit,因为该角色的混合形状已使用原生 MetaHuman 命名。 CC4(或未启用HD配置文件的CC5):转换为ARKit混合变形 如果你使用的是CC4,或是不使用HD面部配置文件的CC5角色,请改用手动ARKit转换。开始之前,请确保你的角色面部配置文件设置为CC4 Extended(而非Standard、Extended-Plus或更新的HD面部配置文件)。该脚本的blendshape映射是硬编码针对Extended的滑块名称的,其他配置文件使用不同的命名约定,脚本会静默跳过或无法找到预期的滑块。 下载此脚本: 在文本编辑器中打开脚本,在写着 在 Character Creator 中,选择你的角色,然后在顶部菜单的 Script 下选择 Load Python。接着选择你刚刚编辑的脚本。该脚本现在会从默认的 Reallusion 滑块创建完整的 ARKit 混合变形集,并将它们导出为 OBJ 文件。这可能需要几分钟时间。 您现在可以通过转到 面部轮廓编辑器 窗口来导入这些形状。点击 编辑表情 按钮,并在下拉菜单 批量导入 中选择 OBJ。 在此处,您可以导入之前引用的文件夹。这将列出所有ARKit形状。在目标类别中填写名称,例如AR_Kit,然后点击确定。 这将在“Expression”下创建一个新类别。您可以禁用所有其他类别。 一旦设置好 ARKit 类别,照常将角色导出为 FBX。这会让角色拥有标准的 52 个 ARKit 混合形状,然后你可以将其与上方 ARKit 变形目标集 选项配合使用。 注意: 在CC4的骨骼系统中,下颌运动部分由骨骼旋转驱动,而非纯混合变形,因此导出后 Daz的FACS形变,原生支持Genesis 8.1和Genesis 9,已经兼容ARKit,无需重命名。普通Genesis 8(非8.1)默认不包含这些。你需要改用Genesis 8.1,或者另外添加一个FACS形变包。 积极维护的 Diffeomorphic 插件(一个 Daz Studio 和 Blender 的桥接工具,与 Daz 3D 无关联)是将这些内容导入 Unreal 的推荐方式: 导出后,请使用上方的 ARKit 形态目标集 选项。 注意: 睫毛和眼球上的视线方向形态可能无法完全保留,因为它们的驱动方式与主面部网格不同,但这不影响口型同步,因为口型同步只需要嘴部和下颌的形态。Reallusion CC4/CC5 与 Daz Genesis 8.1/9 转换指南(点击展开)
rl_export_arkit_objs.pyoutput_dir = "path/to/your/target/folder" 的位置,将路径指定为你的导出文件夹。请确保使用正斜杠 /。



jawOpen可能表现较弱或无法令人信服地张开嘴。若出现此情况,请在FBX导出选项中启用Mouth Open as Morph,这会将下颌的骨骼驱动运动烘焙到专用的混合变形中,可将其指定为jawOpen的源,以替代默认源。或者,cc_blender_tools插件可通过Blender处理角色以修复此问题及其他形状问题;具体工作流程请参阅其文档中的“Blender Round Trip”部分(页面标题提及Unity,但该特定部分与引擎无关)。
微调口型同步行为
缩放特定的口型同步曲线
你可以使用Modify Curve节点来减弱(或增强)口型同步产生的单个面部运动。当某个曲线对于你的音频内容或角色来说显得过于夸张时,这一功能非常有用。
设置:
- 在你的口型同步混合节点之后,添加一个
Modify Curve节点 - 右键点击该节点并选择 Add Curve Pin,然后输入你想要缩放的曲线名称
- 将该节点的 Apply Mode 属性设置为 Scale
- 设置 Value 参数:低于 1.0 的值会减弱运动,高于 1.0 的值会增强运动(例如,0.8 = 减少 20%)
常用缩放曲线:
| 曲线名称 | 用途 | 适用范围 | 典型调整 |
|---|---|---|---|
CTRL_expressions_tongueOut | 某些音素期间舌头向前伸出 | 标准模型 | 0.8 以减少伸出 |
CTRL_expressions_jawOpen | 下颌张开范围 | 写实模型 | 0.9 以减少下颌运动 |
你可以在同一个修改曲线节点上添加多个曲线引脚,以便同时缩放多条曲线。
特定情绪微调
对于支持情绪控制的模型,您可以微调特定的情绪表达:
眉毛控制:
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- 脸颊抬起
模型对比与选择
选择模型
在为您的项目决定使用哪种口型同步模型时,请考虑以下因素:
| 考量 | 标准模型 | 写实模型 | 支持情绪的写实模型 |
|---|---|---|---|
| 角色兼容性 | MetaHuman 及所有自定义角色类型 | MetaHuman(及 ARKit)角色 | MetaHuman(及 ARKit)角色 |
| 视觉质量 | 良好的口型同步,性能高效 | 增强写实度,嘴部动作更自然 | 增强写实度,并带有情绪表情 |
| 性能 | 针对所有平台优化,包括移动端/VR | 资源需求较高 | 资源需求较高 |
| 功能 | 14 个 viseme、笑声检测 | 81 项面部控制、3 个优化级别 | 81 项面部控制、12 种情绪、可配置输出 |
| 平台支持 | Windows、Android、Quest | Windows、Mac、iOS、Linux、Android、Quest | Windows、Mac、iOS、Linux、Android、Quest |
| 使用场景 | 通用应用、游戏、VR/AR、移动端 | 影视级体验、近距离互动 | 情绪化叙事、高级角色互动 |
引擎版本兼容性
如果您使用的是 Unreal Engine 5.2,由于 UE 重采样库中的一个错误,Realistic Models 可能无法正常工作。对于需要可靠口型同步功能的 UE 5.2 用户,请改用 Standard Model。
此问题仅特定于 UE 5.2,不影响其他引擎版本。
性能建议
- 对于大多数项目,标准模型在质量和性能之间提供了极佳的平衡
- 当您需要MetaHuman角色最高的视觉保真度时,请使用逼真模型
- 当情绪表达控制对您的应用很重要时,请使用支持情绪的逼真模型
- 在选择模型时,请考虑目标平台的性能能力
- 测试不同的优化级别,以找到最适合您特定用例的平衡点
故障排除
常见问题
为逼真模型重新创建生成器: 为了确保与逼真模型可靠且一致地运行,建议在每次长时间不活动后想要输入新的音频数据时,重新创建生成器。这是因为 ONNX 运行时行为可能导致在静默期后重用生成器时口型同步停止工作。
例如,你可以在每次播放开始时重新创建口型同步生成器,比如每当你调用“播放二维音效”或使用任何其他方法启动声波播放和口型同步时:

运行时文本转语音集成的插件位置: 当将运行时 MetaHuman 口型同步与运行时文本转语音(两个插件均使用 ONNX Runtime)一起使用时,如果插件安装在引擎的 Marketplace 文件夹中,可能会遇到问题。要解决此问题:
- 在你的UE安装文件夹中的
\Engine\Plugins\Marketplace目录下找到这两个插件(例如:C:\Program Files\Epic Games\UE_5.6\Engine\Plugins\Marketplace) - 将
RuntimeMetaHumanLipSync和RuntimeTextToSpeech两个文件夹移动到项目的Plugins文件夹中 - 如果你的项目没有
Plugins文件夹,请在.uproject文件所在的目录下创建一个 - 重启Unreal编辑器
这解决了当从引擎的Marketplace目录加载多个基于ONNX Runtime的插件时可能出现的兼容性问题。
打包配置(Windows): 如果在 Windows 的打包项目中口型同步无法正常工作,请确保使用 Shipping 构建配置而不是 Development。Development 配置可能会导致打包构建中的真实感模型 ONNX 运行时出现问题。
要修复此问题:
- 在您的项目设置 → 打包中,将构建配置设置为 Shipping
- 重新打包您的项目

在某些纯蓝图项目中,即使选择了Shipping配置,Unreal Engine仍可能以Development配置进行构建。如果发生这种情况,请通过添加至少一个C++类(可以为空类)将项目转换为C++项目。为此,请在UE编辑器菜单中转到工具 → 新建C++类并创建一个空类。这将强制项目在Shipping配置下正确构建。您的项目在功能上仍可保持纯蓝图,C++类仅用于确保正确的构建配置。
唇形同步响应性能下降: 如果你在使用流式声波或可捕获声波时,发现唇形同步随时间推移变得响应迟缓,这可能是由内存累积引起的。默认情况下,每次追加新音频时都会重新分配内存。为防止此问题,请定期调用 ReleaseMemory 函数来释放累积的内存,例如每隔约30秒调用一次。
性能优化:
- 根据你的性能需求,为写实模型调整处理块大小
- 根据目标硬件使用合适的线程数
- 当不需要完整面部动画时,可考虑对支持情绪控制的模型使用仅嘴部输出类型