跳到主要内容

演示项目

为帮助您快速上手 Runtime MetaHuman Lip Sync,我们提供了两个可直接使用的演示项目。这两个项目均基于 Unreal Engine 5.6+ 构建,采用 纯蓝图 开发,并支持跨平台运行,涵盖 Windows、Mac、Linux、iOS、Android 及基于 Android 的平台(包括 Meta Quest)。

可用演示项目

一个完整的AI对话式虚拟形象工作流程,集成了语音识别、AI聊天机器人(LLM)、文本转语音、音频播放以及实时口型同步功能——所有模块均在单个项目中协同运行。适用于多种应用场景,包括游戏交互式信息亭虚拟制作博物馆装置数字助手以及培训模拟

管线概览

🎤 Microphone → Speech Recognition → 💬 LLM Chatbot → 🔊 Text-to-Speech → 👄 Lip Sync + Playback

视频

快速预览(约30秒)

演示功能的简短展示。

完整操作指南

一份详细的指南,涵盖设置、配置以及完整的对话流程。

下载

必需与可选插件

演示项目是模块化的——你只需要安装所需服务商的插件即可。

插件目的必需?
Runtime MetaHuman Lip Sync唇形同步动画✅ 始终
Runtime Audio Importer音频采集与处理✅ 始终
Runtime Speech Recognizer离线语音识别(whisper.cpp)✅ 始终
Runtime AI Chatbot Integrator外部LLM(OpenAI、Claude、DeepSeek、Gemini、Grok、Ollama)和/或外部TTS(OpenAI、ElevenLabs)🔶 可选
Runtime Local LLM通过 llama.cpp 进行本地 LLM 推理(支持 Llama、Mistral、Gemma 等 GGUF 模型)🔶 可选
Runtime Text To Speech通过Piper和Kokoro实现本地TTS🔶 可选
可选插件 - 提供商要求

虽然上述每个插件都是可选的,但要让演示正常工作,你至少需要一个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

如果您未获取一个(或多个)可选插件,只需删除对应的文件夹即可。演示项目的基础资源(游戏实例、控件等)并未直接引用这些模块,因此删除它们不会导致资源引用错误。配置界面将自动隐藏任何缺少对应文件夹的提供程序。

备注

这种模块化仅适用于 LLMTTS 提供商。语音识别(运行时语音识别器)和口型同步(运行时元人类口型同步)是基础演示项目的一部分,始终为必需组件。

Modules folder structure

注意

首次启动时,虚幻引擎可能会询问是否禁用缺失的可选插件——请点击。同时确保已删除对应的 Content/Modules/ 文件夹(参见上文)。

演示项目布局

UI 仅用于演示目的

下方展示的用户界面完全基于 UMG(虚幻运动图形)构建,其目的纯粹是演示流程——语音识别 → 大语言模型 → 文本转语音 → 唇形同步。您可以根据项目的视觉设计、控制方案或平台(VR/AR、移动端、主机、自助终端等)自由重新设计或替换该界面。如果某些控件在您的使用场景中不需要,也可以直接隐藏(例如将其可见性设置为折叠隐藏)。

Annotated overview of the demo project main screen

Area这里有什么
居中MetaHuman角色
左侧四个配置按钮(语音识别、AI聊天机器人、文本转语音、动画),详见下文。
底部居中一个开始录音按钮。点击即可开始语音对话:系统会捕捉您的麦克风输入,将其转录后发送给大语言模型(LLM),通过文本转语音(TTS)合成回复,并配合唇形同步进行播放,全程无需手动操作。
右中一个对话历史记录组件,显示您与AI之间的完整交互内容(包括用户和助手的消息)。它还包含一个文本输入框,您可以直接输入消息而无需使用语音识别功能,这在测试、无障碍场景或没有麦克风时非常实用。
提示

你可以在同一会话中自由混合使用两种输入模式——有些消息用语音输入,有些用文字输入。

配置按钮

左侧的四个配置按钮分别打开流程中每个部分的专用面板:

1. 配置语音识别

配置用户语音的捕获与转录方式:

  • 选择语言
  • 调整语音识别参数(Whisper 模型设置)
  • 配置AEC(声学回声消除)
  • 配置VAD(语音活动检测)

Speech recognition configuration screen

2. 配置 AI 聊天机器人

选择您的LLM提供商并进行配置:

  • 选择提供商(运行时AI聊天机器人集成器或运行时本地LLM)
  • 对于外部提供商:认证令牌模型名称等。
  • 对于本地LLM:选择一个GGUF模型,设置上下文大小及其他推理参数。您还可以在运行时直接从演示中下载自己的GGUF模型(例如通过URL),并立即使用,无需重新构建项目。
提示

提供者组合框仅显示其插件模块文件夹存在于 Content/Modules/ 中的提供者。

AI chatbot configuration - Runtime AI Chatbot Integrator (external LLM)

AI chatbot configuration - Runtime Local LLM (local GGUF)

3. 配置文本转语音

选择您的TTS提供商并配置语音/模型:

  • 选择提供商(用于 OpenAI/ElevenLabs 的运行时 AI 聊天机器人集成器,或用于本地 Piper/Kokoro 的运行时文本转语音)
  • 选择语音/模型
  • 调整提供商特定参数

TTS configuration - Runtime AI Chatbot Integrator (external TTS)

TTS configuration - Runtime Local Text To Speech (local Piper/Kokoro)

4. 配置动画

控制AI虚拟形象的视觉效果:

  • 3 个预下载的 MetaHuman 角色(Aera、Ada、Orlando)之间选择
  • 选择唇形同步模型(标准或逼真)
  • 选择唇形同步模型类型——高度优化、半优化或原始(参见模型类型
  • 调整处理块大小——控制唇形同步推理的运行频率(参见处理块大小
  • 选择一段空闲动画,在对话期间让 MetaHuman 播放

Animations configuration screen

在编辑器中预配置演示

使用源码版本时,可直接在编辑器中预填默认值,这样每次运行时无需重新输入:

What哪里
通用设置(口型同步模型、待机动画、角色类别、语音识别等)Content/LipSyncSTSGameInstance
外部LLM / 外部TTS 设置(运行时AI聊天机器人集成器)Content/Modules/RuntimeAIChatbotIntegrator/RuntimeAIChatbotIntegrator_Provider
本地 LLM 设置(运行时本地 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 上的额外设置步骤。

支持像素流式传输

在像素流上部署演示(点击展开)

AI对话演示项目同样支持在像素流送环境中运行,允许您将MetaHuman虚拟形象流式传输至远程客户端(如网页浏览器),同时从客户端侧捕获用户的麦克风音频。仅需对演示项目进行一处修改即可实现。

1. 安装运行时音频导入器的像素流扩展

运行时音频导入器插件提供了一个免费扩展插件,用于从像素流客户端捕获音频。根据您使用的像素流基础设施版本,请安装以下之一:

下载链接和安装步骤请参见此处:像素流音频捕获 - 扩展插件安装

2. 在 LipSyncSTSGameInstance 中替换可捕获的声波节点

扩展插件安装完成后:

  1. 在内容浏览器中,导航至 /All/Game,然后打开 LipSyncSTSGameInstance 资源。
  2. 切换到 事件图表
  3. 找到 事件初始化,并沿着执行流程向下查找,直到找到以下节点对:创建可捕获声波设置可捕获声波
  4. 创建可捕获声波 调用替换为 创建像素流式传输可捕获声波创建像素流式传输 2 可捕获声波,具体取决于您所针对的像素流式传输基础设施版本。
  5. 将其输出连接到同一个 设置可捕获声波 节点。

此后,项目即可部署至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、虚拟主持人、自助服务终端助手,还是用于虚拟制作的数字人类,该插件都能适配您的角色制作流程。

标准口型同步模型说明

如果你计划在任一演示项目中使用标准模型(而非写实模型),则需要安装标准口型同步扩展插件。安装说明请参阅标准模型扩展

需要帮助吗?

如果在设置或运行演示项目时遇到任何问题,请随时联系我们:

Join our Discord
online · support

如需定制开发(例如在演示中添加自定义逻辑、适配特定平台或角色管线),请联系 [email protected]