Passa al contenuto principale

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 ModelloPrestazioniQualità VisivaGestione del RumoreCasi d'Uso Consigliati
Altamente Ottimizzato (Predefinito)Prestazioni più elevate, utilizzo CPU più bassoBuona qualitàPuò mostrare movimenti della bocca evidenti con rumore di fondo o suoni non vocaliAmbienti audio puliti, scenari critici per le prestazioni
Semi-OttimizzatoBuone prestazioni, utilizzo CPU moderatoAlta qualitàMaggiore stabilità con audio rumorosoPrestazioni e qualità bilanciate, condizioni audio miste
OriginaleAdatto per l'uso in tempo reale su CPU moderneQualità più altaMaggiore stabilità con rumore di fondo e suoni non vocaliProduzioni 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

Impostazione della Dimensione del Blocco di Elaborazione

Configurazione del Modello con Umore

Il nodo Create Realistic MetaHuman Lip Sync With Mood Generator fornisce opzioni di configurazione aggiuntive oltre al modello realistico di base:

Configurazione Base

Lookahead Ms: Tempo di anticipo in millisecondi per una maggiore 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 dell'Umore

Umidi 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 dell'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 il tempo di anticipo per la sincronizzazione
  • Imposta Tipo di Output: Passa tra i controlli Faccia Completa e Solo Bocca

Configurazione Umore

Guida alla Selezione dell'Umore

Scegli gli umori appropriati in base al tuo contenuto:

UmoreIdeale PerIntervallo di Intensità Tipico
NeutroConversazione generale, narrazione, stato predefinito0.5 - 1.0
FeliceContenuti positivi, dialoghi allegri, celebrazioni0.6 - 1.0
TristeContenuti malinconici, scene emotive, momenti seri0.5 - 0.9
DisgustoReazioni negative, contenuti sgradevoli, rifiuto0.4 - 0.8
RabbiaDialoghi aggressivi, scene di confronto, frustrazione0.6 - 1.0
SorpresaEventi inaspettati, rivelazioni, reazioni di shock0.7 - 1.0
PauraSituazioni minacciose, ansia, dialoghi nervosi0.5 - 0.9
SicuroPresentazioni professionali, dialoghi di leadership, discorsi assertivi0.7 - 1.0
EccitatoContenuti energici, annunci, dialoghi entusiastici0.8 - 1.0
AnnoiatoContenuti monotoni, dialoghi disinteressati, discorsi stanchi0.3 - 0.7
GiocosoConversazioni informali, umorismo, interazioni spensierate0.6 - 0.9
ConfusoDialoghi ricchi di domande, incertezza, sconcerto0.4 - 0.8

Configurazione dell'Animation Blueprint

Configurazione della Sincronizzazione Labiale

Il nodo Blend Runtime MetaHuman Lip Sync ha opzioni di configurazione nel suo pannello delle proprietà:

ProprietàPredefinitoDescrizione
Velocità di Interpolazione25Controlla la rapidità con cui i movimenti delle labbra transitano tra i visemi. Valori più alti risultano in transizioni più veloci e brusche.
Tempo di Reset0.2La durata in secondi dopo la quale la sincronizzazione labiale viene resettata. È utile per impedire che la sincronizzazione labiale continui dopo che l'audio si è fermato.

Animazione della Risa

Puoi anche aggiungere animazioni della risa che risponderanno dinamicamente alla risa rilevata nell'audio:

  1. Aggiungi il nodo Blend Runtime MetaHuman Laughter
  2. Collega la tua variabile RuntimeVisemeGenerator al pin Viseme Generator
  3. Se stai già utilizzando la sincronizzazione labiale:
    • Collega l'output dal nodo Blend Runtime MetaHuman Lip Sync al Source Pose del nodo Blend Runtime MetaHuman Laughter
    • Collega l'output del nodo Blend Runtime MetaHuman Laughter al pin Result dell'Output Pose
  4. Se utilizzi solo la risa senza sincronizzazione labiale:
    • Collega la tua posa sorgente direttamente al Source Pose del nodo Blend Runtime MetaHuman Laughter
    • Collega l'output al pin Result

Blend Runtime MetaHuman Laughter

Quando viene rilevata della risa nell'audio, il tuo personaggio si animerà dinamicamente di conseguenza:

Risa

Configurazione della Risa

Il nodo Blend Runtime MetaHuman Laughter ha le sue opzioni di configurazione:

ProprietàPredefinitoDescrizione
Velocità di Interpolazione25Controlla la rapidità con cui i movimenti delle labbra transitano tra le animazioni della risa. Valori più alti risultano in transizioni più veloci e brusche.
Tempo di Reset0.2La durata in secondi dopo la quale la risa viene resettata. È utile per impedire che la risa continui dopo che l'audio si è fermato.
Peso Massimo della Risa0.7Scala l'intensità massima dell'animazione della risa (0.0 - 1.0).

Nota: Il rilevamento della risa è attualmente disponibile solo con il Modello Standard.

Combinazione con Animazioni Esistenti

Per applicare la sincronizzazione labiale e le risate insieme alle animazioni del corpo esistenti e alle animazioni facciali personalizzate senza sovrascriverle:

  1. Aggiungi un nodo Layered blend per bone tra le tue animazioni del corpo e l'output finale. Assicurati che Use Attached Parent sia true.
  2. Configura l'impostazione del layer:
    • Aggiungi 1 elemento all'array Layer Setup
    • Aggiungi 3 elementi a Branch Filters per il layer, con i seguenti Bone Name:
      • FACIAL_C_FacialRoot
      • FACIAL_C_Neck2Root
      • FACIAL_C_Neck1Root
  3. 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.
  4. Crea le connessioni:
    • Animazioni esistenti (come BodyPose) → ingresso Base Pose
    • Output dell'animazione facciale (dai nodi di sincronizzazione labiale e/o risate) → ingresso Blend Poses 0
    • Nodo di layered blend → posa Result finale

Layered Blend Per Bone

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:

  1. Dopo il tuo nodo di blend della sincronizzazione labiale, aggiungi un nodo Modify Curve
  2. Fai clic con il tasto destro sul nodo Modify Curve e seleziona Aggiungi Pin Curva
  3. Aggiungi un pin curva con il nome CTRL_expressions_tongueOut
  4. Imposta la proprietà Modalità Applicazione del nodo su Scala
  5. 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 esigenze visive. Per regolare l'intensità dell'apertura della mascella:

  1. Dopo il tuo nodo di blend della sincronizzazione labiale, aggiungi un nodo Modify Curve
  2. Fai clic con il tasto destro sul nodo Modify Curve e seleziona Aggiungi Pin Curva
  3. Aggiungi un pin curva con il nome CTRL_expressions_jawOpen
  4. Imposta la proprietà Modalità Applicazione del nodo su Scala
  5. Regola il parametro Valore per controllare l'ampiezza dell'apertura della mascella (ad esempio, 0.9 per ridurre il movimento della mascella del 10%)

Ottimizzazione Specifica per Umore

Per i modelli abilitati all'umore, puoi ottimizzare specifiche espressioni emotive:

Controllo Sopracciglia:

  • CTRL_expressions_browRaiseInL / CTRL_expressions_browRaiseInR - Sollevamento sopracciglia interno
  • CTRL_expressions_browRaiseOuterL / CTRL_expressions_browRaiseOuterR - Sollevamento sopracciglia esterno
  • CTRL_expressions_browDownL / CTRL_expressions_browDownR - Abbassamento sopracciglia

Controllo Espressione Occhi:

  • CTRL_expressions_eyeSquintInnerL / CTRL_expressions_eyeSquintInnerR - Strizzamento occhi
  • CTRL_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:

ConsiderazioneModello StandardModello RealisticoModello Realistico con Umore
Compatibilità PersonaggioMetaHumans e tutti i tipi di personaggio personalizzatiSolo MetaHumansSolo MetaHumans
Qualità VisivaBuona sincronizzazione labiale con prestazioni efficientiRealismo migliorato con movimenti della bocca più naturaliRealismo migliorato con espressioni emotive
PrestazioniOttimizzato per tutte le piattaforme inclusi mobile/VRRequisiti di risorse più elevatiRequisiti di risorse più elevati
Caratteristiche14 visemi, rilevamento risate81 controlli facciali, 3 livelli di ottimizzazione81 controlli facciali, 12 umori, output configurabile
Supporto PiattaformaWindows, Android, QuestWindows, Mac, iOS, LinuxWindows, Mac, iOS, Linux
Casi d'UsoApplicazioni generali, giochi, VR/AR, mobileEsperienze cinematografiche, interazioni ravvicinateStorytelling emotivo, interazione avanzata con i personaggi

Compatibilità Versione Motore

Problème de compatibilité UE 5.2

Si vous utilisez Unreal Engine 5.2, les Modèles Réalistes peuvent ne pas fonctionner correctement en raison d'un bogue dans la bibliothèque de rééchantillonnage d'UE. Pour les utilisateurs d'UE 5.2 ayant besoin d'une fonctionnalité de synchronisation labiale fiable, veuillez utiliser le Modèle Standard à la place.

Ce problème est spécifique à UE 5.2 et n'affecte pas les autres versions du moteur.

Recommandations de Performance

  • Pour la plupart des projets, le Modèle Standard offre un excellent équilibre entre qualité et performance
  • Utilisez le Modèle Réaliste lorsque vous avez besoin de la plus haute fidélité visuelle pour les personnages MetaHuman
  • Utilisez le Modèle Réaliste avec Humeurs lorsque le contrôle de l'expression émotionnelle est important pour votre application
  • Prenez en compte les capacités de performance de votre plateforme cible lors du choix entre les modèles
  • Testez différents niveaux d'optimisation pour trouver le meilleur équilibre pour votre cas d'utilisation spécifique

Compatibilité Synthèse Vocale

Type de ModèleSupport Synthèse Vocale Locale (via Runtime Text To Speech)Support Synthèse Vocale ExterneNotes
Modèle Standard✅ Support complet✅ Support completCompatible avec toutes les options de synthèse vocale
Modèle Réaliste❌ Support limité✅ Support completConflits du runtime ONNX avec la synthèse vocale locale
Modèle Réaliste avec Humeurs✅ Support complet✅ Support completCompatible avec toutes les options de synthèse vocale

Dépannage

Problèmes Courants

Recréation du Générateur pour les Modèles Réalistes : Pour un fonctionnement fiable et cohérent avec les Modèles Réalistes, il est recommandé de recréer le générateur chaque fois que vous souhaitez fournir de nouvelles données audio après une période d'inactivité. Ceci est dû au comportement du runtime ONNX qui peut entraîner l'arrêt de la synchronisation labiale lors de la réutilisation de générateurs après des périodes de silence.

Compatibilité Synthèse Vocale Locale : La synthèse vocale locale fournie par le plugin Runtime Text To Speech n'est actuellement pas prise en charge avec le modèle Réaliste standard en raison de conflits du runtime ONNX. Cependant, elle est entièrement compatible avec le modèle Standard et le modèle Réaliste avec Humeurs. Utilisez des services de synthèse vocale externes si vous avez spécifiquement besoin du modèle Réaliste standard avec fonctionnalité de synthèse vocale.

Dégradation de la Réactivité de la Synchronisation Labiale : Si vous constatez que la synchronisation labiale devient moins réactive au fil du temps lors de l'utilisation de Streaming Sound Wave ou Capturable Sound Wave, cela peut être causé par une accumulation de mémoire. Par défaut, la mémoire est réallouée chaque fois que de nouveaux audio sont ajoutés. Pour éviter ce problème, appelez la fonction ReleaseMemory périodiquement pour libérer la mémoire accumulée, par exemple toutes les 30 secondes environ.

Optimisation des Performances :

  • Ajustez la Taille des Segments de Traitement pour les modèles Réalistes en fonction de vos exigences de performance
  • Utilisez un nombre de threads approprié pour votre matériel cible
  • Envisagez d'utiliser le type de sortie Bouche Uniquement pour les modèles avec humeurs lorsque l'animation faciale complète n'est pas nécessaire