본문으로 건너뛰기

커스텀 캐릭터와 함께 플러그인 사용하기

이 가이드는 Runtime MetaHuman Lip Sync를 MetaHuman이 아닌 캐릭터에 설정하는 과정을 안내합니다. 이 과정에는 애니메이션 개념과 리깅에 대한 이해가 필요합니다. 특정 캐릭터에 이 기능을 구현하는 데 도움이 필요하면 [email protected]로 전문적인 지원을 요청할 수 있습니다.

필수 조건

시작하기 전에 캐릭터가 다음 요구 사항을 충족하는지 확인하세요:

  • 유효한 스켈레톤 보유
  • 얼굴 표정을 위한 morph targets(blend shapes) 포함
  • 이상적으로 10개 이상의 visemes를 정의하는 morph targets 보유(visemes가 많을수록 립싱크 품질이 향상됨)

플러그인은 캐릭터의 morph targets을 다음과 같은 표준 visemes에 매핑해야 합니다:

Sil -> Silence
PP -> Bilabial plosives (p, b, m)
FF -> Labiodental fricatives (f, v)
TH -> Dental fricatives (th)
DD -> Alveolar plosives (t, d)
KK -> Velar plosives (k, g)
CH -> Postalveolar affricates (ch, j)
SS -> Sibilants (s, z)
NN -> Nasal (n)
RR -> Approximant (r)
AA -> Open vowel (aa)
E -> Mid vowel (e)
IH -> Close front vowel (ih)
OH -> Close-mid back vowel (oh)
OU -> Close back vowel (ou)

참고: 캐릭터가 다른 비젬 세트를 가지고 있는 경우(이는 흔한 경우임), 각 비젬에 대한 정확한 매칭이 필요하지 않습니다. 근사치로도 충분합니다—예를 들어, 캐릭터의 SH 비젬을 플러그인의 CH 비젬에 매핑하는 것은 효과적으로 작동할 수 있습니다. 이들은 밀접하게 관련된 후치경음이기 때문입니다.

비젬 매핑 참조

다음은 일반적인 비젬 시스템과 플러그인이 요구하는 비젬 간의 매핑입니다:

ARKit는 여러 입 모양을 포함한 포괄적인 블렌드쉐이프 세트를 제공합니다. 다음은 이를 RuntimeMetaHumanLipSync 비젬에 매핑하는 방법입니다:

RuntimeMetaHumanLipSync 비젬ARKit 동등물참고 사항
SilmouthClose중립/휴식 상태
PPmouthPressLeft + mouthPressRight양순음의 경우 두 프레스 모양을 함께 사용
FFlowerLipBiteLeft + lowerLipBiteRight"f/v" 소리를 위한 입술-이음 접촉 생성
THtongueOutARKit는 직접적인 혀 제어 가능
DDjawOpen (약간) + tongueUp약간의 턱 열림과 혀 위치 조합
KKmouthLeft 또는 mouthRight (약간)미묘한 입가 당김으로 연구개음 근사
CHjawOpen (약간) + mouthFunnel (약간)후치경음 소리를 위한 조합
SSmouthFrown치찰음에 약간의 찡그림 사용
NNjawOpen (매우 약간) + mouthClose거의 닫힌 입에 약간의 턱 열림
RRmouthPucker (약간)r-소리를 위한 미묘한 둥글림
AAjawOpen + mouthOpen넓게 열린 모음 소리를 위한 조합
EjawOpen (약간) + mouthSmile중간 열림 위치에 약간의 미소
IHmouthSmile (약간)입술의 약간의 벌림
OHmouthFunnel둥근 열린 모양
OUmouthPucker단단히 둥근 입술

커스텀 포즈 애셋 생성

Blend Runtime MetaHuman Lip Sync 노드와 함께 사용할 캐릭터용 커스텀 포즈 애셋을 생성하려면 다음 단계를 따르세요:

1. 캐릭터의 Skeletal Mesh 찾기

립 싱크 애니메이션에 사용할 모프 타겟(블렌드쉐이프)이 포함된 스켈레탈 메시를 찾으세요. 이는 전체 바디 메시이거나 캐릭터 디자인에 따라 얼굴 메시일 수 있습니다.

2. 사용 가능한 Morph Targets 확인

립 싱크 애니메이션에 비젬으로 사용할 수 있는 적절한 모프 타겟이 스켈레탈 메시에 있는지 확인하세요. 얼굴 애니메이션을 지원하는 대부분의 캐릭터는 일부 음소/비젬 모프 타겟을 가지고 있어야 합니다.

캐릭터의 모프 타겟 예시

3. 참조 포즈 애니메이션 생성

  1. Create Asset -> Create Animation -> Reference Pose로 이동
  2. 애니메이션 시퀀스에 설명적인 이름을 입력하고 적절한 위치에 저장
  3. 생성된 애니메이션 시퀀스가 자동으로 열리며, 루프로 재생되는 빈 애니메이션이 표시됨

참조 포즈 애셋 생성 참조 포즈 애셋 이름 지정

  1. 편집을 쉽게 하기 위해 Pause 버튼을 클릭하여 애니메이션 재생을 중지

애니메이션 재생 일시 정지

4. 애니메이션 시퀀스 편집

  1. Edit in Sequencer -> Edit with FK Control Rig 클릭
  2. Bake to Control Rig 대화 상자에서 설정을 변경하지 않고 Bake to Control Rig 버튼 클릭

FK Control Rig로 편집 Control Rig로 베이킹

  1. 편집기가 Animation Mode로 전환되며 Sequencer 탭이 열림
  2. View Range End Time을 0016으로 설정(이렇게 하면 Working Range End도 자동으로 0016으로 설정됨)
  3. 슬라이더의 오른쪽 가장자리를 시퀀서 창의 오른쪽 끝으로 드래그

5. 애니메이션 커브 준비

  1. Animation Sequence 에셋으로 돌아가서 Curves 목록에서 morph target을 찾습니다 (보이지 않으면 Animation Sequence 에셋을 닫았다가 다시 열어보세요)
  2. viseme이나 입 움직임과 관련 없는 morph target은 모두 제거합니다

6. 비셈 매핑 계획 수립

캐릭터의 비셈을 플러그인에서 요구하는 세트와 매칭하기 위한 매핑 계획을 수립하세요. 예를 들어:

Sil -> Sil
PP -> FV
FF -> FV
TH -> TH
DD -> TD
KK -> KG
CH -> CH
SS -> SZ
NN -> NL
RR -> RR
AA -> AA
E -> E
IH -> IH
OH -> O
OU -> U

필요한 모든 viseme에 대해 정확히 일치하는 viseme 세트가 캐릭터에 없을 경우, 매핑이 반복되어도 괜찮습니다.

7. 각 viseme 애니메이션 적용

  1. 각 viseme에 대해 관련된 morph target 곡선을 0.0에서 1.0으로 애니메이션 처리
  2. 각 viseme 애니메이션을 다른 프레임에서 시작
  3. 자연스러운 viseme 형태를 만들기 위해 추가 곡선(턱/입 열기, 혀 위치 등)을 필요에 따라 구성

8. 포즈 애셋 생성

  1. Create Asset -> Pose Asset -> Current Animation으로 이동
  2. 포즈 애셋에 설명이 포함된 이름을 입력하고 적절한 위치에 저장
  3. 생성된 포즈 애셋이 자동으로 열리며, Pose_0, Pose_1 등 각각 비젬에 해당하는 포즈가 표시됨
  4. 비젬 가중치를 미리보기하여 예상대로 작동하는지 확인

포즈 애셋 생성 포즈 애셋 이름 지정 비젬이 포함된 포즈 애셋

9. 포즈 애셋 완성

  1. 필수 조건 섹션의 비젬 이름과 일치하도록 각 포즈 이름 변경
  2. 사용하지 않는 포즈 삭제

오디오 처리 및 블렌딩 설정

포즈 애셋이 준비되면, 오디오 처리 및 블렌딩 노드를 설정해야 합니다:

  1. 캐릭터의 Animation Blueprint를 찾거나 생성합니다
  2. 표준 플러그인 설정 가이드에 문서화된 것과 동일한 단계에 따라 오디오 처리 및 블렌딩을 설정합니다
  3. Blend Runtime MetaHuman Lip Sync 노드에서 기본 MetaHuman 포즈 애셋 대신 사용자 정의 Pose Asset을 선택합니다

사용자 정의 포즈 애셋 선택

바디 애니메이션과 결합

리프 싱크를 다른 바디 애니메이션과 함께 수행하려면:

  1. 표준 플러그인 가이드에 문서화된 동일한 단계를 따릅니다
  2. MetaHuman 본 이름을 사용하는 대신 캐릭터의 목 스켈레톤에 대한 올바른 본 이름을 제공해야 합니다

결과

다음은 이 설정을 사용하는 사용자 정의 캐릭터의 예시입니다:

예시 1: 사용자 정의 캐릭터와 리프 싱크

예시 2: 다른 비셈 시스템과 리프 싱크

예시 3: 다른 비셈 시스템과 리프 싱크

리프 싱크의 품질은 특정 캐릭터와 비셈 설정이 얼마나 잘 되어 있는지에 크게 의존합니다. 위 예시들은 서로 다른 유형의 사용자 정의 캐릭터와 독특한 비셈 시스템에서 플러그인이 작동하는 것을 보여줍니다.