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 tramite 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: Tempo di anticipo in millisecondi per una maggiore precisione nella 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 (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 (0.0 a 1.0)
- Imposta Lookahead Ms: Modifica il tempo di anticipo 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
- Standard Model
- Realistic Models
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 delle labbra 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 evitare 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 i movimenti delle labbra transitano tra le posizioni. 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 evitare che il lip sync continui dopo che l'audio si è fermato. |
Nota: Lo stesso nodo Animation Blueprint viene utilizzato sia per i modelli realistici regolari che per quelli abilitati all'umore.
Animazione della Risata
Puoi anche aggiungere animazioni della 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 il lip sync:
- 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 lip sync:
- 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 delle labbra transitano tra le animazioni della 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 alle animazioni del corpo esistenti e alle animazioni facciali personalizzate senza sovrascriverle:
- Aggiungi un nodo
Layered blend per bone
tra le tue animazioni del corpo e l'output finale. Assicurati cheUse Attached Parent
sia impostato su true. - 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". Ciò consente 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 layered blend → 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 eccessivo movimento in avanti della lingua 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 Add Curve Pin - Aggiungi un curve pin con il nome
CTRL_expressions_tongueOut
- Imposta la proprietà Apply Mode del nodo su Scale
- Regola il parametro Value per controllare l'estensione della lingua (ad esempio, 0.8 per ridurre la protrusione del 20%)
Controllo dell'Apertura della Mascella
La sincronizzazione labiale realistica può produrre movimenti della mascella eccessivamente reattivi a seconda del contenuto audio e dei requisiti visivi. 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 Add Curve Pin - Aggiungi un curve pin con il nome
CTRL_expressions_jawOpen
- Imposta la proprietà Apply Mode del nodo su Scale
- Regola il parametro Value per controllare l'ampiezza dell'apertura della mascella (ad esempio, 0.9 per ridurre il movimento della mascella del 10%)
Perfezionamento Specifico per Umore
Per i modelli abilitati all'umore, puoi perfezionare espressioni emotive specifiche:
Controllo Sopracciglia:
CTRL_L_brow_raiseIn.ty
/CTRL_R_brow_raiseIn.ty
- Sollevamento sopracciglia internoCTRL_L_brow_raiseOut.ty
/CTRL_R_brow_raiseOut.ty
- Sollevamento sopracciglia esternoCTRL_L_brow_down.ty
/CTRL_R_brow_down.ty
- Abbassamento sopracciglia
Controllo Espressione Occhi:
CTRL_L_eye_squintInner.ty
/CTRL_R_eye_squintInner.ty
- Strizzamento degli occhiCTRL_L_eye_cheekRaise.ty
/CTRL_R_eye_cheekRaise.ty
- Sollevamento guancia
Confronto e Selezione del Modello
Scelta tra i Modelli
Quando si decide quale modello di sincronizzazione labiale utilizzare per il proprio progetto, considerare questi fattori:
Considerazione | Modello Standard | Modello Realistico | Modello Realistico con Umore |
---|---|---|---|
Compatibilità Personaggi | 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 risate | 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 Engine
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 sincronizzazione labiale affidabile, si prega di utilizzare il Modello Standard invece.
Questo problema è specifico per UE 5.2 e non influisce sulle altre versioni dell'engine.
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 target 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 del 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 della sincronizzazione labiale 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 con il runtime ONNX. Tuttavia, è completamente compatibile sia con il modello Standard che con il modello Realistico abilitato all'umore. Utilizza servizi TTS esterni se hai specificamente bisogno del modello Realistico regolare con funzionalità TTS.
Ottimizzazione delle Prestazioni:
- Regola la Dimensione del Blocco di Elaborazione per i modelli Realistici in base alle tue esigenze di prestazione
- Utilizza conteggi di thread appropriati per il tuo hardware di destinazione
- Considera l'uso del tipo di output Solo Bocca per i modelli abilitati all'umore quando l'animazione facciale completa non è necessaria