커스텀 캐릭터와 함께 플러그인 사용하는 방법
이 가이드는 비-MetaHuman 캐릭터를 위해 Runtime MetaHuman Lip Sync를 설정하는 과정을 안내합니다. 이 과정은 애니메이션 개념과 리깅에 대한 친숙함이 필요합니다. 특정 캐릭터에 대해 이를 구현하는 데 도움이 필요하다면, [email protected]로 전문 지원을 요청할 수 있습니다.
립싱크 모델 호환성에 대한 중요 참고사항
커스텀 캐릭터는 Standard (Faster) 모델에서만 지원됩니다.
Realistic (Higher Quality) 모델은 MetaHuman 및 ARKit 캐릭터를 위해 설계되었으며, 다른 커스텀 캐릭터와 함께 사용할 수 없습니다. 이 가이드 전체에서, 참조되는 경우 메인 설정 가이드의 Standard 모델 지침을 따라야 합니다.
필수 확장 플러그인: 커스텀 캐릭터와 함께 Standard Model을 사용하려면, 메인 설정 가이드의 필수 조건 섹션에 설명된 대로 Standard Lip Sync Extension plugin을 설치해야 합니다.
이 확장 기능은 본 가이드에 설명된 모든 커스텀 캐릭터 구현에 필수입니다.
필수 조건
시작하기 전에, 캐릭터가 다음 요구사항을 충족하는지 확인하세요:
- 유효한 스켈레톤을 보유
- 얼굴 표정을 위한 모프 타겟(블렌드 셰이프)을 포함
- 이상적으로는 10개 이상의 비짐(viseme)을 정의하는 모프 타겟을 보유 (비짐이 많을수록 립싱크 품질이 향상됨)
플러그인은 캐릭터의 모프 타겟을 다음 표준 비짐에 매핑해야 합니다:
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 음소 시스템
- 커스텀 캐릭터 (Daz Genesis 8/9, Reallusion CC3/CC4, Mixamo, ReadyPlayerMe)
ARKit는 여러 입 모양을 포함한 포괄적인 얼굴 애니메이션용 블렌드셰이프 세트를 제공합니다. 다음은 이를 RuntimeMetaHumanLipSync 비즘에 매핑하는 방법입니다:
| RuntimeMetaHumanLipSync 비즘 | ARKit 동등물 | 참고 사항 |
|---|---|---|
| Sil | mouthClose | 중립/휴식 위치 |
| PP | mouthPressLeft + mouthPressRight | 양순음의 경우, 두 프레스 셰이프를 함께 사용 |
| FF | lowerLipBiteLeft + lowerLipBiteRight (또는 mouthRollLower) | 아래 입술이 윗니에 닿음, "f" 및 "v" 소리에서와 같이 |
| TH | tongueOut | ARKit는 직접적인 혀 제어 기능을 가짐 |
| DD | jawOpen (약간) + tongueUp (혀 리그가 있는 경우) | 혀가 치조융기에 닿음; 약간의 턱 벌림 |
| KK | mouthLeft 또는 mouthRight (약간) | 미묘한 입꼬리 당김으로 연구개음 근사 |
| CH | jawOpen (약간) + mouthFunnel (약간) | 치조후음에 대해 결합 |
| SS | mouthFrown | 치찰음에 약간의 찡그림 사용 |
| NN | jawOpen (매우 약간) + mouthClose | 거의 닫힌 입에 약간의 턱 벌림 |
| RR | mouthPucker (약간) | r-소리를 위한 미묘한 둥글림 |
| AA | jawOpen + mouthStretchLeft + mouthStretchRight (또는 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 (약간) | 입술 오므리기 + 약간의 턱 떨어뜨리기 |
Preston Blair 시스템은 입 모양에 대해 설명적인 이름을 사용하는 고전적인 애니메이션 표준입니다:
| RuntimeMetaHumanLipSync 비즘 | 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 비즘 | 3ds Max 음소 | 참고 사항 |
|---|---|---|
| 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. 모프 타겟 및 커브 확인
진행하기 전에, 스켈레탈 메시에 립 싱크 애니메이션에 적절한 모프 타겟과 해당 커브가 있는지 확인하세요.
모프 타겟 확인: 스켈레탈 메시가 립 싱크 애니메이션에 비즘으로 사용될 수 있는 모프 타겟(블렌드 셰이프)을 포함하는지 확인하세요. 얼굴 애니메이션을 지원하는 대부분의 캐릭터는 일부 음소/비즘 모프 타겟을 가지고 있어야 합니다.

중요: 커브 탭 확인 이 단계는 특히 Blender나 다른 외부 소프트웨어에서 내보낸 캐릭터에 중요합니다:
- Skeletal Mesh 편집기에서 커브 탭을 엽니다
- 모프 타겟에 해당하는 커브가 보이는지 확인합니다
- 커브 탭이 비어 있지만 모프 타겟이 존재하는 경우, 모프 타겟과 정확히 동일한 이름을 사용하여 수동으로 새 커브를 추가하세요
참고: 이 문제는 모프 타겟은 성공적으로 임포트되지만 애니메이션 커브가 자동으로 생성되지 않는 Blender 내보내기에서 일반적으로 발생합니다. 일치하는 커브 없이는 Control Rig로 베이킹한 후 애니메이션이 제대로 채워지지 않습니다.
대체 솔루션: Blender에서 내보낼 때 이 문제를 방지하려면 FBX 내보내기 설정에서 커스텀 속성과 애니메이션을 활성화해 보세요. 이렇게 하면 모프 타겟과 함께 애니메이션 커브가 포함되는 데 도움이 될 수 있습니다.
3. 참조 포즈 애니메이션 생성
애셋 생성 -> 애니메이션 생성 -> 참조 포즈로 이동합니다- 애니메이션 시퀀스에 설명적인 이름을 입력하고 적절한 위치에 저장합니다
- 생성된 애니메이션 시퀀스가 자동으로 열리며, 빈 애니메이션이 반복 재생되는 것을 보여줍니다

- 더 쉬운 편집을 위해 애니메이션 재생을 멈추려면
일시 정지버튼을 클릭하세요

4. 애니메이션 시퀀스 편집
시퀀서에서 편집->FK Control Rig로 편집을 클릭합니다Control Rig로 베이크대화 상자에서 설정을 변경하지 않고Control Rig로 베이크버튼을 클릭합니다

- 편집기가
시퀀서탭이 열린애니메이션 모드로 전환됩니다 보기 범위 종료 시간을 0016으로 설정합니다(이렇게 하면작업 범위 종료도 자동으로 0016으로 설정됩니다)- 슬라이더의 오른쪽 가장자리를 시퀀서 창의 오른쪽 끝으로 드래그합니다
5. Prepare the Animation Curves
- 애니메이션 시퀀스 에셋으로 돌아가서
Curves목록에서 모프 타겟을 찾습니다 (보이지 않으면 애니메이션 시퀀스 에셋을 닫았다가 다시 엽니다) - 립싱크에 사용하려는 비제임스나 입 움직임과 관련 없는 모프 타겟은 모두 제거합니다
6. Plan your viseme mapping
캐릭터의 비짐을 플러그인이 요구하는 세트에 맞추기 위한 매핑 계획을 세우세요. 예를 들어:
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
참고로, 캐릭터의 비제임 세트가 모든 필요한 비제임에 대해 정확히 일치하는 항목을 갖지 않을 때는 매핑이 반복되어도 괜찮습니다.
7. Animate each viseme
- 각 비제임에 대해, 관련된 모프 타겟 커브를 0.0에서 1.0까지 애니메이션 처리합니다.
- 각 비제임 애니메이션을 서로 다른 프레임에서 시작하세요.
- 자연스러운 비제임 모양을 만들기 위해 필요한 추가 커브(턱/입 벌림, 혀 위치 등)를 구성하세요.
8. Create a Pose Asset
애셋 생성->포즈 애셋->현재 애니메이션으로 이동합니다.- 포즈 애셋에 대해 설명적인 이름을 입력하고 적절한 위치에 저장합니다.
- 생성된 포즈 애셋은 자동으로 열리며,
Pose_0,Pose_1등 각각 하나의 비제임에 해당하는 포즈를 표시합니다. - 비제임 가중치를 미리보기하여 예상대로 작동하는지 확인합니다.

9. Finalize the Pose Asset
- 각 포즈의 이름을 필수 조건 섹션의 비제임 이름과 일치하도록 변경합니다.
- 사용하지 않는 포즈는 삭제합니다.
오디오 처리 및 블렌딩 설정
포즈 애셋이 준비되면, 오디오 처리 및 블렌딩 노드를 설정해야 합니다:
- 캐릭터의 Animation Blueprint를 찾거나 생성하세요
- 표준 플러그인 설정 가이드에 문서화된 것과 동일한 단계를 따라 오디오 처리 및 블렌딩을 설정하세요
Blend Runtime MetaHuman Lip Sync노드에서 기본 MetaHuman 포즈 애셋 대신 사용자 정의 Pose Asset을 선택하세요

신체 애니메이션과 결합하기
다른 신체 애니메이션과 함께 립싱크를 수행하려면:
- 표준 플러그인 가이드에 문서화된 것과 동일한 단계를 따르세요
- MetaHuman 본 이름을 사용하는 대신 캐릭터의 목 뼈대에 대한 올바른 본 이름을 제공해야 합니다
결과
이 설정을 사용하는 사용자 정의 캐릭터의 예시입니다:



립싱크의 품질은 주로 특정 캐릭터와 그 비시메 설정이 얼마나 잘 되어 있는지에 따라 달라집니다. 위 예시들은 서로 다른 유형의 사용자 정의 캐릭터와 고유한 비시메 시스템에서 플러그인이 작동하는 것을 보여줍니다.