본문 바로가기

GameDevelopmentDiary/UnrealDiary

언리얼4 립싱크(Text To Speech) 구현 방법 Part1

1. 목적

    언리얼 엔진을 사용하여 입력 텍스트에 따라 캐릭터들이 대사를 말하는 모습을 구현.


1.1. 목표

  1. TTS(Text to speech) - AzrueTTS
  2. 3D 캐릭터의 립싱크 - 메타휴먼 캐릭터
  3. 표정 애니메이션을 다른 애니메이션과 블랜딩

2. 준비

Unreal - 4.26

MetaHuman 캐릭터

2.4. Plugin 준비

  • C++로 플러그인 접근
    • 마켓플레이스 플러그인 사용 시, '프로젝트명\Plugins\플러그인명\'경로에 Source 폴더가 있으면 C++로 접근할 수 있다. 없다면 엔진 설치 경로의 플러그인 폴더에서 복사해 가져온다. 
    • 만약 .uproject 파일에 플러그인이 추가되지 않은 경우 직접 적어줄 수 있다.
    • Build.cs 파일에 사용할 플러그인을 추가한다.

*.Build.cs 파일 예

 

*uproject 파일 예

 

  • OVRLipsync
    • 용도: 애니메이션 커브 변환에 사용할 Viseme 데이터를 가져온다.
    • 다운로드: https://developer.oculus.com/downloads/package/oculus-lipsync-unreal/
    • 해당 플러그인을 프로젝트 폴더(외부 플러그인 폴더)에 추가한다.
    • 플러그인 내부 일부 Inlude 수정이 필요하다. C++ 빌드 시 오류로그 뜨는 줄에서 "Classes"를 지워주자. 
    • 에디터에서 추가 가능한 플러그인도 활성화한다. (OculusAudio, OculusVR)