演示项目
为了帮助您快速上手 Runtime MetaHuman Lip Sync,我们提供了两个开箱即用的演示项目。这两个项目均基于 Unreal Engine 5.6+ 构建,采用 纯蓝图,并可在 Windows、Mac、Linux、iOS、Android 以及基于 Android 的平台(包括 Meta Quest)上跨平台运行。
可用的演示项目
- AI对话NPC / 交互式虚拟形象
- 基础口型同步演示
一个完整的AI对话式虚拟形象工作流,结合语音识别、AI聊天机器人(LLM)、文本转语音以及音频播放与实时唇形同步——全部在同一个项目中同时运行。适用于多种应用场景——包括游戏、交互式自助终端、虚拟制作、博物馆装置、数字助理和培训模拟。
管线概览
🎤 Microphone → Speech Recognition → 💬 LLM Chatbot → 🔊 Text-to-Speech → 👄 Lip Sync + Playback
当 LLM 设置为流式模式时,其输出会逐句拆分,并在每个句子完成后发送到 TTS,而不是等待完整响应,以尽量减少延迟。
视频
快速预览(约30秒)
演示实际运行的简短展示。
完整演示指南
涵盖设置、配置和完整对话流程的详细演练。
下载
必需和可选插件
演示项目是模块化的——您只需要安装您想使用的提供商的插件即可。
| 插件 | 目的 | 必需的吗? |
|---|---|---|
| Runtime MetaHuman Lip Sync | 口型同步动画 | ✅ 始终 |
| Runtime Audio Importer | 音频捕获与处理 | ✅ 始终 |
| Runtime Speech Recognizer | 离线语音识别 (whisper.cpp) | ✅ 总是 |
| Runtime AI Chatbot Integrator | 外部 LLMs (OpenAI, Claude, DeepSeek, Gemini, Grok, Ollama) 和/或 外部 TTS (OpenAI, ElevenLabs) | 🔶 可选 |
| Runtime Local LLM | 通过 llama.cpp 进行本地 LLM 推理(Llama、Mistral、Gemma 等 GGUF 模型) | 🔶 可选的 |
| Runtime Text To Speech | 本地 TTS(通过 Piper 和 Kokoro) | 🔶 可选 |
虽然上述每个插件单独都是可选的,但要让演示正常工作,你需要至少一个LLM提供商和至少一个TTS提供商。可以自由混搭(例如本地LLM + ElevenLabs TTS,或OpenAI LLM + 本地TTS)。
模块化架构
在 Content 文件夹中,你会找到一个 Modules 文件夹,其中包含三个子文件夹:
Content/
└── Modules/
├── RuntimeAIChatbotIntegrator/ ← External LLMs and/or external TTS
├── RuntimeLocalLLM/ ← Local LLM via llama.cpp
└── RuntimeTextToSpeech/ ← Local TTS via Piper/Kokoro
如果你没有获得一个(或多个)可选插件,只需删除相应的文件夹。演示项目的基础资产(游戏实例、控件等)不会直接引用这些模块,因此删除它们不会导致资产引用错误。配置界面将自动隐藏任何其文件夹缺失的提供程序。
这种模块化仅适用于 LLM 和 TTS 提供商。语音识别(Runtime Speech Recognizer)和 口型同步(Runtime MetaHuman Lip Sync)是基础演示项目的一部分,并且始终是必需的。

首次启动时,Unreal 可能会询问是否禁用任何缺失的可选插件 — 点击 是。同时请确保你已删除相应的 Content/Modules/ 文件夹(见上文)。
随附的扩展插件
Silero VAD、WebRTC AEC3 和标准口型同步扩展(点击展开)
演示的源版本在其 Plugins/ 文件夹中预置了三个免费扩展插件:RuntimeAudioImporterSileroVAD(神经 VAD)、RuntimeAudioImporterWebRTCAEC3(回声消除)和 RuntimeMetaHumanLipSync_Standard(标准口型同步模型)。
随附的二进制文件是针对 UE 5.6 预构建的。对于 UE 5.7 / 5.8,要么从源代码构建(参见每个扩展的文档),要么使用预构建的二进制文件:UE 5.7 · UE 5.8。安装方法:删除 Plugins/ 中的三个现有文件夹,然后将压缩包的内容解压到 Plugins/ 中以替换它们。
这三个都是可选的 - 如果你不需要它们,只需在启动前从 Plugins/ 中删除它们的文件夹即可。
演示项目布局
下图所示的用户界面完全由 UMG(Unreal Motion Graphics)构建,其目的纯粹在于演示流程——语音识别 → LLM → TTS → 口型同步。您可以自由地重新设计样式或替换它,以匹配您项目的视觉设计、控制方案或平台(VR/AR、移动端、主机、自助终端等)。如果某些控件在您的使用场景中不需要,您也可以直接隐藏它们(例如,将其可见性设置为已折叠或已隐藏)。

| Area | 那里有什么? |
|---|---|
| 居中 | MetaHuman 角色。 |
| 左侧 | 四个配置按钮(语音识别、AI 聊天机器人、文本转语音、动画),下文将详细描述。 |
| 底部居中 | 一个开始录音按钮。点击它即可开始语音对话:系统会捕获你的麦克风声音,转写文字,发送给LLM,回复通过TTS合成,并以口型同步播放,完全免提。 |
| 右中 | 一个 对话历史控件,显示你与 AI 之间的完整往返对话(包括用户和助手消息)。它还包含一个 文本输入框,让你可以直接输入消息而无需使用语音识别,这对于测试、无障碍访问或没有麦克风的情况非常有用。 |
你可以在同一会话中自由混合两种输入模式——有些消息用语音输入,有些用打字输入。
如果口型同步随着测试时间的延长而不断滞后于音频(而不仅仅是固定延迟),请参阅下方配置动画中的处理块大小。
配置按钮
左侧的四个配置按钮可为流程的每个部分打开专用面板:
1. 配置语音识别
配置用户语音的捕获和转录方式:
- 选择 语言
- 调整语音识别参数(Whisper 模型设置)
- 配置 AEC(声学回声消除)
- 配置 VAD(语音活动检测)

2. 配置 AI 聊天机器人
选择你的 LLM 提供商并配置它:
- 选择 提供程序(Runtime AI Chatbot Integrator 或 Runtime Local LLM)
- 选择 模式:常规或流式(取决于提供程序;流式模式支持逐句 TTS 交接,请参阅 流水线概览)
- 对于外部提供程序:认证令牌、模型名称等。
- 对于本地 LLM:选择 GGUF 模型,设置上下文大小及其他推理参数。你还可以直接从演示中在运行时下载你自己的 GGUF 模型(例如通过 URL),并立即使用它,无需重新构建项目。
提供者下拉框只显示其插件模块文件夹存在于 Content/Modules/ 中的提供者。


3. 配置文本转语音
选择你的 TTS 提供商并配置语音/模型:
- 选择 提供商(Runtime AI Chatbot Integrator 用于 OpenAI/ElevenLabs,或 Runtime Text To Speech 用于本地 Piper/Kokoro)
- 选择 模式:常规或流式(控制音频是一次性全部返回还是按合成时返回)
- 选择 语音/模型
- 调整提供商特定的参数


4. 配置动画
控制你的 AI 虚拟形象的视觉效果:
- 在 3 个预下载的 MetaHuman 角色(Aera、Ada、Orlando)之间选择
- 选择 口型同步模型(标准或写实)
- 选择 口型同步模型类型 - 高度优化、半优化或原始(参见 模型类型)
- 调整 处理块大小 - 控制口型同步推理的运行频率(参见 处理块大小)
- 如果口型同步在 CPU 负载下随时间推移越来越落后于音频,请将此值增加到 480 或 640。
- 在对话过程中选择要在 MetaHuman 上播放的待机动画。

在编辑器中预配置演示
当使用源代码版本时,你可以直接在编辑器中预填默认值,这样就不需要每次运行时重新输入了:
| What | 哪里 |
|---|---|
| 常规设置 (口型同步模型、待机动画、角色类、语音识别等) | Content/LipSyncSTSGameInstance |
| 外部 LLM / 外部 TTS 设置 (Runtime AI Chatbot Integrator) | Content/Modules/RuntimeAIChatbotIntegrator/RuntimeAIChatbotIntegrator_Provider |
| 本地 LLM 设置 (Runtime Local LLM) | Content/Modules/RuntimeLocalLLM/RuntimeLocalLLM_Provider |
| 本地 TTS 设置(运行时文本转语音) | Content/Modules/RuntimeTextToSpeech/RuntimeTextToSpeech_Provider |
跨平台注意事项
演示所用的所有插件都支持 Windows、Mac、Linux、iOS、Android 以及基于 Android 的平台(包括 Meta Quest),因此演示项目也同样适用于所有这些平台。这使得它适合部署在各种环境中——从游戏、桌面自助终端到移动应用、独立 VR 头显,以及现场虚拟制作设置。
对于性能较弱的设备(移动端、独立VR设备),你可能需要:
- 使用标准口型同步模型而不是真实模型——请参阅模型对比
- 切换到高度优化模型类型
- 增大处理块大小以降低 CPU 负载
- 选择更小的 LLM / TTS 模型
请参阅特定平台配置以了解 Android、iOS、Mac 和 Linux 上的额外设置步骤。
Pixel Streaming 支持
在 Pixel Streaming 上部署演示(点击展开)
AI 对话演示项目也可以在 Pixel Streaming 环境中运行,允许你将 MetaHuman 角色流式传输到远程客户端(例如网页浏览器),同时从客户端捕获用户的麦克风音频。只需对演示进行一处更改。
1. 为 Runtime Audio Importer 安装 Pixel Streaming 扩展。
Runtime Audio Importer 插件提供了一个免费扩展插件,用于从 Pixel Streaming 客户端捕获音频。根据你正在使用的 Pixel Streaming 基础设施版本,安装以下其中一个:
- Pixel Streaming 扩展(用于原始 Pixel Streaming 插件),或
- Pixel Streaming 2 扩展(用于较新的 Pixel Streaming 2 插件)
下载链接和安装步骤可在此处获取:Pixel Streaming 音频捕获 - 扩展插件安装。
2. 在 LipSyncSTSGameInstance 中替换可捕获的声波节点
安装扩展插件后:
- 在内容浏览器中,导航到
/All/Game并打开LipSyncSTSGameInstance资产。 - 切换到 事件图。
- 找到 Event Init 并沿执行流程继续操作,直到找到这对节点:
Create Capturable Sound Wave→Set Capturable Sound Wave。 - 将
Create Capturable Sound Wave调用替换为Create Pixel Streaming Capturable Sound Wave或Create Pixel Streaming 2 Capturable Sound Wave,具体取决于你针对的 Pixel Streaming 基础设施版本。 - 将其输出连接到同一个
Set Capturable Sound Wave节点。
完成此操作后,项目即可部署到 Pixel Streaming 上——语音识别、LLM、TTS 和口型同步都将像以前一样工作,但音频将来自远程客户端,而非本地麦克风。
使用你自己的角色
演示项目附带三个示例 MetaHuman 角色(Aera、Ada、Orlando),但您可以导入自己的 MetaHuman 并在演示中使用。
📺 视频教程: 向演示项目添加自定义 MetaHuman 角色
Runtime MetaHuman Lip Sync 插件本身支持许多其他角色系统,不仅仅是 MetaHuman(基于 ARKit 的角色、Daz Genesis 8/9、Reallusion CC3/CC4、Mixamo、ReadyPlayerMe 等 - 请参阅自定义角色设置指南)。无论你是在构建游戏 NPC、虚拟主持人、信息亭服务员,还是用于虚拟制作的数字人类,该插件都能适应你的角色制作流程。
一个更简单的演示项目,纯粹专注于 口型同步 功能本身,不包含完整的 AI 对话工作流。如果你只想看看口型同步在各种音频源下的实际效果,这个项目会很适合。
精选视频
下载
包含内容
此演示展示了基本的口型同步工作流程:
- 麦克风输入 - 从实时音频进行实时口型同步
- 音频文件播放 - 从导入的音频文件进行口型同步
- 文本转语音 - 由合成语音驱动的口型同步
必需与可选插件
| 插件 | 目的 | 必需的吗? |
|---|---|---|
| Runtime MetaHuman Lip Sync | 口型同步动画 | 必需 |
| Runtime Audio Importer | 音频导入与捕获 | ✅ 必需 |
| Runtime Text To Speech | 用于TTS演示场景的本地TTS | 🔶 可选 |
| Runtime AI Chatbot Integrator | 外部 TTS 提供商(OpenAI、ElevenLabs) | 🔶 可选 |
捆绑扩展插件
标准口型同步扩展(点击展开)
源代码版本在 Plugins/ 中预装了 RuntimeMetaHumanLipSync_Standard 扩展,用于支持标准口型同步模型。二进制文件为 UE 5.6 预构建;对于 UE 5.7 / 5.8,请使用预构建的压缩包(UE 5.7 · UE 5.8)或从源代码构建 — 安装时,请从 Plugins/ 中删除现有文件夹,并将压缩包内容解压到该位置。如果不需要标准模型,直接删除该文件夹且不替换即可。
需要帮助吗?
如有定制开发需求(例如:使用您自己的逻辑扩展演示,或针对特定平台或角色管线进行适配),请联系 [email protected]。