Pular para o conteúdo principal

Configuração do Plugin

Configuração do Modelo​

Recriar geradores de modelo realista para cada reprodução

Para uma operação confiável com os modelos Realistic e Mood-Enabled Realistic, recrie o gerador antes de cada nova reprodução de áudio em vez de reutilizá-lo durante longos silêncios. Consulte Recriação do Gerador em Solução de Problemas para mais detalhes.

Configuração do Modelo Padrão​

O nó Create Runtime Viseme Generator usa configurações padrão que funcionam bem para a maioria dos cenários. A configuração é feita 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 de Modelo Realista​

O nó Create Realistic MetaHuman Lip Sync Generator aceita um parâmetro Configuration opcional 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)Desempenho máximo, menor uso de CPUBoa qualidadePode apresentar movimentos labiais perceptíveis com ruído de fundo ou sons que não sejam de vozAmbientes com áudio limpo, cenários com exigência de desempenho
Semi-OtimizadoBom desempenho, uso moderado de CPUAlta qualidadeMaior estabilidade com áudio ruidosoEquilíbrio entre desempenho e qualidade, condições de áudio mistas
OriginalAdequado para uso em tempo real em CPUs modernasQualidade máximaMais estável com ruído de fundo e sons que não sejam de vozProduções de alta qualidade, ambientes com áudio ruidoso, quando é necessária precisão máxima

Configurações de Desempenho​

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

  • 0 (Padrão/Automático): Usa detecção automática (normalmente 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

Threads de Interoperabilidade: 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 (normalmente 1/8 dos núcleos de CPU disponíveis, máximo 2)
  • 1-8: Especifica manualmente a contagem de threads. Normalmente mantida baixa para processamento em tempo real

Tamanho do Bloco 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 de CPU
  • Valores maiores reduzem a carga da CPU, mas podem diminuir a capacidade de resposta do lip sync
  • Recomenda-se usar múltiplos de 160 para um alinhamento ideal

Setting Processing Chunk Size

Configuração de Modelo com Suporte a Humor​

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

Configuração Básica​

Lookahead Ms: Tempo de lookahead em milissegundos para melhorar a precisão do lip sync.

  • Padrão: 80ms
  • Intervalo: 20ms a 200ms (deve ser divisível por 20)
  • Valores mais altos proporcionam 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 Desempenho: Usa as mesmas configurações de Intra Op Threads e Inter Op Threads do modelo realista regular.

Configurações de Humor​

Moods disponíveis:

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

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

Controle de Humor em Tempo Real​

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

  • Definir Humor: Altera o tipo de humor atual
  • Definir Intensidade do Humor: Ajusta quão fortemente o humor afeta a animação (0.0 a 1.0)
  • Definir Lookahead Ms: Modifica o tempo de lookahead para sincronização
  • Definir Tipo de Saída: Alterna entre os controles de Rosto Completo e Somente Boca

Mood Configuration

Guia de Seleção de Humor​

Escolha moods apropriados com base no seu conteúdo:

MoodMelhor ParaFaixa de Intensidade Típica
NeutroConversa geral, narração, estado padrão0.5 - 1.0
FelizConteúdo positivo, diálogo alegre, comemorações0.6 - 1.0
TristeConteúdo melancólico, cenas emocionais, momentos sombrios0.5 - 0.9
NojoReaçõ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, fala assertiva0.7 - 1.0
EmpolgadoConteúdo energético, anúncios, diálogo entusiasmado0.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 possui opções de configuração em seu painel de propriedades:

PropriedadePadrãoDescrição
Velocidade de Interpolação25Controla a rapidez com que os movimentos labiais fazem a transição entre visemes. Valores mais altos resultam em transições mais rápidas e abruptas.
Tempo de Redefinição0.2A duração em segundos após a qual o lip sync é redefinido. Isso é útil para evitar que o lip sync continue após o áudio ter parado.

Animação de Riso​

Você também pode adicionar animações de risada que responderão dinamicamente à risada detectada 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 lip sync:
    • 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 risada sem lip sync:
    • 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 será animado dinamicamente de acordo:

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 fazem a transição entre as animações de riso. Valores mais altos resultam em transições mais rápidas e abruptas.
Tempo de Redefinição0.2A duração em segundos após a qual o riso é redefinido. Isso é útil para evitar que o riso continue depois que o áudio parar.
Peso Máximo do Riso0.7Escala a intensidade máxima da animação de riso (0.0 - 1.0).

Nota: A detecção de risada está disponível atualmente apenas com o Modelo Standard.

Combinando com animações existentes​

Passo a passo em vídeo

Prefere assistir em vez de ler? Confira o tutorial em vídeo que cobre exatamente esta configuração.

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

Animações de corpo

Esta configuração se aplica ao Animation Blueprint do rosto, já que o lip sync não faz parte do Animation Blueprint do corpo. Para animações corporais personalizadas (por exemplo, torso, braços e outros movimentos do corpo), basta conectar sua sequência de animação (por meio de um Sequence Player) diretamente à pose de saída no Animation Blueprint do corpo. Nenhuma configuração adicional é necessária ali.

  1. Adicione um nó Layered blend per bone entre suas animações de corpo e a saída final.
  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:
    • Sua animação personalizada (normalmente um Sequence Player com o asset de sequência de animação desejado) → entrada Base Pose
    • Saída de animação facial (dos nós de lip sync e/ou risada) → entrada Blend Poses 0
    • Nó de blend em camadas → pose Result final

Layered Blend Per Bone

Seleção de Conjunto de Morph Targets​

O Modelo Padrão usa pose assets que, por natureza, suportam qualquer convenção de nomenclatura de morph target através da configuração personalizada de pose asset. Nenhuma configuração adicional é necessária.

Ajuste fino do comportamento de Lip Sync​

Escalonando Curvas Específicas de Lip Sync​

Você pode atenuar (ou amplificar) movimentos faciais individuais produzidos pelo lip sync usando um nó Modify Curve. Isso é útil quando uma curva específica parece muito pronunciada para o conteúdo do seu áudio ou para o seu personagem.

Configuração:

  1. Depois do seu nó de blend de lip sync, adicione um nó Modify Curve
  2. Clique com o botão direito no nó e selecione Add Curve Pin, depois insira o nome da curva que você deseja escalar
  3. Defina a propriedade Apply Mode do nó como Scale
  4. Defina o parâmetro Value: valores abaixo de 1.0 atenuam o movimento, valores acima de 1.0 amplificam-no (por exemplo, 0.8 = redução de 20%)

Curvas comumente escaladas:

Nome da CurvaFinalidadeAplica-se AAjuste Típico
CTRL_expressions_tongueOutProtrusão da língua para frente durante certos fonemasModelo padrão0.8 para reduzir a protrusão
CTRL_expressions_jawOpenIntervalo de abertura da mandíbulaModelos realistas0.9 para reduzir o movimento da mandíbula

Você pode adicionar vários pinos de curva ao mesmo nó Modify Curve para escalar várias curvas de uma só vez.

Ajuste fino específico por humor​

Para modelos com suporte a humor, você pode ajustar expressões emocionais específicas:

Controle de Sobrancelha:

  • CTRL_expressions_browRaiseInL / CTRL_expressions_browRaiseInR - Elevação da sobrancelha interna
  • CTRL_expressions_browRaiseOuterL / CTRL_expressions_browRaiseOuterR - Elevação da sobrancelha externa
  • CTRL_expressions_browDownL / CTRL_expressions_browDownR - Abaixamento da sobrancelha

Controle de Expressão Ocular:

  • CTRL_expressions_eyeSquintInnerL / CTRL_expressions_eyeSquintInnerR - Apertar os olhos
  • CTRL_expressions_eyeCheekRaiseL / CTRL_expressions_eyeCheekRaiseR - Levantar as bochechas

Comparação e Seleção de Modelos​

Escolhendo Entre Modelos​

Ao decidir qual modelo de lip sync usar no seu projeto, considere estes fatores:

ConsideraçãoModelo PadrãoModelo RealistaModelo Realista com Humor
Compatibilidade de PersonagensMetaHumans e todos os tipos de personagens personalizadosMetaHumans (e personagens ARKit)MetaHumans (e personagens ARKit)
Qualidade VisualBom lip sync 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 visemes, detecção de riso81 controles faciais, 3 níveis de otimização81 controles faciais, 12 humores, saída configurável
Suporte de PlataformaWindows, Android, QuestWindows, Mac, iOS, Linux, Android, QuestWindows, Mac, iOS, Linux, Android, Quest
Casos de UsoAplicações gerais, jogos, VR/AR, mobileExperiências cinematográficas, interações em close-upNarrativa emocional, interação avançada com personagens

Compatibilidade de Versão da Engine​

Problema de compatibilidade com UE 5.2

Se você estiver usando o Unreal Engine 5.2, os Realistic Models 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 confiável de lip sync, use o Standard Model em vez disso.

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

Recomendações de Desempenho​

  • Para a maioria dos projetos, o Standard Model oferece um excelente equilíbrio entre qualidade e desempenho
  • Use o Realistic Model quando você precisar da mais alta fidelidade visual para personagens MetaHuman
  • Use o Mood-Enabled Realistic Model quando o controle de expressão emocional for importante para sua aplicação
  • Considere a capacidade 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 o seu caso de uso específico

Solução de problemas​

Problemas Comuns​

Recriação do Gerador para Modelos Realistas: Para uma operação confiável e consistente com os Modelos Realistas, recomenda-se recriar o gerador sempre 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 o lip sync pare de funcionar ao reutilizar geradores após períodos de silêncio.

Por exemplo, você pode recriar o gerador de lip sync a cada início de reprodução, como sempre que você chamar Play Sound 2D ou usar qualquer outro método para iniciar a reprodução da onda sonora e o lip sync:

Recreate Lip Sync Generator On Play Sound

Localização do Plugin para Integração do Runtime Text To Speech: Ao usar o Runtime MetaHuman Lip Sync junto com o Runtime Text To Speech (ambos os plugins usam ONNX Runtime), você pode enfrentar problemas se os plugins estiverem instalados na pasta Marketplace do engine. Para corrigir isso:

  1. Localize ambos os plugins na pasta de instalação do seu UE em \Engine\Plugins\Marketplace (por exemplo, C:\Program Files\Epic Games\UE_5.6\Engine\Plugins\Marketplace)
  2. Mova as pastas RuntimeMetaHumanLipSync e RuntimeTextToSpeech para a pasta Plugins do seu projeto
  3. Se o seu projeto não tiver uma pasta Plugins, crie uma no mesmo diretório do seu arquivo .uproject
  4. Reinicie o Unreal Editor

Isso resolve problemas de compatibilidade que podem ocorrer quando vários plugins baseados no ONNX Runtime são carregados do diretório Marketplace do engine.

Configuração de Empacotamento (Windows): Se o lip sync não estiver funcionando corretamente no seu projeto empacotado no Windows, certifique-se de que você está usando a configuração de build Shipping em vez de Development. A configuração Development pode causar problemas com o runtime ONNX dos modelos realistas em builds empacotados.

Para corrigir isso:

  1. Nas suas Configurações do Projeto → Empacotamento, defina a Configuração de Build como Shipping
  2. Reempacote seu projeto

Shipping Configuration

Projetos Somente com Blueprint

Em alguns projetos somente com Blueprint, o Unreal Engine ainda pode compilar na configuração Development mesmo quando Shipping está selecionado. Se isso acontecer, converta seu projeto para um projeto C++ adicionando pelo menos uma classe C++ (ela pode estar vazia). Para fazer isso, vá em Tools → New C++ Class no menu do editor da UE e crie uma classe vazia. Isso forçará o projeto a compilar corretamente na configuração Shipping. Seu projeto pode permanecer somente com Blueprint em funcionalidade, a classe C++ é necessária apenas para a configuração de compilação adequada.

Responsividade degradada do Lip Sync: Se você perceber que o lip sync se torna menos responsivo com o tempo ao usar Streaming Sound Wave ou Capturable Sound Wave, isso pode ser causado por acúmulo de memória. Por padrão, a memória é realocada cada vez que um novo áudio é anexado. Para evitar esse problema, chame a função ReleaseMemory periodicamente para liberar a memória acumulada, como a cada 30 segundos ou mais.

Otimização de Desempenho:

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