커스텀 캐릭터와 함께 플러그인을 사용하는 방법
이 가이드는 비(非)메타휴먼 캐릭터를 위해 Runtime MetaHuman Lip Sync를 설정하는 과정을 안내합니다. 이 과정은 애니메이션 개념과 리깅에 대한 이해가 필요합니다. 특정 캐릭터에 이를 구현하는 데 도움이 필요하면 [email protected]로 전문 지원을 요청할 수 있습니다.
립싱크 모델 관련 중요 참고 사항
이 가이드는 MetaHuman 또는 ARKit 모프 타깃 명명 규칙을 사용하지 않는 사용자 지정 캐릭터를 다룹니다.
Realistic(고품질) 모델은 모프 타깃이 MetaHuman 또는 ARKit 네이밍 규칙을 따르는 캐릭터와 함께 작동하며, 모프 타깃 세트 선택으로 구성할 수 있습니다. 캐릭터가 이미 ARKit 표준 블렌드셰이프 이름을 사용하거나 해당 이름을 사용하도록 내보내기/변환할 수 있다면, 이 가이드의 수동 매핑 절차를 따르지 않고도 Realistic 모델을 사용할 수 있습니다. CC4/CC5나 Daz Genesis 같은 일반적인 캐릭터에 대해서는 캐릭터를 ARKit 블렌드셰이프로 변환을 참조하세요.
캐릭터가 다른 모프 타깃 세트를 사용하는 경우(예: Daz Genesis, Reallusion CC3/CC4/CC5, Mixamo 또는 단순화된 커스텀 리그), 아래 단계에 따라 Standard (Faster) 모델이 지원되는 옵션입니다.
확장 플러그인 필요: 커스텀 캐릭터에서 Standard Model을 사용하려면, 메인 설정 가이드의 사전 요구 사항 섹션에 설명된 대로 Standard Lip Sync Extension 플러그인을 설치해야 합니다.
이 확장 기능은 이 가이드에 설명된 모든 사용자 지정 캐릭터 구현에 필수입니다.
사전 준비사항
시작하기 전에 캐릭터가 다음 요구 사항을 충족하는지 확인하세요:
- 유효한 스켈레톤이 있어야 합니다.
- 얼굴 표정을 위한 모프 타겟(블렌드 셰이프)을 포함해야 합니다.
- 이상적으로는 비지엠을 정의하는 모프 타겟이 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 비지엠에 매핑하면 효과적으로 작동할 것입니다. 둘 다 밀접하게 관련된 치경후음 소리이기 때문입니다.
Viseme 매핑 참조
다음은 일반적인 viseme 시스템과 플러그인에서 요구하는 viseme 간의 매핑입니다:
- Apple ARKit
- FACS 기반 시스템
- Preston Blair System
- 3ds Max 음소 시스템
- 커스텀 캐릭터 (Daz Genesis 8/9, Reallusion CC3/CC4/CC5, Mixamo)
ARKit은 얼굴 애니메이션을 위한 포괄적인 블렌드 셰이프 세트를 제공하며, 여기에는 여러 가지 입 모양이 포함됩니다. 이를 RuntimeMetaHumanLipSync 비젬에 매핑하는 방법은 다음과 같습니다.
| RuntimeMetaHumanLipSync 비젬 | ARKit에 해당하는 기능 | 메모 |
|---|---|---|
| Sil | mouthClose | 중립/휴식 포즈 |
| PP | mouthPressLeft + mouthPressRight | 양순음의 경우 두 프레스 셰이프를 함께 사용하세요. |
| FF | lowerLipBiteLeft + lowerLipBiteRight (or 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(Facial Action Coding System)는 Action Units(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) | 입술 오므림 + 가벼운 턱 벌림 |
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는 Character Studio에 음소 기반 시스템을 사용합니다:
| 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 | 후설 폐모음 |
viseme 또는 입 블렌드 셰이프/모프 타깃을 가진 커스텀 캐릭터(Daz Genesis 8/9, Reallusion CC3/CC4/CC5, Mixamo 등)는 일반적으로 합리적인 근사치를 통해 플러그인의 viseme 시스템에 매핑될 수 있습니다.
커스텀 포즈 애셋 만들기
캐릭터에 사용할 사용자 지정 포즈 애셋을 생성하려면 다음 단계를 따르세요. 이 포즈 애셋은 Blend Runtime MetaHuman Lip Sync 노드와 함께 사용됩니다.
1. 캐릭터의 스켈레탈 메시를 찾습니다.
립싱크 애니메이션에 사용할 모프 타깃(블렌드 셰이프)이 포함된 스켈레탈 메시를 찾으세요. 캐릭터 디자인에 따라 전체 바디 메시일 수도 있고 얼굴 메시일 수도 있습니다.
2. 모프 타겟과 커브 확인
진행하기 전에, 스켈레탈 메시에 립싱크 애니메이션에 적합한 모프 타깃과 해당 커브가 있는지 확인하십시오.
모프 타겟 확인: 스켈레탈 메시에 립 싱크 애니메이션용 비지엠(viseme)으로 사용할 수 있는 모프 타겟(블렌드 셰이프)이 포함되어 있는지 확인하세요. 얼굴 애니메이션을 지원하는 대부분의 캐릭터에는 음소/비지엠 모프 타겟이 어느 정도 있어야 합니다.

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

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

4. 애니메이션 시퀀스 편집
Sequencer에서 편집->FK Control Rig로 편집을 클릭하세요.Bake to Control Rig대화 상자에서 아무 설정도 변경하지 말고Bake to Control Rig버튼을 클릭하세요.

Sequencer탭이 열린 상태에서 에디터가Animation Mode로 전환됩니다.View Range End Time을 0016으로 설정합니다(그러면Working Range End도 자동으로 0016으로 설정됩니다).- 슬라이더의 오른쪽 가장자리를
Sequencer창의 오른쪽 끝으로 드래그합니다.
5. 애니메이션 커브 준비
- Animation Sequence 애셋으로 돌아가
Curves목록에서 모프 타깃을 찾으세요(보이지 않으면 Animation Sequence 애셋을 닫았다가 다시 여세요). - 립 싱크에 사용하려는 viseme 또는 입 움직임과 관련이 없는 모프 타깃은 모두 제거하세요.
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. 각 비짐에 애니메이션을 적용합니다.
- 각 비젬에 대해 관련 모프 타깃 커브에 0.0에서 1.0으로 애니메이션을 적용하세요.
- 각 비젬 애니메이션을 서로 다른 프레임에서 시작하세요.
- 자연스러운 비젬 형태를 만들기 위해 필요에 따라 추가 커브(턱/입 벌림, 혀 위치 등)를 구성하세요.
8. 포즈 애셋 생성
에셋 생성->포즈 에셋->현재 애니메이션으로 이동하세요.- 포즈 에셋을 잘 나타내는 이름을 입력하고 적절한 위치에 저장하세요.
- 생성된 포즈 에셋은 자동으로 열리며,
Pose_0,Pose_1등과 같은 포즈가 표시되고, 각 포즈는 하나의 비짐에 해당합니다. - 비짐 가중치를 미리 봐서 예상대로 작동하는지 확인하세요.

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

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



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