데모 프로젝트
Runtime MetaHuman Lip Sync를 빠르게 시작할 수 있도록 사용 가능한 두 가지 데모 프로젝트가 준비되어 있습니다. 두 프로젝트 모두 **Unreal Engine 5.6+**로 제작되었으며, Blueprint-only로 구성되어 Windows, Mac, Linux, iOS, Android 및 Android 기반 플랫폼(Meta Quest 포함)에서 크로스 플랫폼으로 실행됩니다.
사용 가능한 데모 프로젝트
- AI Conversational NPC / Interactive Avatar
- 기본 립싱크 데모
음성 인식, AI 챗봇(LLM), 텍스트 음성 변환, 오디오 재생 및 실시간 립싱크를 결합한 전체 AI 대화형 아바타 워크플로가 하나의 프로젝트에서 모두 실행됩니다. 게임, 대화형 키오스크, 가상 제작, 박물관 설치, 디지털 어시스턴트, 훈련 시뮬레이션 등 다양한 사용 사례에 적합합니다.
파이프라인 개요
🎤 Microphone → Speech Recognition → 💬 LLM Chatbot → 🔊 Text-to-Speech → 👄 Lip Sync + Playback
비디오
빠른 미리보기 (~30초)
데모 작동의 짧은 쇼케이스입니다.
전체 연습
설정, 구성 및 전체 대화 파이프라인을 다루는 상세 연습입니다.
다운로드
필수 및 선택 플러그인
데모 프로젝트는 모듈식입니다 - 사용하려는 제공자(provider)에 필요한 플러그인만 있으면 됩니다.
| 플러그인 | 목적 | 필수 여부? |
|---|---|---|
| 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
옵션 플러그인을 하나 이상 획득하지 않았다면, 해당 폴더를 삭제하면 됩니다. 데모 프로젝트의 기본 에셋(게임 인스턴스, 위젯 등)은 이 모듈을 직접 참조하지 않으므로, 삭제해도 에셋 참조 오류가 발생하지 않습니다. 구성 UI는 폴더가 없는 제공자를 자동으로 숨깁니다.
이 모듈성은 LLM 및 TTS 제공자에만 적용됩니다. 음성 인식 (Runtime Speech Recognizer)과 립싱크 (Runtime MetaHuman Lip Sync)는 기본 데모 프로젝트의 일부이며 항상 필요합니다.

최초 실행 시, Unreal이 누락된 옵션 플러그인을 비활성화할지 묻는 메시지가 표시될 수 있습니다. 예를 클릭하세요. 해당 Content/Modules/ 폴더도 삭제했는지 확인하세요 (위 참조).
데모 프로젝트 레이아웃
아래 표시된 사용자 인터페이스는 전적으로 UMG(Unreal Motion Graphics)로 제작되었으며, 순수하게 파이프라인을 시연하기 위한 것입니다 - 음성 인식 → LLM → TTS → 립싱크. 프로젝트의 비주얼 디자인, 제어 방식 또는 플랫폼(VR/AR, 모바일, 콘솔, 키오스크 등)에 맞게 스타일을 변경하거나 교체할 수 있습니다. 특정 위젯이 필요하지 않은 경우, 간단히 숨길 수도 있습니다 (예: 가시성을 Collapsed 또는 Hidden으로 설정).

| 영역 | 내용 |
|---|---|
| 중앙 | MetaHuman 캐릭터. |
| 왼쪽 | 네 개의 구성 버튼 (음성 인식, AI 챗봇, TTS, 애니메이션), 아래에서 자세히 설명. |
| 하단 중앙 | 녹음 시작 버튼. 클릭하면 음성 대화가 시작됩니다: 마이크 입력이 캡처되어 텍스트로 변환되고, LLM으로 전송되어 응답이 TTS를 통해 합성된 후, 립싱크와 함께 재생되며 완전히 핸즈프리입니다. |
| 오른쪽 중앙 | 사용자와 AI 간의 전체 대화 내용(사용자 및 어시스턴트 메시지)을 보여주는 대화 기록 위젯. 또한 텍스트 입력 필드가 포함되어 있어 음성 인식을 사용하지 않고도 직접 메시지를 입력할 수 있으며, 테스트, 접근성, 또는 마이크를 사용할 수 없는 경우에 유용합니다. |
같은 세션에서 두 입력 모드를 자유롭게 혼합할 수 있습니다 - 일부 메시지는 말하고, 다른 일부는 타이핑하세요.
구성 버튼
왼쪽의 네 개의 구성 버튼은 파이프라인의 각 부분에 대한 전용 패널을 엽니다:
1. 음성 인식 구성
사용자 음성이 캡처되고 텍스트로 변환되는 방식을 구성합니다:
- 언어 선택
- 음성 인식 매개변수 조정 (Whisper 모델 설정)
- AEC (음향 반향 제거) 구성
- VAD (음성 활동 감지) 구성

2. AI 챗봇 구성
LLM 제공자를 선택하고 구성합니다:
- 제공자 선택 (Runtime AI Chatbot Integrator 또는 Runtime Local LLM)
- 외부 제공자: 인증 토큰, 모델 이름 등
- 로컬 LLM: GGUF 모델을 선택하고, 컨텍스트 크기 및 기타 추론 매개변수를 설정합니다. 또한 데모에서 직접 런타임에 자신의 GGUF 모델을 다운로드하여 (예: URL을 통해) 프로젝트를 다시 빌드하지 않고 바로 사용할 수 있습니다.
제공자 콤보박스는 Content/Modules/에 플러그인 모듈 폴더가 존재하는 제공자만 표시합니다.


3. TTS 구성
TTS 제공자를 선택하고 음성/모델을 구성합니다:
- 제공자 선택 (OpenAI/ElevenLabs용 Runtime AI Chatbot Integrator, 또는 로컬 Piper/Kokoro용 Runtime Text To Speech)
- 음성/모델 선택
- 제공자별 매개변수 조정


4. 애니메이션 구성
AI 아바타의 비주얼을 제어합니다:
- 사전 다운로드된 3개의 MetaHuman 캐릭터 (Aera, Ada, Orlando) 중에서 선택
- 립싱크 모델 선택 (Standard 또는 Realistic)
- 립싱크 모델 유형 선택 - Highly Optimized, Semi-Optimized, Original (참조 Model Type)
- 처리 청크 크기 조정 - 립싱크 추론 실행 빈도를 제어합니다 (참조 Processing Chunk Size)
- 대화 중 MetaHuman에서 재생할 대기 애니메이션 선택

에디터에서 데모 사전 구성하기
소스 버전으로 작업할 때, 에디터에서 직접 기본값을 미리 채워서 매번 실행할 때마다 값을 다시 입력할 필요가 없습니다:
| 무엇 | 위치 |
|---|---|
| 일반 설정 (립싱크 모델, 대기 애니메이션, 캐릭터 클래스, 음성 인식 등) | 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)에서는 다음을 고려할 수 있습니다:
- Realistic 대신 Standard 립싱크 모델 사용 - 모델 비교 참조
- Highly Optimized 모델 유형으로 전환
- 처리 청크 크기를 늘려 CPU 부하 감소
- 더 작은 LLM / TTS 모델 선택
Android, iOS, Mac, Linux에서 추가 설정 단계는 플랫폼별 구성을 참조하세요.
나만의 캐릭터 가져오기
데모 프로젝트에는 세 가지 샘플 MetaHuman 캐릭터 (Aera, Ada, Orlando)가 포함되어 있지만, 자신의 MetaHuman을 가져와 데모에서 사용할 수 있습니다.
📺 비디오 튜토리얼: Adding a Custom MetaHuman Character to the Demo Project
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) | 🔶 선택 |
스탠다드 립싱크 모델 참고 사항
두 데모 프로젝트에서 Standard Model(Realistic 대신)을 사용할 계획이라면, Standard Lip Sync Extension 플러그인을 설치해야 합니다. 설치 지침은 Standard Model Extension을 참조하세요.
도움이 필요하신가요?
데모 프로젝트를 설정하거나 실행하는 데 문제가 발생하면 언제든지 문의하세요:
커스텀 개발 요청(예: 데모에 자체 로직을 확장하거나, 특정 플랫폼 또는 캐릭터 파이프라인에 맞게 조정하는 등)은 [email protected]로 문의하세요.