Pular para o conteúdo principal

Configuração do Plugin

Configuração do Modelo

Configuração Padrão do Modelo

O nó Create Runtime Viseme Generator usa configurações padrão que funcionam bem para a maioria dos cenários. A configuração é tratada através das propriedades do nó de blending do Animation Blueprint.

Para opções de configuração do Animation Blueprint, consulte a seção Configuração de Lip Sync abaixo.

Configuração do Modelo Realista

O nó Create Realistic MetaHuman Lip Sync Generator aceita um parâmetro opcional Configuration que permite personalizar o comportamento do gerador:

Tipo de Modelo

A configuração Model Type determina qual versão do modelo realista usar:

Tipo de ModeloDesempenhoQualidade VisualTratamento de RuídoCasos de Uso Recomendados
Altamente Otimizado (Padrão)Maior desempenho, menor uso de CPUBoa qualidadePode mostrar movimentos de boca perceptíveis com ruído de fundo ou sons não vocaisAmbientes de áudio limpos, cenários críticos de desempenho
Semi-OtimizadoBom desempenho, uso moderado de CPUAlta qualidadeMelhor estabilidade com áudio ruidosoDesempenho e qualidade balanceados, condições de áudio mistas
OriginalAdequado para uso em tempo real em CPUs modernasQualidade mais altaMais estável com ruído de fundo e sons não vocaisProduções de alta qualidade, ambientes de áudio ruidosos, quando máxima precisão é necessária

Configurações de Desempenho

Intra Op Threads: Controla o número de threads usadas para operações de processamento interno do modelo.

  • 0 (Padrão/Automático): Usa detecção automática (tipicamente 1/4 dos núcleos de CPU disponíveis, máximo 4)
  • 1-16: Especifica manualmente a contagem de threads. Valores mais altos podem melhorar o desempenho em sistemas multi-core, mas usam mais CPU

Inter Op Threads: Controla o número de threads usadas para execução paralela de diferentes operações do modelo.

  • 0 (Padrão/Automático): Usa detecção automática (tipicamente 1/8 dos núcleos de CPU disponíveis, máximo 2)
  • 1-8: Especifica manualmente a contagem de threads. Geralmente mantido baixo para processamento em tempo real

Tamanho do Chunk de Processamento

O Processing Chunk Size determina quantas amostras são processadas em cada etapa de inferência. O valor padrão é 160 amostras (10ms de áudio a 16kHz):

  • Valores menores fornecem atualizações mais frequentes, mas aumentam o uso da CPU
  • Valores maiores reduzem a carga da CPU, mas podem diminuir a responsividade do lip sync
  • Recomendado usar múltiplos de 160 para um alinhamento ideal

Configurando o Tamanho do Chunk de Processamento

Configuração do Modelo com Humor

O nó Create Realistic MetaHuman Lip Sync With Mood Generator fornece opções de configuração adicionais além do modelo realista básico:

Configuração Básica

Lookahead Ms: Tempo de antecipação em milissegundos para melhor precisão na sincronização labial.

  • Padrão: 80ms
  • Intervalo: 20ms a 200ms (deve ser divisível por 20)
  • Valores mais altos fornecem melhor sincronização, mas aumentam a latência

Tipo de Saída: Controla quais controles faciais são gerados.

  • Rosto Completo: Todos os 81 controles faciais (sobrancelhas, olhos, nariz, boca, mandíbula, língua)
  • Somente Boca: Apenas controles relacionados à boca, mandíbula e língua

Configurações de Performance: Usa as mesmas configurações de Intra Op Threads e Inter Op Threads do modelo realista regular.

Configurações de Humor

Humores Disponíveis:

  • Neutro, Feliz, Triste, Nojinho, Raiva, Surpresa, Medo
  • Confiante, Animado, Entediado, Brincalhão, Confuso

Intensidade do Humor: Controla o quanto o humor afeta a animação (0.0 a 1.0)

Controle de Humor em Tempo de Execução

Você pode ajustar as configurações de humor durante a execução usando as seguintes funções:

  • Definir Humor: Alterar o tipo de humor atual
  • Definir Intensidade do Humor: Ajustar o quanto o humor afeta a animação (0.0 a 1.0)
  • Definir Lookahead Ms: Modificar o tempo de antecipação para sincronização
  • Definir Tipo de Saída: Alternar entre controles de Rosto Completo e Somente Boca

Configuração de Humor

Guia de Seleção de Humor

Escolha humores apropriados com base no seu conteúdo:

HumorMelhor ParaIntervalo de Intensidade Típico
NeutroConversa geral, narração, estado padrão0.5 - 1.0
FelizConteúdo positivo, diálogo alegre, celebrações0.6 - 1.0
TristeConteúdo melancólico, cenas emocionais, momentos sombrios0.5 - 0.9
NojinhoReações negativas, conteúdo desagradável, rejeição0.4 - 0.8
RaivaDiálogo agressivo, cenas de confronto, frustração0.6 - 1.0
SurpresaEventos inesperados, revelações, reações de choque0.7 - 1.0
MedoSituações ameaçadoras, ansiedade, diálogo nervoso0.5 - 0.9
ConfianteApresentações profissionais, diálogo de liderança, discurso assertivo0.7 - 1.0
AnimadoConteúdo energético, anúncios, diálogo entusiástico0.8 - 1.0
EntediadoConteúdo monótono, diálogo desinteressado, fala cansada0.3 - 0.7
BrincalhãoConversa casual, humor, interações descontraídas0.6 - 0.9
ConfusoDiálogo com muitas perguntas, incerteza, perplexidade0.4 - 0.8

Configuração do Animation Blueprint

Configuração de Lip Sync

O nó Blend Runtime MetaHuman Lip Sync tem opções de configuração em seu painel de propriedades:

PropriedadePadrãoDescrição
Velocidade de Interpolação25Controla a rapidez com que os movimentos labiais transitam entre visemas. Valores mais altos resultam em transições mais rápidas e abruptas.
Tempo de Reset0.2A duração em segundos após a qual a sincronização labial é reiniciada. Isso é útil para evitar que a sincronização labial continue após o áudio ter parado.

Animação de Riso

Você também pode adicionar animações de riso que responderão dinamicamente ao riso detectado no áudio:

  1. Adicione o nó Blend Runtime MetaHuman Laughter
  2. Conecte sua variável RuntimeVisemeGenerator ao pino Viseme Generator
  3. Se você já está usando sincronização labial:
    • Conecte a saída do nó Blend Runtime MetaHuman Lip Sync ao Source Pose do nó Blend Runtime MetaHuman Laughter
    • Conecte a saída do nó Blend Runtime MetaHuman Laughter ao pino Result do Output Pose
  4. Se usar apenas riso sem sincronização labial:
    • Conecte sua pose de origem diretamente ao Source Pose do nó Blend Runtime MetaHuman Laughter
    • Conecte a saída ao pino Result

Blend Runtime MetaHuman Laughter

Quando o riso é detectado no áudio, seu personagem animará dinamicamente de acordo:

Laughter

Configuração de Riso

O nó Blend Runtime MetaHuman Laughter tem suas próprias opções de configuração:

PropriedadePadrãoDescrição
Velocidade de Interpolação25Controla a rapidez com que os movimentos labiais transitam entre animações de riso. Valores mais altos resultam em transições mais rápidas e abruptas.
Tempo de Reset0.2A duração em segundos após a qual o riso é reiniciado. Isso é útil para evitar que o riso continue após o áudio ter parado.
Peso Máximo de Riso0.7Escala a intensidade máxima da animação de riso (0.0 - 1.0).
Nota: A detecção de riso está atualmente disponível apenas com o Modelo Padrão.

Combinando com Animações Existentes

Para aplicar lip sync e riso juntamente com animações corporais existentes e animações faciais personalizadas sem sobrescrevê-las:

  1. Adicione um nó Layered blend per bone entre suas animações corporais e a saída final. Certifique-se de que Use Attached Parent esteja verdadeiro.
  2. Configure a configuração de camadas:
    • Adicione 1 item ao array Layer Setup
    • Adicione 3 itens aos Branch Filters para a camada, com os seguintes Bone Names:
      • FACIAL_C_FacialRoot
      • FACIAL_C_Neck2Root
      • FACIAL_C_Neck1Root
  3. Importante para animações faciais personalizadas: Em Curve Blend Option, selecione "Use Max Value". Isso permite que animações faciais personalizadas (expressões, emoções, etc.) sejam corretamente sobrepostas ao lip sync.
  4. Faça as conexões:
    • Animações existentes (como BodyPose) → entrada Base Pose
    • Saída de animação facial (dos nós de lip sync e/ou riso) → entrada Blend Poses 0
    • Nó de blend em camadas → Result pose final

Layered Blend Per Bone

Ajuste Fino do Comportamento do Lip Sync

Controle de Protrusão da Língua

No modelo de lip sync padrão, você pode notar movimento excessivo da língua para frente durante certos fonemas. Para controlar a protrusão da língua:

  1. Após o seu nó de blend do lip sync, adicione um nó Modify Curve
  2. Clique com o botão direito no nó Modify Curve e selecione Add Curve Pin
  3. Adicione um pino de curva com o nome CTRL_expressions_tongueOut
  4. Defina a propriedade Apply Mode do nó para Scale
  5. Ajuste o parâmetro Value para controlar a extensão da língua (ex.: 0.8 para reduzir a protrusão em 20%)

Controle de Abertura da Mandíbula

O lip sync realista pode produzir movimentos de mandíbula excessivamente responsivos, dependendo do seu conteúdo de áudio e requisitos visuais. Para ajustar a intensidade da abertura da mandíbula:

  1. Após o seu nó de blend do lip sync, adicione um nó Modify Curve
  2. Clique com o botão direito no nó Modify Curve e selecione Add Curve Pin
  3. Adicione um pino de curva com o nome CTRL_expressions_jawOpen
  4. Defina a propriedade Apply Mode do nó para Scale
  5. Ajuste o parâmetro Value para controlar a amplitude de abertura da mandíbula (ex.: 0.9 para reduzir o movimento da mandíbula em 10%)

Ajuste Fino Específico por Humor

Para modelos habilitados para humor, você pode ajustar finamente expressões emocionais específicas:

Controle de Sobrancelha:

  • CTRL_L_brow_raiseIn.ty / CTRL_R_brow_raiseIn.ty - Elevação da sobrancelha interna
  • CTRL_L_brow_raiseOut.ty / CTRL_R_brow_raiseOut.ty - Elevação da sobrancelha externa
  • CTRL_L_brow_down.ty / CTRL_R_brow_down.ty - Abaixamento da sobrancelha

Controle de Expressão dos Olhos:

  • CTRL_L_eye_squintInner.ty / CTRL_R_eye_squintInner.ty - Fechamento dos olhos (squint)
  • CTRL_L_eye_cheekRaise.ty / CTRL_R_eye_cheekRaise.ty - Elevação da bochecha

Comparação e Seleção de Modelos

Escolhendo Entre Modelos

Ao decidir qual modelo de sincronização labial usar para seu projeto, considere estes fatores:

ConsideraçãoModelo PadrãoModelo RealistaModelo Realista com Humor
Compatibilidade de PersonagensMetaHumans e todos os tipos de personagens personalizadosApenas MetaHumansApenas MetaHumans
Qualidade VisualBoa sincronização labial com desempenho eficienteRealismo aprimorado com movimentos de boca mais naturaisRealismo aprimorado com expressões emocionais
DesempenhoOtimizado para todas as plataformas incluindo mobile/VRRequisitos de recursos mais altosRequisitos de recursos mais altos
Recursos14 visemas, detecção de risada81 controles faciais, 3 níveis de otimização81 controles faciais, 12 humores, saída configurável
Suporte de PlataformaWindows, Android, QuestWindows, Mac, iOS, LinuxWindows, Mac, iOS, Linux
Casos de UsoAplicações gerais, jogos, VR/AR, mobileExperiências cinematográficas, interações em close-upNarrativa emocional, interação avançada de personagens

Compatibilidade com Versão do Engine

Problema de Compatibilidade com UE 5.2

Se você estiver usando Unreal Engine 5.2, os Modelos Realistas podem não funcionar corretamente devido a um bug na biblioteca de reamostragem do UE. Para usuários do UE 5.2 que precisam de funcionalidade de sincronização labial confiável, por favor use o Modelo Padrão em vez disso.

Este problema é específico do UE 5.2 e não afeta outras versões do engine.

Recomendações de Desempenho

  • Para a maioria dos projetos, o Modelo Padrão oferece um excelente equilíbrio entre qualidade e desempenho
  • Use o Modelo Realista quando você precisa da mais alta fidelidade visual para personagens MetaHuman
  • Use o Modelo Realista com Humor quando o controle de expressão emocional é importante para sua aplicação
  • Considere as capacidades de desempenho da sua plataforma de destino ao escolher entre os modelos
  • Teste diferentes níveis de otimização para encontrar o melhor equilíbrio para seu caso de uso específico

Compatibilidade com TTS

Tipo de ModeloSuporte TTS Local (via Runtime Text To Speech)Suporte TTS ExternoObservações
Modelo Padrão✅ Suporte total✅ Suporte totalCompatível com todas as opções de TTS
Modelo Realista❌ Suporte limitado✅ Suporte totalConflitos de runtime ONNX com TTS local
Modelo Realista com Humor✅ Suporte total✅ Suporte totalCompatível com todas as opções de TTS

Solução de Problemas

Problemas Comuns

Recriação do Gerador para Modelos Realistas: Para operação confiável e consistente com os Modelos Realistas, é recomendado recriar o gerador cada vez que você quiser alimentar novos dados de áudio após um período de inatividade. Isso se deve ao comportamento do runtime ONNX que pode fazer com que a sincronização labial pare de funcionar ao reutilizar geradores após períodos de silêncio. Compatibilidade com TTS Local: O TTS local fornecido pelo plugin Runtime Text To Speech não é atualmente suportado com o modelo Realistic regular devido a conflitos de runtime ONNX. No entanto, é totalmente compatível com o modelo Standard e com o modelo Realistic com Mood. Use serviços de TTS externos se você precisar especificamente do modelo Realistic regular com funcionalidade TTS.

Otimização de Performance:

  • Ajuste o Tamanho do Chunk de Processamento para os modelos Realistic com base nos seus requisitos de performance
  • Use contagens de threads apropriadas para o seu hardware de destino
  • Considere usar o tipo de saída Mouth Only para modelos com mood quando a animação facial completa não for necessária