플러그인을 커스텀 캐릭터와 함께 사용하는 방법
이 가이드는 Runtime MetaHuman Lip Sync를 비메타휴먼 캐릭터에 설정하는 과정을 안내합니다. 이 과정에는 애니메이션 개념과 리깅에 대한 이해가 필요합니다. 특정 캐릭터에 대한 구현 지원이 필요하시면 [email protected]로 전문 지원을 요청하실 수 있습니다.
립싱크 모델에 관한 중요 참고 사항
커스텀 캐릭터는 Standard(빠름) 모델에서만 지원됩니다.
현실적인 (고품질) 모델은 MetaHuman 및 ARKit 캐릭터를 위해 설계되었으며, 다른 사용자 정의 캐릭터에는 사용할 수 없습니다. 이 가이드 전체에서 참조되는 경우 기본 설정 가이드의 표준 모델 지침을 따라야 합니다.
필수 확장 플러그인: 표준 모델을 사용자 지정 캐릭터와 함께 사용하려면, 기본 설정 가이드의 사전 준비 사항 섹션에 설명된 대로 표준 립 싱크 확장 플러그인을 설치해야 합니다.
이 확장 프로그램은 이 가이드에서 설명하는 모든 사용자 정의 캐릭터 구현에 필수입니다.
사전 요구 사항
시작하기 전에, 캐릭터가 다음 요구 사항을 충족하는지 확인하세요:
- 유효한 스켈레톤을 가지고 있음
- 얼굴 표정을 위한 모프 타겟(블렌드 셰이프)을 포함함
- 이상적으로는 비짐을 정의하는 10개 이상의 모프 타겟을 보유함 (비짐이 많을수록 립 싱크 품질이 더 좋음)
이 플러그인은 캐릭터의 모프 타겟을 다음 표준 비짐에 매핑해야 합니다:
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)
참고: 캐릭터가 다른 비짐(viseme) 세트를 가지고 있다면(일반적인 경우), 각 비짐을 정확히 일치시킬 필요는 없습니다. 근사치로도 충분한 경우가 많습니다. 예를 들어, 캐릭터의 SH 비짐을 플러그인의 CH 비짐에 매핑하는 것은 두 소리가 밀접하게 관련된 치경구개음이기 때문에 효과적으로 작동합니다.
비젬 매핑 참조
다음은 일반적인 비짐 시스템과 플러그인에서 요구하는 비짐 간의 매핑입니다:
- Apple ARKit
- FACS 기반 시스템
- 프레스턴 블레어 시스템
- 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 (mild) + tongueUp (if you have tongue rig) | 혀가 치조융선에 닿고; 턱이 약간 내려갑니다. |
| KK | mouthLeft or mouthRight (mild) | 미세한 입꼬리 당김이 연구개음에 근접합니다 |
| CH | jawOpen (mild) + mouthFunnel (mild) | 치경구개음과 결합 |
| SS | mouthFrown | 치찰음에는 약간 찡그린 표정을 사용하세요 |
| NN | jawOpen (very mild) + mouthClose | 턱이 약간 벌어진 거의 닫힌 입 |
| RR | mouthPucker (mild) | r-발음의 미묘한 둥글림 |
| AA | jawOpen + mouthStretchLeft + mouthStretchRight (또는 jawOpen + mouthOpen) | "아" 소리를 위한 크게 벌린 입 |
| E | jawOpen (mild) + mouthSmile | 약간 미소를 띤 중간 열림 자세 |
| IH | mouthSmile (mild) | 입술이 약간 벌어짐 |
| OH | mouthFunnel | 둥근 열린 모양 |
| OU | mouthPucker | 입술을 오므린 모양 |
FACS(얼굴 동작 코딩 시스템)는 동작 단위(AU)를 사용하여 얼굴 움직임을 설명합니다. 많은 전문 애니메이션 시스템이 FACS 기반 접근 방식을 사용합니다:
| RuntimeMetaHumanLipSync 비지엠 | FACS 동작 단위 | 참고 사항 |
|---|---|---|
| Sil | 중립 | 활성화된 AU가 없습니다. |
| PP | AU23 + AU24 | 입술 누르기 + 입술 조이기 |
| FF | AU22 + AU28 | 입술 깔때기 + 입술 빨기 |
| TH | AU25 (mild) + AU27 | 입술 벌림 + 입 늘리기 |
| DD | AU25 + AU16 | 입술 벌림 + 하순 내림근 |
| KK | AU26 + AU14 | 턱 드롭 + 딤플러 |
| CH | AU18 + AU25 | 입술 오므리기 + 입술 벌리기 |
| SS | AU20 | 입술 늘리기 |
| NN | AU25 (very mild) | 입술이 약간 벌어짐 |
| RR | AU18 (mild) | 약한 입술 오므리기 |
| AA | AU27 + AU26 | 입술 늘리기 + 턱 내리기 |
| E | AU25 + AU12 | 입술 벌림 + 입꼬리 당김 |
| IH | AU12 + AU25 (mild) | 입꼬리 당기기 + 약간의 입술 벌림 |
| OH | AU27 (mild) + AU18 | 약한 입 늘리기 + 입술 오므리기 |
| OU | AU18 + AU26 (mild) | 입술 오므리기 + 약간의 턱 벌림 |
프레스턴 블레어 시스템은 입 모양에 설명적인 이름을 사용하는 고전적인 애니메이션 표준입니다:
| 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. 캐릭터의 스켈레탈 메시를 찾으세요.
립싱크 애니메이션에 사용할 모프 타겟(블렌드 셰이프)이 포함된 스켈레탈 메시를 찾으세요. 캐릭터 디자인에 따라 전신 메시일 수도 있고 얼굴 메시일 수도 있습니다.
2. 모프 타겟 및 커브 확인
계속 진행하기 전에, 스켈레탈 메시에 립 싱크 애니메이션에 적합한 모프 타겟과 해당 커브가 있는지 확인하세요.
모프 타겟 확인: 스켈레탈 메시에 립 싱크 애니메이션의 비지엠(viseme)으로 사용할 수 있는 모프 타겟(블렌드 셰이프)이 포함되어 있는지 확인하세요. 대부분의 얼굴 애니메이션을 지원하는 캐릭터에는 음소/비지엠 모프 타겟이 있어야 합니다.

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

일시 정지버튼을 클릭하여 애니메이션 재생을 중지하면 편집이 더 쉬워집니다.

4. 애니메이션 시퀀스 편집
시퀀서에서 편집클릭 ->FK 컨트롤 리그로 편집컨트롤 리그로 베이크대화상자에서 설정을 변경하지 않고컨트롤 리그로 베이크버튼을 클릭하세요

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

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

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



립 싱크의 품질은 특정 캐릭터와 비짐(viseme) 설정이 얼마나 잘 되어 있는지에 크게 좌우됩니다. 위의 예시들은 서로 다른 비짐 시스템을 가진 다양한 유형의 커스텀 캐릭터에서 플러그인이 작동하는 모습을 보여줍니다.