跳至主要内容

示範專案

為了協助您快速上手 Runtime MetaHuman Lip Sync,我們提供了兩個可直接使用的示範專案。兩者皆以 Unreal Engine 5.6+ 建置,僅使用 Blueprint,並可在 Windows、Mac、Linux、iOS、Android 及基於 Android 的平台上跨平台執行(包括 Meta Quest)。

可用示範專案

一個完整的 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外部 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

如果您未取得其中一個(或多個)選用外掛程式,只要刪除對應的資料夾即可。示範專案的基礎資產(遊戲執行個體、Widget 等)不會直接參考這些模組,因此刪除它們不會造成資產參考錯誤。設定 UI 會自動隱藏任何缺少對應資料夾的提供者。

備註

此模組化僅適用於 LLMTTS 提供者。語音辨識(Runtime Speech Recognizer)和口型同步(Runtime MetaHuman Lip Sync)屬於基礎示範專案的一部分,且一律為必要項目。

Modules folder structure

注意

首次啟動時,Unreal 可能會詢問是否要停用任何缺失的選用外掛程式 - 按一下。請確保您也已刪除了對應的 Content/Modules/ 資料夾(請參閱上文)。

隨附的擴充外掛程式

Silero VAD、WebRTC AEC3 與標準 Lip Sync 擴充功能(點擊展開)

此示範的原始碼版本在其 Plugins/ 資料夾中預先搭載了三個免費擴充外掛程式:RuntimeAudioImporterSileroVAD(神經網路 VAD)、RuntimeAudioImporterWebRTCAEC3(回聲消除)和RuntimeMetaHumanLipSync_Standard(標準口型同步模型)。

隨附的二進位檔案是針對 UE 5.6 預先建置的。如要使用 UE 5.7 / 5.8,請從原始碼自行建置(請參閱各擴充套件的文件),或使用預先建置的二進位檔案:UE 5.7 · UE 5.8。安裝方式:請從 Plugins/ 中刪除三個既有的資料夾,然後將壓縮檔的內容解壓縮到 Plugins/ 中,以取代原有的資料夾。

這三個都是可選的 - 如果你不需要它們,只需在啟動前從 Plugins/ 中刪除它們的資料夾。

示範專案佈局

UI 僅供示範用途

下方顯示的使用者介面完全以 UMG(Unreal Motion Graphics)建置,其用途純粹是為了示範整個管線——語音辨識 → LLM → TTS → 口型同步。您可以自由地重新設計樣式或加以替換,以符合專案的視覺設計、控制方案或平台(VR/AR、行動裝置、主機、自助服務機台等)。如果某些小工具在您的使用情境中不需要,也可以直接將它們隱藏(例如將其可見性設為 CollapsedHidden)。

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 提供者並進行設定:

  • 選擇提供者(Runtime AI Chatbot Integrator 或 Runtime Local LLM)
  • 選擇模式:一般或串流(視提供者而定,串流可啟用逐句 TTS 交接,請參閱管線概覽
  • 針對外部提供者:驗證權杖模型名稱等。
  • 針對本機 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 的 Runtime AI Chatbot Integrator,或用於本地 Piper/Kokoro 的 Runtime Text To Speech)
  • 選擇 模式:一般或串流(控制音訊是全部一次回傳,還是隨合成即時回傳)
  • 選擇 語音/模型
  • 調整提供者特定的參數

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)
  • 選擇 口型同步模型(標準或寫實)
  • 選擇 口型同步模型類型 - 高度最佳化、半最佳化或原始(參見模型類型
  • 調整 處理區塊大小 - 控制口型同步推論的執行頻率(參見處理區塊大小
    • 如果在 CPU 負載下,口型同步會隨時間越發落後於音訊,請將此值增加到 480 或 640。
  • 選擇一個在對話期間於 MetaHuman 上播放的 待機動畫

Animations configuration screen

在編輯器中預先配置示範

當使用原始版本時,您可以直接在編輯器中預先填入預設值,這樣每次執行時就不需要重新輸入數值:

What哪裡
一般設定(唇形同步模型、閒置動畫、角色類別、語音辨識等)Content/LipSyncSTSGameInstance
外部 LLM / 外部 TTS 設定 (Runtime AI Chatbot Integrator)Content/Modules/RuntimeAIChatbotIntegrator/RuntimeAIChatbotIntegrator_Provider
本機 LLM 設定 (Runtime Local LLM)Content/Modules/RuntimeLocalLLM/RuntimeLocalLLM_Provider
本地 TTS 設定 (Runtime Text To Speech)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 音訊擷取 - 擴充外掛程式安裝

2. 在 LipSyncSTSGameInstance 中替換可捕捉的聲波節點。

安裝擴充功能外掛程式後:

  1. 在內容瀏覽器中,瀏覽至 /All/Game 並開啟 LipSyncSTSGameInstance 資產。
  2. 切換到事件圖表
  3. 找到 Event Init,並沿著執行流程,直到你找到這對節點:Create Capturable Sound WaveSet Capturable Sound Wave
  4. Create Capturable Sound Wave 呼叫取代為 Create Pixel Streaming Capturable Sound WaveCreate Pixel Streaming 2 Capturable Sound Wave,取決於您針對的 Pixel Streaming 基礎架構版本。
  5. 將其輸出連接到同一個 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、虛擬主持人、資訊站服務人員,還是用於虛擬製作的數位人類,此外掛程式都能適應您的角色管線。

需要幫助嗎?

如果您在設定或執行示範專案時遇到任何問題,歡迎隨時聯繫:

Join our Discord
online · support

對於客製化開發需求(例如:使用您自己的邏輯擴充示範專案、針對特定平台或角色管線進行調整),請聯絡 [email protected]