커스텀 캐릭터와 함께 플러그인 사용하기
이 가이드는 Runtime MetaHuman Lip Sync를 MetaHuman이 아닌 캐릭터에 설정하는 과정을 안내합니다. 이 과정에는 애니메이션 개념과 리깅에 대한 이해가 필요합니다. 특정 캐릭터에 대한 구현 지원이 필요한 경우 solutions@georgy.dev로 전문가 지원을 요청할 수 있습니다.
Lip Sync 모델 호환성에 대한 중요 참고 사항
커스텀 캐릭터는 Standard (Faster) 모델에서만 지원됩니다.
Realistic (Higher Quality) 모델은 MetaHuman 캐릭터 전용으로 설계되었으며 커스텀 캐릭터와 함께 사용할 수 없습니다. 이 가이드 전체에서 참조할 때는 메인 설정 가이드의 Standard 모델 지침을 따라야 합니다.
필수 확장 플러그인: 커스텀 캐릭터와 함께 Standard Model을 사용하려면 메인 설정 가이드의 필수 조건 섹션에 설명된 대로 Standard Lip Sync Extension plugin을 설치해야 합니다.
이 확장 기능은 본 가이드에서 설명하는 모든 커스텀 캐릭터 구현에 필수입니다.
필수 조건
시작하기 전에 캐릭터가 다음 요구 사항을 충족하는지 확인하세요:
- 유효한 스켈레톤 보유
- 얼굴 표정을 위한 모프 타겟(블렌드 셰이프) 포함
- 이상적으로 10개 이상의 비셈(viseme)을 정의하는 모프 타겟 보유(비셈이 많을수록 Lip Sync 품질이 향상됨)
플러그인은 캐릭터의 모프 타겟을 다음 표준 비셈에 매핑해야 합니다:
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
비젬에 매핑하는 것은 둘 다 유사한 후치경음이므로 효과적으로 작동할 수 있습니다.
비젬 매핑 참조
일반적인 비젬 시스템과 플러그인이 요구하는 비젬 간의 매핑은 다음과 같습니다:
- Apple ARKit
- FACS 기반 시스템
- Preston Blair 시스템
- 3ds Max Phoneme System
- Custom Characters (Daz Genesis 8/9, Reallusion CC3/CC4, Mixamo, ReadyPlayerMe)
ARKit는 여러 가지 입 모양을 포함한 포괄적인 블렌드쉐이프 세트를 제공합니다. 다음은 이를 RuntimeMetaHumanLipSync 비젬에 매핑하는 방법입니다:
RuntimeMetaHumanLipSync 비젬 | ARKit 동등물 | 참고 사항 |
---|---|---|
Sil | mouthClose | 중립/휴식 상태 |
PP | mouthPressLeft + mouthPressRight | 양순음의 경우 두 프레스 모양을 함께 사용 |
FF | lowerLipBiteLeft + lowerLipBiteRight | "f/v" 소리를 위한 입술-이빨 접촉 생성 |
TH | tongueOut | ARKit는 직접적인 혀 제어 가능 |
DD | jawOpen (약간) + tongueUp | 약간의 턱 열림과 혀 위치 결합 |
KK | mouthLeft 또는 mouthRight (약간) | 미묘한 입가 당김으로 연구개음 근사 |
CH | jawOpen (약간) + mouthFunnel (약간) | 후치경음 소리를 위해 결합 |
SS | mouthFrown | 치찰음에 약간의 찡그림 사용 |
NN | jawOpen (매우 약간) + mouthClose | 거의 닫힌 입과 약간의 턱 열림 |
RR | mouthPucker (약간) | r-소리를 위한 미묘한 둥글림 |
AA | jawOpen + mouthOpen | 넓게 열린 모음 소리를 위해 결합 |
E | jawOpen (약간) + mouthSmile | 중간 열림 위치와 약간의 미소 |
IH | mouthSmile (약간) | 입술의 약간의 펼침 |
OH | mouthFunnel | 둥근 열린 모양 |
OU | mouthPucker | 단단히 둥근 입술 |
FACS(Facial Action Coding System)는 얼굴 움직임을 설명하기 위해 액션 유닛(AUs)을 사용합니다. 많은 전문 애니메이션 시스템이 FACS 기반 접근 방식을 사용합니다:
RuntimeMetaHumanLipSync 비젬 | FACS 액션 유닛 | 참고 사항 |
---|---|---|
Sil | Neutral | 활성화된 AU 없음 |
PP | AU23 + AU24 | 입술 누르기 + 입술 조임 |
FF | AU22 + AU28 | 입술 깔때기 + 입술 빨기 |
TH | AU25 (약간) + AU27 | 입술 벌림 + 입 늘리기 |
DD | AU25 + AU16 | 입술 벌림 + 아래 입술 내리기 |
KK | AU26 + AU14 | 턱 떨어뜨리기 + 보조기 |
CH | AU18 + AU25 | 입술 오므리기 + 입술 벌림 |
SS | AU20 | 입술 늘리기 |
NN | AU25 (매우 약간) | 약간의 입술 벌림 |
RR | AU18 (약간) | 약간의 입술 오므리기 |
AA | AU27 + AU26 | 입 늘리기 + 턱 떨어뜨리기 |
E | AU25 + AU12 | 입술 벌림 + 입가 당기기 |
IH | AU12 + AU25 (약간) | 입가 당기기 + 약간의 입술 벌림 |
OH | AU27 (약간) + AU18 | 약간의 입 늘리기 + 입술 오므리기 |
OU | AU18 + AU26 (약간) | 입술 오므리기 + 약간의 턱 떨어뜨리기 |
프레스턴 블레어 시스템은 입 모양에 대해 설명적인 이름을 사용하는 고전적인 애니메이션 표준입니다:
RuntimeMetaHumanLipSync Viseme | Preston Blair | 참고 |
---|---|---|
Sil | Rest | 중립적인 입 다문 상태 |
PP | MBP | 고전적인 "MBP" 입 모양 |
FF | FV | 아랫입술에 이빨이 닿는 "FV" 위치 |
TH | TH | 앞니에 혀가 닿는 상태 |
DD | D/T/N | 이 자음들에 대한 유사한 위치 |
KK | CKG | 강한 자음 위치 |
CH | CH/J/SH | 이 소리들에 대한 약간의 내민 입술 |
SS | S/Z | 약간 벌린 이빨 위치 |
NN | N/NG/L | D/T와 유사하지만 다른 혀 위치 |
RR | R | R 소리를 위한 둥근 입술 |
AA | AI | 크게 벌린 입 |
E | EH | 중간 정도 벌린 입 |
IH | EE | 펴진 입술 |
OH | OH | 둥근 중간 벌림 |
OU | OO | 단단히 둥글게 오므린 입술 |
3ds Max는 캐릭터 스튜디오를 위해 음소 기반 시스템을 사용합니다:
RuntimeMetaHumanLipSync Viseme | 3ds Max Phoneme | 참고 |
---|---|---|
Sil | rest | 기본 입 위치 |
PP | p_b_m | 직접 대응 |
FF | f_v | 직접 대응 |
TH | th | 직접 대응 |
DD | t_d | 직접 대응 |
KK | k_g | 직접 대응 |
CH | sh_zh_ch | 결합된 모양 |
SS | s_z | 직접 대응 |
NN | n_l | 이 소리들에 대해 결합됨 |
RR | r | 직접 대응 |
AA | ah | 열린 모음 소리 |
E | eh | 중간 모음 |
IH | ee | 닫힌 전설 모음 |
OH | oh | 후설 원순 모음 |
OU | oo | 닫힌 후설 모음 |
비셈 또는 입 블렌드 셰이프/모프 타겟이 있는 커스텀 캐릭터(Daz Genesis 8/9, Reallusion CC3/CC4, Mixamo, ReadyPlayerMe 등)는 일반적으로 플러그인의 비셈 시스템에 합리적인 근사치로 매핑될 수 있습니다.
커스텀 포즈 애셋 생성
Blend Runtime MetaHuman Lip Sync
노드와 함께 사용할 캐릭터용 커스텀 포즈 애셋을 생성하려면 다음 단계를 따르세요:
1. 캐릭터의 Skeletal Mesh 찾기
립 싱크 애니메이션에 사용할 모프 타겟(블렌드 셰이프)이 포함된 스켈레탈 메시를 찾으세요. 이는 캐릭터 디자인에 따라 전체 바디 메시 또는 얼굴 메시일 수 있습니다.
2. 사용 가능한 Morph Targets 확인
립 싱크 애니메이션에 비셈으로 사용할 수 있는 적절한 모프 타겟이 스켈레탈 메시에 있는지 확인하세요. 얼굴 애니메이션을 지원하는 대부분의 캐릭터는 일부 포네임/비셈 모프 타겟을 가지고 있어야 합니다.
3. 레퍼런스 포즈 애니메이션 생성
Create Asset -> Create Animation -> Reference Pose
로 이동합니다.- 애니메이션 시퀀스에 설명적인 이름을 입력하고 적절한 위치에 저장합니다
- 생성된 Animation Sequence가 자동으로 열리며, 빈 애니메이션이 루프로 재생되는 것을 볼 수 있습니다
- 편집을 쉽게 하기 위해
Pause
버튼을 클릭하여 애니메이션 재생을 중지합니다
4. 애니메이션 시퀀스 편집
Edit in Sequencer
->Edit with FK Control Rig
를 클릭합니다Bake to Control Rig
대화 상자에서 설정을 변경하지 않고Bake to Control Rig
버튼을 클릭합니다
- 에디터가
Animation Mode
로 전환되며Sequencer
탭이 열립니다 View Range End Time
을 0016으로 설정합니다(이렇게 하면Working Range End
도 자동으로 0016으로 설정됩니다)- 슬라이더의 오른쪽 끝을 시퀀서 창의 오른쪽 끝으로 드래그합니다
5. 애니메이션 커브 준비
- Animation Sequence 애셋으로 돌아가서
Curves
목록에서 morph target을 찾습니다 (보이지 않으면 Animation Sequence 애셋을 닫았다가 다시 엽니다) - Lip Sync에 사용할 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 애니메이션 적용
- 각 viseme에 대해 관련 morph target 곡선을 0.0에서 1.0으로 애니메이션 적용
- 각 viseme 애니메이션을 다른 프레임에서 시작
- 자연스러운 viseme 모양을 만들기 위해 추가 곡선(턱/입 열기, 혀 위치 등)을 필요에 따라 구성
8. 포즈 애셋 생성
Create Asset
->Pose Asset
->Current Animation
으로 이동- 포즈 애셋에 설명적인 이름을 입력하고 적절한 위치에 저장
- 생성된 포즈 애셋이 자동으로 열리며, 각각 비셈에 해당하는
Pose_0
,Pose_1
등의 포즈가 표시됨 - 비셈 가중치를 미리보기하여 예상대로 작동하는지 확인
9. 포즈 애셋 완성
- 필수 조건 섹션의 비셈 이름과 일치하도록 각 포즈 이름 변경
- 사용하지 않는 포즈 삭제
오디오 처리 및 블렌딩 설정
포즈 애셋이 준비되면 오디오 처리 및 블렌딩 노드를 설정해야 합니다:
- 캐릭터의 Animation Blueprint를 찾거나 생성하세요
- 표준 플러그인 설정 가이드에 문서화된 것과 동일한 단계로 오디오 처리 및 블렌딩을 설정하세요
Blend Runtime MetaHuman Lip Sync
노드에서 기본 MetaHuman 포즈 애셋 대신 사용자 정의 포즈 애셋을 선택하세요
바디 애니메이션과 결합
Lip Sync를 다른 바디 애니메이션과 함께 수행하려면:
- 표준 플러그인 가이드에 문서화된 동일한 단계를 따르세요
- MetaHuman 본 이름을 사용하는 대신 캐릭터의 목 스켈레톤에 대한 올바른 본 이름을 제공해야 합니다
결과
다음은 이 설정을 사용하는 사용자 정의 캐릭터의 예시입니다:
Lip Sync의 품질은 특정 캐릭터와 비셈 설정이 얼마나 잘 되어 있는지에 크게 의존합니다. 위 예시들은 서로 다른 유형의 사용자 정의 캐릭터와 고유한 비셈 시스템에서 플러그인이 작동하는 것을 보여줍니다.