본문으로 건너뛰기

데모 프로젝트

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 LLMllama.cpp를 통한 로컬 LLM 추론 (Llama, Mistral, Gemma 등 GGUF 모델)🔶 선택 사항
Runtime Text To SpeechPiper 및 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

선택적 플러그인 중 하나(또는 그 이상)를 획득하지 않은 경우, 간단히 해당 폴더(들)를 삭제하면 됩니다. 데모 프로젝트의 기본 에셋(게임 인스턴스, 위젯 등)은 이러한 모듈을 직접 참조하지 않으므로, 해당 폴더들을 삭제해도 에셋 참조 오류가 발생하지 않습니다. 구성 UI는 해당 폴더가 없는 제공자를 자동으로 숨깁니다.

노트

이 모듈성은 LLMTTS 제공자에만 적용됩니다. 음성 인식 (Runtime Speech Recognizer) 및 립싱크 (Runtime MetaHuman Lip Sync)는 기본 데모 프로젝트의 일부이며 항상 필요합니다.

Modules folder structure

경고

첫 실행 시 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/에서 해당 폴더들을 삭제하기만 하면 됩니다.

데모 프로젝트 레이아웃

UI는 데모용입니다.

아래 표시된 사용자 인터페이스는 전적으로 UMG(Unreal Motion Graphics)로 구축되었으며, 음성 인식 → LLM → TTS → 립싱크로 이어지는 파이프라인 시연을 위한 목적으로만 제작되었습니다. 프로젝트의 비주얼 디자인, 컨트롤 방식 또는 플랫폼(VR/AR, 모바일, 콘솔, 키오스크 등)에 맞게 스타일을 변경하거나 교체해도 됩니다. 특정 위젯이 사용 사례에 필요하지 않은 경우, 해당 위젯의 가시성을 Collapsed 또는 Hidden으로 설정하는 등 간단히 숨길 수도 있습니다.

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
Local 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 기반 플랫폼(메타 퀘스트 포함)을 지원하므로, 데모 프로젝트도 이 모든 환경에서 작동합니다. 따라서 게임, 데스크톱 키오스크, 모바일 앱, 독립형 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 Audio Capture - 확장 플러그인 설치.

2. LipSyncSTSGameInstance에서 캡처 가능한 사운드 웨이브 노드를 교체하세요.

확장 플러그인이 설치된 후:

  1. 콘텐츠 브라우저에서 /All/Game로 이동한 다음 LipSyncSTSGameInstance 에셋을 엽니다.
  2. 이벤트 그래프로 전환합니다.
  3. Event Init을 찾고 실행 흐름을 따라가면 Create Capturable Sound WaveSet Capturable Sound Wave 노드 쌍을 찾을 수 있습니다.
  4. Create Capturable Sound Wave 호출을 타겟으로 하는 Pixel Streaming 인프라 버전에 따라 Create Pixel Streaming Capturable Sound Wave 또는 **Create Pixel Streaming 2 Capturable Sound Wave**로 대체합니다.
  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]로 연락해 주십시오.