1. 목적
언리얼 엔진을 사용하여 입력 텍스트에 따라 캐릭터들이 대사를 말하는 모습을 구현.
1.1. 목표
- TTS(Text to speech) - AzrueTTS
- 3D 캐릭터의 립싱크 - 메타휴먼 캐릭터
- 표정 애니메이션을 다른 애니메이션과 블랜딩
2. 준비
Unreal - 4.26
MetaHuman 캐릭터
- 에디터에 메타휴먼 가져오는 방법: https://docs.metahuman.unrealengine.com/en-US/HowTos/ExportingMetaHumans/ExportingToUnrealEngine/
2.4. Plugin 준비
- C++로 플러그인 접근
- 마켓플레이스 플러그인 사용 시, '프로젝트명\Plugins\플러그인명\'경로에 Source 폴더가 있으면 C++로 접근할 수 있다. 없다면 엔진 설치 경로의 플러그인 폴더에서 복사해 가져온다.
- 만약 .uproject 파일에 플러그인이 추가되지 않은 경우 직접 적어줄 수 있다.
- Build.cs 파일에 사용할 플러그인을 추가한다.
- AzureTTS
용도: 사용자가 입력한 텍스트를 소리 데이터와 Viseme 데이터로 변환한다.(REST API는 Viseme 기능을 지원하지 않는데, AzrueTTS 경우 REST API를 사용하고 있다.)- 용도: 사용자가 입력한 텍스트를 소리 데이터로 변환한다.
- 다운로드: 언리얼 마켓플레이스 사용. (https://www.unrealengine.com/marketplace/en-US/product/azure-tts)
- 블루프린트 샘플: https://github.com/breakstring/AzureTTS
RuntimeAudioImporter(OVLipSync와 호환 문제로 미사용)- 용도: AzureTTS 플러그인을 통해 받아온 데이터를 소리로 변환
- 다운로드: 언리얼 마켓플레이스 사용. (https://www.unrealengine.com/marketplace/ko/product/runtime-audio-importer)
- OVRLipsync
- 용도: 애니메이션 커브 변환에 사용할 Viseme 데이터를 가져온다.
- 다운로드: https://developer.oculus.com/downloads/package/oculus-lipsync-unreal/
- 해당 플러그인을 프로젝트 폴더(외부 플러그인 폴더)에 추가한다.
- 플러그인 내부 일부 Inlude 수정이 필요하다. C++ 빌드 시 오류로그 뜨는 줄에서 "Classes"를 지워주자.
- 에디터에서 추가 가능한 플러그인도 활성화한다. (OculusAudio, OculusVR)
'GameDevelopmentDiary > UnrealDiary' 카테고리의 다른 글
언리얼4 립싱크(Text To Speech) 구현 방법 Part4 (완성) (1) | 2022.03.10 |
---|---|
언리얼4 립싱크(Text To Speech) 구현 방법 Part3 (0) | 2022.03.10 |
언리얼4 립싱크(Text To Speech) 구현 방법 Part2 (5) | 2022.03.07 |
립싱크 - (메타휴먼, 리얼루전) (0) | 2021.12.28 |
Unreal HTML5 빌드 기록 (0) | 2021.11.12 |