Come utilizzare il plugin con personaggi personalizzati
Questa guida ti accompagna attraverso il processo di configurazione di Runtime MetaHuman Lip Sync per personaggi non-MetaHuman. Questo processo richiede familiarità con i concetti di animazione e rigging. Se hai bisogno di assistenza nell'implementazione per il tuo personaggio specifico, puoi richiedere supporto professionale a [email protected].
Nota importante sui modelli di lip sync
I personaggi personalizzati sono supportati solo con il modello Standard (Più Veloce).
Il modello Realistic (Qualità Superiore) è progettato esclusivamente per personaggi MetaHuman e non può essere utilizzato con personaggi personalizzati. In tutta questa guida, dovresti seguire le istruzioni del modello Standard dalla guida di configurazione principale quando vengono referenziate.
Plugin di Estensione Richiesto: Per utilizzare il Modello Standard con personaggi personalizzati, devi installare il plugin di estensione Standard Lip Sync come descritto nella sezione Prerequisiti della guida di configurazione principale.
Questa estensione è richiesta per tutte le implementazioni di personaggi personalizzati descritte in questa guida.
Prerequisiti
Prima di iniziare, assicurati che il tuo personaggio soddisfi questi requisiti:
- Possiede uno scheletro valido
- Contiene morph target (blend shapes) per le espressioni facciali
- Idealmente possiede 10+ morph target che definiscono i visemi (più visemi = migliore qualità del lip sync)
Il plugin richiede di mappare i morph target del tuo personaggio ai seguenti visemi standard:
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)
Nota: Se il tuo personaggio ha un set diverso di visemi (cosa probabile), non hai bisogno di corrispondenze esatte per ogni visema. Le approssimazioni sono spesso sufficienti - ad esempio, mappare il visema SH
del tuo personaggio al visema CH
del plugin funzionerebbe efficacemente poiché sono suoni postalveolari strettamente correlati.
Riferimento per la mappatura dei visemi
Ecco le mappature tra i sistemi di visemi comuni e i visemi richiesti dal plugin:
- Apple ARKit
- Sistemi basati su FACS
- Preston Blair System
- 3ds Max Phoneme System
- Custom Characters (Daz Genesis 8/9, Reallusion CC3/CC4, Mixamo, ReadyPlayerMe)
ARKit fornisce un set completo di blendshape per l'animazione facciale, incluse diverse forme della bocca. Ecco come mapparle ai visemi di RuntimeMetaHumanLipSync:
Visema RuntimeMetaHumanLipSync | Equivalente ARKit | Note |
---|---|---|
Sil | mouthClose | La posizione neutra/di riposo |
PP | mouthPressLeft + mouthPressRight | Per i suoni bilabiali, usa entrambe le forme di pressione insieme |
FF | lowerLipBiteLeft + lowerLipBiteRight (o mouthRollLower) | Il labbro inferiore tocca i denti superiori, come nei suoni "f" e "v" |
TH | tongueOut | ARKit ha il controllo diretto della lingua |
DD | jawOpen (leggero) + tongueUp (se hai un rig della lingua) | La lingua tocca la cresta alveolare; leggera discesa della mandibola |
KK | mouthLeft o mouthRight (leggero) | Una leggera trazione degli angoli della bocca approssima i suoni velari |
CH | jawOpen (leggero) + mouthFunnel (leggero) | Combina per i suoni postalveolari |
SS | mouthFrown | Usa un leggero aggrottamento per le sibilanti |
NN | jawOpen (molto leggero) + mouthClose | Bocca quasi chiusa con leggera apertura della mandibola |
RR | mouthPucker (leggero) | Arrotondamento leggero per i suoni della r |
AA | jawOpen + mouthStretchLeft + mouthStretchRight (o jawOpen + mouthOpen) | Bocca spalancata per il suono "ah" |
E | jawOpen (leggero) + mouthSmile | Posizione mediamente aperta con un leggero sorriso |
IH | mouthSmile (leggero) | Leggera distensione delle labbra |
OH | mouthFunnel | Forma arrotondata e aperta |
OU | mouthPucker | Labbra strettamente arrotondate |
FACS (Facial Action Coding System) utilizza le Unità di Azione (AU) per descrivere i movimenti facciali. Molti sistemi di animazione professionale utilizzano approcci basati su FACS:
Visema RuntimeMetaHumanLipSync | Unità di Azione FACS | Note |
---|---|---|
Sil | Neutrale | Nessuna AU attiva |
PP | AU23 + AU24 | Pressore labiale + serratore labiale |
FF | AU22 + AU28 | Infunzionalizzatore labiale + succhiatore labiale |
TH | AU25 (leggera) + AU27 | Labbra separate + allungamento della bocca |
DD | AU25 + AU16 | Labbra separate + depressore del labbro inferiore |
KK | AU26 + AU14 | Discesa della mandibola + increspatore |
CH | AU18 + AU25 | Arrotondatore labiale + labbra separate |
SS | AU20 | Stiratore labiale |
NN | AU25 (molto leggera) | Leggere labbra separate |
RR | AU18 (leggera) | Leggero arrotondamento labiale |
AA | AU27 + AU26 | Allungamento della bocca + discesa della mandibola |
E | AU25 + AU12 | Labbra separate + tiratore dell'angolo labiale |
IH | AU12 + AU25 (leggera) | Tiratore dell'angolo labiale + leggere labbra separate |
OH | AU27 (leggera) + AU18 | Leggero allungamento della bocca + arrotondamento labiale |
OU | AU18 + AU26 (leggera) | Arrotondamento labiale + leggera discesa della mandibola |
Il sistema Preston Blair è uno standard classico dell'animazione che utilizza nomi descrittivi per le forme della bocca:
RuntimeMetaHumanLipSync Viseme | Preston Blair | Note |
---|---|---|
Sil | Rest | Posizione neutra della bocca chiusa |
PP | MBP | La classica forma della bocca "MBP" |
FF | FV | La posizione "FV" con i denti sul labbro inferiore |
TH | TH | Lingua che tocca i denti anteriori |
DD | D/T/N | Posizione simile per queste consonanti |
KK | CKG | Posizione delle consonanti dure |
CH | CH/J/SH | Leggero broncio per questi suoni |
SS | S/Z | Posizione dei denti leggermente aperta |
NN | N/NG/L | Simile a D/T ma con diversa posizione della lingua |
RR | R | Labbra arrotondate per il suono R |
AA | AI | Bocca spalancata |
E | EH | Bocca mediamente aperta |
IH | EE | Labbra distese |
OH | OH | Apertura media arrotondata |
OU | OO | Labbra strettamente arrotondate |
3ds Max utilizza un sistema basato sui fonemi per il suo character studio:
RuntimeMetaHumanLipSync Viseme | 3ds Max Phoneme | Note |
---|---|---|
Sil | rest | Posizione predefinita della bocca |
PP | p_b_m | Equivalente diretto |
FF | f_v | Equivalente diretto |
TH | th | Equivalente diretto |
DD | t_d | Equivalente diretto |
KK | k_g | Equivalente diretto |
CH | sh_zh_ch | Forma combinata |
SS | s_z | Equivalente diretto |
NN | n_l | Combinato per questi suoni |
RR | r | Equivalente diretto |
AA | ah | Suono vocale aperto |
E | eh | Vocale media |
IH | ee | Vocale anteriore chiusa |
OH | oh | Vocale posteriore arrotondata |
OU | oo | Vocale posteriore chiusa |
I personaggi personalizzati con visemi o morph target/blend shape della bocca (Daz Genesis 8/9, Reallusion CC3/CC4, Mixamo, ReadyPlayerMe, ecc.) possono tipicamente essere mappati sul sistema di visemi del plugin con approssimazioni ragionevoli.
Creazione di un Pose Asset personalizzato
Segui questi passaggi per creare un pose asset personalizzato per il tuo personaggio che verrà utilizzato con il nodo Blend Runtime MetaHuman Lip Sync
:
1. Individua la Skeletal Mesh del tuo personaggio
Trova la skeletal mesh che contiene i morph target (blend shape) che desideri utilizzare per l'animazione lip sync. Potrebbe trattarsi di una mesh completa del corpo o solo di una mesh del viso, a seconda del design del tuo personaggio.
2. Verifica Morph Target e Curve
Prima di procedere, controlla che la tua skeletal mesh abbia morph target appropriati e curve corrispondenti per l'animazione lip sync.
Controlla i Morph Target:
Verifica che la tua skeletal mesh contenga morph target (blend shape) che possano essere utilizzati come visemi per l'animazione lip sync. La maggior parte dei personaggi con supporto per l'animazione facciale dovrebbe avere alcuni morph target per fonemi/visemi.
Importante: Verifica la Scheda Curve Questo passaggio è particolarmente cruciale per i personaggi esportati da Blender o altri software esterni:
- Apri la scheda Curve nell'editor Skeletal Mesh
- Controlla se riesci a vedere le curve corrispondenti ai tuoi morph target
- Se la scheda Curve è vuota ma esistono morph target, aggiungi manualmente nuove curve usando esattamente gli stessi nomi dei tuoi morph target
Nota: Questo problema si verifica comunemente con le esportazioni da Blender dove i morph target vengono importati con successo ma le curve di animazione non vengono create automaticamente. Senza curve corrispondenti, l'animazione non si popolerà correttamente dopo il baking su Control Rig.
Soluzione Alternativa: Per prevenire questo problema durante l'esportazione da Blender, prova ad abilitare Custom Properties e Animation nelle impostazioni di esportazione FBX, il che potrebbe aiutare a includere le curve di animazione insieme ai morph target.
3. Crea un'Animazione di Posa di Riferimento
- Vai su
Crea Asset -> Crea Animazione -> Posa di Riferimento
- Inserisci un nome descrittivo per la sequenza di animazione e salvala in una posizione appropriata
- La Sequenza di Animazione creata si aprirà automaticamente, mostrando un'animazione vuota in riproduzione a ciclo continuo
- Clicca il pulsante
Pausa
per fermare la riproduzione dell'animazione per una modifica più semplice
4. Modifica la Sequenza di Animazione
- Clicca su
Modifica in Sequencer
->Modifica con FK Control Rig
- Nella finestra di dialogo
Bake to Control Rig
, clicca il pulsanteBake to Control Rig
senza cambiare alcuna impostazione
- L'editor passerà alla
Modalità Animazione
con la schedaSequencer
aperta - Imposta il
View Range End Time
a 0016 (che imposterà automaticamente ancheWorking Range End
a 0016) - Trascina il bordo destro dello slider all'estremità destra della finestra del sequencer
5. Prepara le Curve di Animazione
- Torna all'asset Sequenza di Animazione e individua i morph target nella lista
Curves
(se non sono visibili, chiudi e riapri l'asset Sequenza di Animazione) - Rimuovi tutti i morph target che non sono correlati ai visemi o ai movimenti della bocca che desideri utilizzare per il lip sync
6. Pianifica il tuo mapping dei visemi
Crea un piano di mappatura per associare i visemi del tuo personaggio all'insieme richiesto dal plugin. Ad esempio:
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
Nota che è accettabile avere mappature ripetute quando il set di visemi del tuo personaggio non ha corrispondenze esatte per ogni visema richiesto.
7. Anima ogni visema
- Per ogni visema, anima le curve del morph target rilevanti da 0.0 a 1.0
- Inizia ogni animazione del visema su un frame diverso
- Configura curve aggiuntive secondo necessità (apertura della mascella/bocca, posizione della lingua, ecc.) per creare forme di visemi dall'aspetto naturale
8. Crea un Asset di Pose
- Vai su
Crea Asset
->Asset di Pose
->Animazione Corrente
- Inserisci un nome descrittivo per l'Asset di Pose e salvalo in una posizione appropriata
- L'Asset di Pose creato si aprirà automaticamente, mostrando pose come
Pose_0
,Pose_1
, ecc., ciascuna corrispondente a un visema - Anteprima i pesi dei visemi per assicurarti che funzionino come previsto
9. Finalizza l'Asset di Pose
- Rinomina ogni pose per far corrispondere i nomi dei visemi dalla sezione Prerequisiti
- Elimina tutte le pose non utilizzate
设置音频处理和混合
准备好您的姿势资源后,您需要设置音频处理和混合节点:
- 找到或创建您角色的动画蓝图
- 按照标准插件设置指南中记录的相同步骤设置音频处理和混合
- 在
Blend Runtime MetaHuman Lip Sync
节点中,选择您的自定义姿势资源而不是默认的MetaHuman姿势资源
与身体动画结合
如果您想要在播放其他身体动画的同时进行唇形同步:
- 按照标准插件指南中记录的相同步骤操作
- 确保为您角色的颈部骨骼提供正确的骨骼名称,而不是使用MetaHuman的骨骼名称
结果
以下是使用此设置的自定义角色示例:
唇形同步的质量很大程度上取决于特定角色及其视位设置的好坏。上面的示例展示了该插件与具有不同视位系统的各种类型自定义角色的配合使用。