Configurazione del Plugin
Configurazione del Modello
Configurazione Standard del Modello
Il nodo Create Runtime Viseme Generator
utilizza impostazioni predefinite che funzionano bene per la maggior parte degli scenari. La configurazione viene gestita attraverso le proprietà del nodo di blending dell'Animation Blueprint.
Per le opzioni di configurazione dell'Animation Blueprint, consultare la sezione Configurazione Lip Sync di seguito.
Configurazione del Modello Realistico
Il nodo Create Realistic MetaHuman Lip Sync Generator
accetta un parametro Configuration opzionale che consente di personalizzare il comportamento del generatore:
Tipo di Modello
L'impostazione Model Type determina quale versione del modello realistico utilizzare:
Tipo di Modello | Prestazioni | Qualità Visiva | Gestione del Rumore | Casi d'Uso Consigliati |
---|---|---|---|---|
Altamente Ottimizzato (Predefinito) | Prestazioni più elevate, utilizzo CPU più basso | Buona qualità | Può mostrare movimenti della bocca evidenti con rumore di fondo o suoni non vocali | Ambienti audio puliti, scenari critici per le prestazioni |
Semi-Ottimizzato | Buone prestazioni, utilizzo CPU moderato | Alta qualità | Maggiore stabilità con audio rumoroso | Prestazioni e qualità bilanciate, condizioni audio miste |
Originale | Adatto per l'uso in tempo reale su CPU moderne | Qualità più alta | Maggiore stabilità con rumore di fondo e suoni non vocali | Produzioni di alta qualità, ambienti audio rumorosi, quando è necessaria la massima precisione |
Impostazioni delle Prestazioni
Intra Op Threads: Controlla il numero di thread utilizzati per le operazioni di elaborazione interne del modello.
- 0 (Predefinito/Automatico): Utilizza il rilevamento automatico (tipicamente 1/4 dei core CPU disponibili, massimo 4)
- 1-16: Specifica manualmente il numero di thread. Valori più alti possono migliorare le prestazioni su sistemi multi-core ma utilizzano più CPU
Inter Op Threads: Controlla il numero di thread utilizzati per l'esecuzione parallela di diverse operazioni del modello.
- 0 (Predefinito/Automatico): Utilizza il rilevamento automatico (tipicamente 1/8 dei core CPU disponibili, massimo 2)
- 1-8: Specifica manualmente il numero di thread. Di solito mantenuto basso per l'elaborazione in tempo reale
Dimensione del Blocco di Elaborazione
La Processing Chunk Size determina quanti campioni vengono elaborati in ogni passo di inferenza. Il valore predefinito è 160 campioni (10ms di audio a 16kHz):
- Valori più piccoli forniscono aggiornamenti più frequenti ma aumentano l'utilizzo della CPU
- Valori più grandi riducono il carico della CPU ma possono diminuire la reattività del lip sync
- Si consiglia di utilizzare multipli di 160 per un allineamento ottimale
Configurazione del Modello Abilitato all'Umore
Il nodo Create Realistic MetaHuman Lip Sync With Mood Generator
fornisce opzioni di configurazione aggiuntive oltre al modello realistico di base:
Configurazione di Base
Lookahead Ms: Anticipo temporale in millisecondi per una migliore precisione della sincronizzazione labiale.
- Predefinito: 80ms
- Intervallo: 20ms a 200ms (deve essere divisibile per 20)
- Valori più alti forniscono una migliore sincronizzazione ma aumentano la latenza
Tipo di Output: Controlla quali controlli facciali vengono generati.
- Faccia Completa: Tutti gli 81 controlli facciali (sopracciglia, occhi, naso, bocca, mascella, lingua)
- Solo Bocca: Solo i controlli relativi a bocca, mascella e lingua
Impostazioni Prestazioni: Utilizza le stesse impostazioni Intra Op Threads e Inter Op Threads del modello realistico regolare.
Impostazioni Umore
Umore Disponibili:
- Neutro, Felice, Triste, Disgusto, Rabbia, Sorpresa, Paura
- Sicuro, Eccitato, Annoiato, Giocoso, Confuso
Intensità Umore: Controlla quanto fortemente l'umore influisce sull'animazione (da 0.0 a 1.0)
Controllo Umore in Runtime
Puoi regolare le impostazioni dell'umore durante il runtime utilizzando le seguenti funzioni:
- Imposta Umore: Cambia il tipo di umore corrente
- Imposta Intensità Umore: Regola quanto fortemente l'umore influisce sull'animazione (da 0.0 a 1.0)
- Imposta Lookahead Ms: Modifica l'anticipo temporale per la sincronizzazione
- Imposta Tipo di Output: Passa tra i controlli Faccia Completa e Solo Bocca
Guida alla Selezione dell'Umore
Scegli umori appropriati in base al tuo contenuto:
Umore | Ideale Per | Intervallo di Intensità Tipico |
---|---|---|
Neutro | Conversazione generale, narrazione, stato predefinito | 0.5 - 1.0 |
Felice | Contenuti positivi, dialoghi allegri, celebrazioni | 0.6 - 1.0 |
Triste | Contenuti malinconici, scene emotive, momenti cupi | 0.5 - 0.9 |
Disgusto | Reazioni negative, contenuti sgradevoli, rifiuto | 0.4 - 0.8 |
Rabbia | Dialoghi aggressivi, scene di confronto, frustrazione | 0.6 - 1.0 |
Sorpresa | Eventi inaspettati, rivelazioni, reazioni di shock | 0.7 - 1.0 |
Paura | Situazioni minacciose, ansia, dialoghi nervosi | 0.5 - 0.9 |
Sicuro | Presentazioni professionali, dialoghi di leadership, discorsi assertivi | 0.7 - 1.0 |
Eccitato | Contenuti energici, annunci, dialoghi entusiastici | 0.8 - 1.0 |
Annoiato | Contenuti monotoni, dialoghi disinteressati, discorsi stanchi | 0.3 - 0.7 |
Giocoso | Conversazioni informali, umorismo, interazioni spensierate | 0.6 - 0.9 |
Confuso | Dialoghi ricchi di domande, incertezza, sconcerto | 0.4 - 0.8 |
Configurazione Animation Blueprint
Configurazione Sincronizzazione Labiale
- Modello Standard
- Modelli Realistici
Il nodo Blend Runtime MetaHuman Lip Sync
ha opzioni di configurazione nel suo pannello delle proprietà:
Proprietà | Predefinito | Descrizione |
---|---|---|
Velocità di Interpolazione | 25 | Controlla la rapidità con cui i movimenti labiali transitano tra i visemi. Valori più alti risultano in transizioni più veloci e brusche. |
Tempo di Reset | 0.2 | La durata in secondi dopo la quale il lip sync viene resettato. È utile per prevenire che il lip sync continui dopo che l'audio si è fermato. |
Il nodo Blend Realistic MetaHuman Lip Sync
ha opzioni di configurazione nel suo pannello delle proprietà:
Proprietà | Predefinito | Descrizione |
---|---|---|
Velocità di Interpolazione | 30 | Controlla la rapidità con cui le espressioni facciali transitano durante la parola attiva. Valori più alti risultano in transizioni più veloci e brusche. |
Velocità di Interpolazione a Riposo | 15 | Controlla la rapidità con cui le espressioni facciali ritornano allo stato di riposo/neutro. Valori più bassi creano ritorni più fluidi e graduali alla posa di riposo. |
Tempo di Reset | 0.2 | Durata in secondi dopo la quale il lip sync si resetta allo stato di riposo. Utile per prevenire che le espressioni continuino dopo che l'audio si è fermato. |
Preserva Stato di Riposo | false | Quando abilitato, preserva l'ultimo stato emotivo durante i periodi di riposo invece di resettare al neutro. |
Preserva Espressioni Oculari | true | Controlla se i controlli facciali relativi agli occhi sono preservati durante lo stato di riposo. Efficace solo quando Preserva Stato di Riposo è abilitato. |
Preserva Espressioni delle Sopracciglia | true | Controlla se i controlli facciali relativi alle sopracciglia sono preservati durante lo stato di riposo. Efficace solo quando Preserva Stato di Riposo è abilitato. |
Preserva Forma della Bocca | false | Controlla se i controlli della forma della bocca (escludendo i movimenti specifici del parlato come lingua e mandibola) sono preservati durante lo stato di riposo. Efficace solo quando Preserva Stato di Riposo è abilitato. |
Conservazione dello Stato di Riposo
La funzionalità Preserva Stato di Riposo affronta come il modello Realistico gestisce i periodi di silenzio. A differenza del modello Standard che utilizza visemi discreti e ritorna costantemente a valori zero durante il silenzio, la rete neurale del modello Realistico può mantenere un posizionamento facciale sottile che differisce dalla posa di riposo predefinita del MetaHuman.
Quando Abilitare:
- Mantenere espressioni emotive tra segmenti di parlato
- Preservare tratti di personalità del personaggio
- Garantire continuità visiva in sequenze cinematografiche
Opzioni di Controllo Regionale:
- Espressioni Oculari: Preserva lo strizzamento, l'allargamento degli occhi e il posizionamento delle palpebre
- Espressioni delle Sopracciglia: Mantiene il posizionamento delle sopracciglia e della fronte
- Forma della Bocca: Mantiene la curvatura generale della bocca mentre permette ai movimenti del parlato (lingua, mandibola) di resettarsi
Animazione della Risata
Puoi anche aggiungere animazioni di risata che risponderanno dinamicamente alla risata rilevata nell'audio:
- Aggiungi il nodo
Blend Runtime MetaHuman Laughter
- Collega la tua variabile
RuntimeVisemeGenerator
al pinViseme Generator
- Se stai già utilizzando la sincronizzazione labiale:
- Collega l'output dal nodo
Blend Runtime MetaHuman Lip Sync
alSource Pose
del nodoBlend Runtime MetaHuman Laughter
- Collega l'output del nodo
Blend Runtime MetaHuman Laughter
al pinResult
dell'Output Pose
- Collega l'output dal nodo
- Se utilizzi solo la risata senza sincronizzazione labiale:
- Collega la tua posa sorgente direttamente al
Source Pose
del nodoBlend Runtime MetaHuman Laughter
- Collega l'output al pin
Result
- Collega la tua posa sorgente direttamente al
Quando viene rilevata della risata nell'audio, il tuo personaggio si animerà dinamicamente di conseguenza:
Configurazione della Risata
Il nodo Blend Runtime MetaHuman Laughter
ha le sue opzioni di configurazione:
Proprietà | Predefinito | Descrizione |
---|---|---|
Velocità di Interpolazione | 25 | Controlla la rapidità con cui i movimenti labiali transitano tra le animazioni di risata. Valori più alti risultano in transizioni più veloci e brusche. |
Tempo di Reset | 0.2 | La durata in secondi dopo la quale la risata viene resettata. È utile per evitare che la risata continui dopo che l'audio si è fermato. |
Peso Massimo della Risata | 0.7 | Scala l'intensità massima dell'animazione della risata (0.0 - 1.0). |
Nota: Il rilevamento della risata è attualmente disponibile solo con il Modello Standard.
Combinazione con Animazioni Esistenti
Per applicare la sincronizzazione labiale e la risata insieme ad animazioni corporee esistenti e animazioni facciali personalizzate senza sovrascriverle:
- Aggiungi un nodo
Layered blend per bone
tra le tue animazioni corporee e l'output finale. Assicurati cheUse Attached Parent
sia vero. - Configura l'impostazione del layer:
- Aggiungi 1 elemento all'array
Layer Setup
- Aggiungi 3 elementi ai
Branch Filters
per il layer, con i seguentiBone Name
:FACIAL_C_FacialRoot
FACIAL_C_Neck2Root
FACIAL_C_Neck1Root
- Aggiungi 1 elemento all'array
- Importante per le animazioni facciali personalizzate: In
Curve Blend Option
, seleziona "Use Max Value". Questo permette alle animazioni facciali personalizzate (espressioni, emozioni, ecc.) di essere stratificate correttamente sopra la sincronizzazione labiale. - Effettua le connessioni:
- Animazioni esistenti (come
BodyPose
) → ingressoBase Pose
- Output dell'animazione facciale (dai nodi di sincronizzazione labiale e/o risata) → ingresso
Blend Poses 0
- Nodo di blend stratificato → Posa
Result
finale
- Animazioni esistenti (come
Perfezionamento del Comportamento della Sincronizzazione Labiale
Controllo della Protrusione della Lingua
Nel modello standard di sincronizzazione labiale, potresti notare un movimento eccessivo della lingua in avanti durante certi fonemi. Per controllare la protrusione della lingua:
- Dopo il tuo nodo di blend della sincronizzazione labiale, aggiungi un nodo
Modify Curve
- Fai clic con il tasto destro sul nodo
Modify Curve
e seleziona Aggiungi Pin Curva - Aggiungi un pin curva con il nome
CTRL_expressions_tongueOut
- Imposta la proprietà Modalità Applicazione del nodo su Scala
- Regola il parametro Valore per controllare l'estensione della lingua (ad esempio, 0.8 per ridurre la protrusione del 20%)
Controllo Apertura Mascella
La sincronizzazione labiale realistica può produrre movimenti della mascella eccessivamente reattivi a seconda del tuo contenuto audio e delle tue esigenze visive. Per regolare l'intensità dell'apertura della mascella:
- Dopo il tuo nodo di blend della sincronizzazione labiale, aggiungi un nodo
Modify Curve
- Fai clic con il tasto destro sul nodo
Modify Curve
e seleziona Aggiungi Pin Curva - Aggiungi un pin curva con il nome
CTRL_expressions_jawOpen
- Imposta la proprietà Modalità Applicazione del nodo su Scala
- Regola il parametro Valore per controllare l'ampiezza dell'apertura della mascella (ad esempio, 0.9 per ridurre il movimento della mascella del 10%)
Affinamento Specifico per Umore
Per i modelli abilitati all'umore, puoi affinare espressioni emotive specifiche:
Controllo Sopracciglia:
CTRL_expressions_browRaiseInL
/CTRL_expressions_browRaiseInR
- Sollevamento sopracciglia internoCTRL_expressions_browRaiseOuterL
/CTRL_expressions_browRaiseOuterR
- Sollevamento sopracciglia esternoCTRL_expressions_browDownL
/CTRL_expressions_browDownR
- Abbassamento sopracciglia
Controllo Espressione Occhi:
CTRL_expressions_eyeSquintInnerL
/CTRL_expressions_eyeSquintInnerR
- Strizzamento occhiCTRL_expressions_eyeCheekRaiseL
/CTRL_expressions_eyeCheekRaiseR
- Sollevamento guancia
Confronto e Selezione Modelli
Scelta tra Modelli
Quando decidi quale modello di sincronizzazione labiale usare per il tuo progetto, considera questi fattori:
Considerazione | Modello Standard | Modello Realistico | Modello Realistico con Umore |
---|---|---|---|
Compatibilità Personaggio | MetaHumans e tutti i tipi di personaggio personalizzati | Solo MetaHumans | Solo MetaHumans |
Qualità Visiva | Buona sincronizzazione labiale con prestazioni efficienti | Realismo potenziato con movimenti della bocca più naturali | Realismo potenziato con espressioni emotive |
Prestazioni | Ottimizzato per tutte le piattaforme inclusi mobile/VR | Requisiti di risorse più elevati | Requisiti di risorse più elevati |
Caratteristiche | 14 visemi, rilevamento risata | 81 controlli facciali, 3 livelli di ottimizzazione | 81 controlli facciali, 12 umori, output configurabile |
Supporto Piattaforma | Windows, Android, Quest | Windows, Mac, iOS, Linux | Windows, Mac, iOS, Linux |
Casi d'Uso | Applicazioni generali, giochi, VR/AR, mobile | Esperienze cinematografiche, interazioni ravvicinate | Storytelling emotivo, interazione avanzata con i personaggi |
Compatibilità Versione Motore
Se stai utilizzando Unreal Engine 5.2, i Modelli Realistici potrebbero non funzionare correttamente a causa di un bug nella libreria di ricampionamento di UE. Per gli utenti di UE 5.2 che necessitano di una funzionalità di lip sync affidabile, si prega di utilizzare il Modello Standard invece.
Questo problema è specifico per UE 5.2 e non influisce su altre versioni del motore.
Raccomandazioni sulle Prestazioni
- Per la maggior parte dei progetti, il Modello Standard fornisce un eccellente equilibrio tra qualità e prestazioni
- Utilizza il Modello Realistico quando hai bisogno della massima fedeltà visiva per i personaggi MetaHuman
- Utilizza il Modello Realistico con Umore quando il controllo dell'espressione emotiva è importante per la tua applicazione
- Considera le capacità prestazionali della piattaforma di destinazione quando scegli tra i modelli
- Prova diversi livelli di ottimizzazione per trovare il miglior equilibrio per il tuo caso d'uso specifico
Compatibilità TTS
Tipo Modello | Supporto TTS Locale (tramite Runtime Text To Speech) | Supporto TTS Esterno | Note |
---|---|---|---|
Modello Standard | ✅ Supporto completo | ✅ Supporto completo | Compatibile con tutte le opzioni TTS |
Modello Realistico | ❌ Supporto limitato | ✅ Supporto completo | Conflitti runtime ONNX con TTS locale |
Modello Realistico con Umore | ✅ Supporto completo | ✅ Supporto completo | Compatibile con tutte le opzioni TTS |
Risoluzione dei Problemi
Problemi Comuni
Ricreazione del Generatore per Modelli Realistici: Per un funzionamento affidabile e coerente con i Modelli Realistici, si raccomanda di ricreare il generatore ogni volta che si desidera fornire nuovi dati audio dopo un periodo di inattività. Ciò è dovuto al comportamento del runtime ONNX che può causare l'arresto del lip sync quando si riutilizzano i generatori dopo periodi di silenzio.
Compatibilità TTS Locale: Il TTS locale fornito dal plugin Runtime Text To Speech non è attualmente supportato con il modello Realistico regolare a causa di conflitti del runtime ONNX. Tuttavia, è completamente compatibile sia con il modello Standard che con il modello Realistico con Umore. Utilizza servizi TTS esterni se hai specificamente bisogno del modello Realistico regolare con funzionalità TTS.
Responsività del Lip Sync Degradata: Se riscontri che il lip sync diventa meno reattivo nel tempo quando utilizzi Streaming Sound Wave o Capturable Sound Wave, ciò potrebbe essere causato da un accumulo di memoria. Per impostazione predefinita, la memoria viene riallocata ogni volta che viene aggiunto nuovo audio. Per prevenire questo problema, chiama la funzione ReleaseMemory periodicamente per liberare la memoria accumulata, ad esempio ogni 30 secondi circa.
Ottimizzazione delle Prestazioni:
- Regola la Dimensione del Blocco di Elaborazione per i modelli Realistici in base alle tue esigenze prestazionali
- Utilizza un numero appropriato di thread per il tuo hardware di destinazione
- Considera di utilizzare il tipo di output Solo Bocca per i modelli con umore quando l'animazione facciale completa non è necessaria