Configuração do Plugin
Configuração do Modelo
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 obter 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 por meio das propriedades do nó de mistura do Animation Blueprint.
Para opções de configuração do Animation Blueprint, consulte a seção Configuração de Lip Sync abaixo.
Configuração Realista do Modelo
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 Tipo de Modelo determina qual versão do modelo realista usar:
| Tipo de Modelo | Desempenho | Qualidade Visual | Tratamento de Ruído | Casos de Uso Recomendados |
|---|---|---|---|---|
| Altamente Otimizado (Padrão) | Maior desempenho, menor uso de CPU | Boa qualidade | Pode apresentar movimentos da boca perceptíveis com ruído de fundo ou sons não vocais | Ambientes de áudio limpos, cenários críticos de desempenho |
| Semi-otimizado | Bom desempenho, uso moderado de CPU | Alta qualidade | Melhor estabilidade com áudio ruidoso | Desempenho e qualidade equilibrados, condições de áudio mistas |
| Original | Adequado para uso em tempo real em CPUs modernas | Qualidade máxima | Mais estável com ruído de fundo e sons não vocais | Produções de alta qualidade, ambientes de áudio ruidosos, quando a precisão máxima é necessária |
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 de 4)
- 1-16: Especifique manualmente o número de threads. Valores mais altos podem melhorar o desempenho em sistemas multi-core, mas usam mais CPU.
Threads entre Operações: Controla o número de threads usados para a 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: Especifique manualmente a contagem de threads. Geralmente mantida baixa para processamento em tempo real.
Tamanho do Bloco de Processamento
O Tamanho do Bloco de Processamento 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 capacidade de resposta do lip sync
- Recomenda-se usar múltiplos de 160 para alinhamento ideal

Configuração de Modelo com Suporte a 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 lookahead em milissegundos para maior precisão do lip sync.
- Padrão: 80ms
- Intervalo: 20ms a 200ms (deve ser divisível por 20)
- Valores maiores 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 que o modelo realista comum.
Configurações de Humor
Humores disponíveis:
- Neutro, Feliz, Triste, Nojo, Raiva, Surpresa, Medo
- Confiante, Animado, Entediado, Brincalhão, Confuso
Intensidade do Humor: Controla o quão fortemente 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 o tempo de 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 lookahead para sincronização
- Definir Tipo de Saída: Alternar entre os controles de Rosto Completo e Somente Boca

Guia de Seleção de Humor
Escolha humores apropriados com base no seu conteúdo:
| Mood | Melhor Para | Faixa de Intensidade Típica |
|---|---|---|
| Neutro | Conversa geral, narração, estado padrão | 0.5 - 1.0 |
| Feliz | Conteúdo positivo, diálogo alegre, celebrações | 0.6 - 1.0 |
| Triste | Conteúdo melancólico, cenas emocionais, momentos sombrios | 0.5 - 0.9 |
| Nojo | Reações negativas, conteúdo desagradável, rejeição | 0.4 - 0.8 |
| Raiva | Diálogo agressivo, cenas de confronto, frustração | 0.6 - 1.0 |
| Surpresa | Eventos inesperados, revelações, reações de choque | 0.7 - 1.0 |
| Medo | Situações ameaçadoras, ansiedade, diálogo nervoso | 0.5 - 0.9 |
| Confiante | Apresentações profissionais, diálogo de liderança, discurso assertivo | 0.7 - 1.0 |
| Empolgado | Conteúdo energético, anúncios, diálogo entusiasmado | 0.8 - 1.0 |
| Entediado | Conteúdo monótono, diálogo desinteressado, fala cansada | 0.3 - 0.7 |
| Brincalhão | Conversa casual, humor, interações descontraídas | 0.6 - 0.9 |
| Confuso | Diálogo cheio de perguntas, incerteza, perplexidade | 0.4 - 0.8 |
Configuração do Animation Blueprint
Configuração de Lip Sync
- Modelo Padrão
- Modelos Realistas
O nó Blend Runtime MetaHuman Lip Sync tem opções de configuração no painel de propriedades:
| Propriedade | Padrão | Descrição |
|---|---|---|
| Velocidade de Interpolação | 25 | Controla a rapidez com que os movimentos labiais fazem a transição entre visemas. Valores mais altos resultam em transições mais rápidas e abruptas. |
| Tempo de Reset | 0.2 | A duração em segundos após a qual a sincronização labial é redefinida. Isso é útil para evitar que a sincronização labial continue após o áudio ter parado. |
Animação de Risada
Você também pode adicionar animações de riso que responderão dinamicamente ao riso detectado no áudio:
- Adicione o nó
Blend Runtime MetaHuman Laughter - Conecte sua variável
RuntimeVisemeGeneratorao pinoViseme Generator - Se você já está usando sincronização labial:
- Conecte a saída do nó
Blend Runtime MetaHuman Lip SyncaoSource Posedo nóBlend Runtime MetaHuman Laughter - Conecte a saída do nó
Blend Runtime MetaHuman Laughterao pinoResultdoOutput Pose
- Conecte a saída do nó
- Se estiver usando apenas risadas sem sincronização labial:
- Conecte sua pose de origem diretamente ao pino
Source Posedo nóBlend Runtime MetaHuman Laughter - Conecte a saída ao pino
Result
- Conecte sua pose de origem diretamente ao pino

Quando risadas forem detectadas no áudio, seu personagem se animará dinamicamente de acordo:
Configuração de Riso
O nó Blend Runtime MetaHuman Laughter tem suas próprias opções de configuração:
| Propriedade | Padrão | Descrição |
|---|---|---|
| Velocidade de Interpolação | 25 | Controla a rapidez com que os movimentos dos lábios 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ção | 0.2 | A duração em segundos após a qual o riso é redefinido. Isso é útil para evitar que o riso continue após o áudio ter parado. |
| Peso Máximo do Riso | 0.7 | Escala a intensidade máxima da animação de riso (0.0 - 1.0). |
Nota: A detecção de risada está atualmente disponível apenas com o Modelo Padrão.
O nó Blend Realistic MetaHuman Lip Sync tem opções de configuração em seu painel de propriedades:
| Propriedade | Padrão | Descrição |
|---|---|---|
| Velocidade de Interpolação | 30 | Controla a rapidez com que as expressões faciais fazem a transição durante a fala ativa. Valores mais altos resultam em transições mais rápidas e abruptas. |
| Velocidade de Interpolação de Repouso | 15 | Controla a rapidez com que as expressões faciais retornam ao estado de repouso/neutro. Valores mais baixos criam retornos mais suaves e graduais à pose de repouso. |
| Tempo de Redefinição | 0.2 | Duração em segundos após a qual o lip sync é redefinido para o estado de repouso. Útil para evitar que as expressões continuem depois que o áudio para. |
| Preservar Estado de Repouso | false | Quando ativado, preserva o último estado emocional durante os períodos de repouso em vez de redefinir para o neutro. |
| Preservar Expressões Oculares | true | Controla se os controles faciais relacionados aos olhos são preservados durante o estado de repouso. Só tem efeito quando Preservar Estado de Repouso está ativado. |
| Preservar Expressões das Sobrancelhas | true | Controla se os controles faciais relacionados às sobrancelhas são preservados durante o estado de repouso. Só tem efeito quando Preservar Estado de Repouso está ativado. |
| Preservar Formato da Boca | false | Controla se os controles de formato da boca (excluindo movimentos específicos da fala, como língua e mandíbula) são preservados durante o estado de repouso. Só tem efeito quando Preservar Estado de Repouso está ativado. |
Preservação do Estado Ocioso
O recurso Preservar Estado Ocioso aborda como o modelo Realista lida com períodos de silêncio. Diferentemente do modelo Padrão, que usa visemas discretos e sempre retorna a valores zero durante o silêncio, a rede neural do modelo Realista pode manter um posicionamento facial sutil que difere da pose de descanso padrão do MetaHuman.
Quando habilitar:
- Mantendo expressões emocionais entre segmentos de fala
- Preservando traços de personalidade do personagem
- Garantindo continuidade visual em sequências cinematográficas
Opções de Controle Regional:
- Expressões Oculares: Preserva o apertar dos olhos, o arregalar e o posicionamento das pálpebras
- Expressões das Sobrancelhas: Mantém o posicionamento das sobrancelhas e da testa
- Formato da Boca: Mantém a curvatura geral da boca enquanto permite que os movimentos de fala (língua, mandíbula) sejam resetados
Combinando com animações existentes
Prefere assistir em vez de ler? Confira o tutorial em vídeo que aborda exatamente esta configuração.
Para aplicar sincronização labial e risadas juntamente com as animações corporais existentes e animações faciais personalizadas sem substituí-las:
Esta configuração se aplica ao Animation Blueprint do rosto, pois a sincronização labial não faz parte do Animation Blueprint do corpo. Para animações corporais personalizadas (por exemplo, tronco, braços e outros movimentos do corpo), basta conectar sua sequência de animação (via um Sequence Player) diretamente à pose de saída no Animation Blueprint do corpo. Nenhuma configuração adicional é necessária lá.
- Adicione um nó
Layered blend per boneentre as suas animações corporais e a saída final. Certifique-se de queUse Attached Parentesteja ativado. - Ajuste a configuração das camadas:
- Adicione 1 item ao array
Layer Setup - Adicione 3 itens aos
Branch Filterspara a camada, com os seguintesBone Names:FACIAL_C_FacialRootFACIAL_C_Neck2RootFACIAL_C_Neck1Root
- Adicione 1 item ao array
- Importante para animações faciais personalizadas: Na
Curve Blend Option, selecione "Use Max Value". Isso permite que animações faciais personalizadas (expressões, emoções, etc.) sejam devidamente sobrepostas à sincronização labial. - Faça as conexões:
- Sua animação personalizada (normalmente um
Sequence Playercom o asset de sequência de animação desejado) → entradaBase Pose - Saída de animação facial (de nós de sincronização labial e/ou risada) → entrada
Blend Poses 0 - Nó de blend em camadas → pose final
Result
- Sua animação personalizada (normalmente um

Seleção de Conjunto de Morph Targets
- Modelo Padrão
- Modelos Realistas
O Standard Model usa assets de pose que suportam inerentemente qualquer convenção de nomenclatura de morph target por meio da configuração personalizada de asset de pose. Nenhuma configuração adicional é necessária.
O nó Blend Realistic MetaHuman Lip Sync inclui uma propriedade Conjunto de Alvos de Morph que determina qual convenção de nomenclatura de alvos de morph deve ser usada para a animação facial:
| Conjunto de Alvos de Morph | Descrição | Casos de Uso |
|---|---|---|
| MetaHuman (Padrão) | Nomes padrão de alvos de morph do MetaHuman (por exemplo, CTRL_expressions_jawOpen) | Personagens MetaHuman |
| ARKit | Nomes compatíveis com o ARKit da Apple (por exemplo, JawOpen, MouthSmileLeft) | Personagens baseados em ARKit |
Ajuste Fino do Comportamento do Lip Sync
Escalando Curvas Específicas de Sincronização Labial
Você pode atenuar (ou amplificar) movimentos faciais individuais produzidos pela sincronização labial usando um nó Modify Curve. Isso é útil quando uma curva específica parece exagerada demais para o seu conteúdo de áudio ou personagem.
Configuração:
- Após o seu nó de mistura de sincronização labial, adicione um nó
Modify Curve - Clique com o botão direito no nó e selecione Add Curve Pin e, em seguida, insira o nome da curva que você deseja escalar
- Defina a propriedade Apply Mode do nó como Scale
- Defina o parâmetro Value: valores abaixo de 1.0 atenuam o movimento, valores acima de 1.0 amplificam (ex.: 0.8 = 20% de redução)
Curvas comumente escaladas:
| Nome da Curva | Finalidade | Aplica-se a | Ajuste Típico |
|---|---|---|---|
CTRL_expressions_tongueOut | Protrusão da língua para a frente durante certos fonemas | Modelo padrão | 0.8 para reduzir a protrusão |
CTRL_expressions_jawOpen | Amplitude de abertura da mandíbula | Modelos realistas | 0.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 vez.
Ajuste fino específico de humor
Para modelos com suporte a humor, você pode ajustar expressões emocionais específicas:
Controle de Sobrancelhas:
CTRL_expressions_browRaiseInL/CTRL_expressions_browRaiseInR- Elevação da sobrancelha internaCTRL_expressions_browRaiseOuterL/CTRL_expressions_browRaiseOuterR- Elevação da sobrancelha externaCTRL_expressions_browDownL/CTRL_expressions_browDownR- Abaixamento da sobrancelha
Controle de Expressão Ocular:
CTRL_expressions_eyeSquintInnerL/CTRL_expressions_eyeSquintInnerR- Apertar os olhosCTRL_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 para o seu projeto, considere estes fatores:
| Consideração | Modelo Padrão | Modelo Realista | Modelo Realista com Humor |
|---|---|---|---|
| Compatibilidade de Personagens | MetaHumans e todos os tipos de personagens personalizados | Personagens MetaHumans (e personagens ARKit) | Personagens MetaHumans (e personagens ARKit) |
| Qualidade Visual | Boa sincronização labial com desempenho eficiente | Realismo aprimorado com movimentos da boca mais naturais | Realismo aprimorado com expressões emocionais |
| Desempenho | Otimizado para todas as plataformas, incluindo mobile/VR | Maiores requisitos de recursos | Maiores requisitos de recursos |
| Recursos | 14 visemas, detecção de riso | 81 controles faciais, 3 níveis de otimização | 81 controles faciais, 12 humores, saída configurável |
| Suporte a Plataformas | Windows, Android, Quest | Windows, Mac, iOS, Linux, Android, Quest | Windows, Mac, iOS, Linux, Android, Quest |
| Casos de Uso | Aplicações gerais, jogos, VR/AR, mobile | Experiências cinematográficas, interações de perto | Narrativa emocional, interação avançada de personagens |
Compatibilidade de Versão do Engine
Se você estiver usando o Unreal Engine 5.2, os Modelos Realistas podem não funcionar corretamente devido a um bug na biblioteca de reamostragem da UE. Para usuários do UE 5.2 que precisam de funcionalidade confiável de sincronização labial, use o Modelo Padrão em vez disso.
Este problema é específico do UE 5.2 e não afeta outras versões do mecanismo.
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 precisar da mais alta fidelidade visual para personagens MetaHuman.
- Use o Modelo Realista com Controle de Humor quando o controle da expressão emocional for importante para o seu aplicativo.
- 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 o seu caso de uso específico.
Solução de Problemas
Problemas Comuns
Recriação do Gerador para Realistic Models: Para uma operação confiável e consistente com os Realistic Models, é 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 o lip sync pare de funcionar ao reutilizar geradores após períodos de silêncio.
Por exemplo, você poderia recriar o gerador de sincronização labial 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 de ondas sonoras e a sincronização labial:

Local 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 ter problemas se os plugins estiverem instalados na pasta Marketplace do motor. Para corrigir isso:
- Encontre ambos os plugins na sua pasta de instalação da UE em
\Engine\Plugins\Marketplace(por exemplo,C:\Program Files\Epic Games\UE_5.6\Engine\Plugins\Marketplace) - Mova as pastas
RuntimeMetaHumanLipSynceRuntimeTextToSpeechpara a pastaPluginsdo seu projeto - Se o seu projeto não tiver uma pasta
Plugins, crie uma no mesmo diretório do arquivo.uproject - Reinicie o Unreal Editor
Isso resolve problemas de compatibilidade que podem ocorrer quando vários plugins baseados em ONNX Runtime são carregados do diretório Marketplace do mecanismo.
Configuração de empacotamento (Windows): Se a sincronização labial não estiver funcionando corretamente no seu projeto empacotado no Windows, certifique-se de estar usando a configuração de build Shipping em vez da Development. A configuração Development pode causar problemas com o runtime ONNX dos modelos realistas em builds empacotados.
Para corrigir isso:
- Nas Configurações do Projeto → Empacotamento, defina a Configuração de Build como Shipping
- Reempacote seu projeto

Em alguns projetos somente Blueprint, o Unreal Engine ainda pode compilar na configuração Development mesmo quando a opção Shipping estiver selecionada. 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 Blueprint em termos de funcionalidade; a classe C++ é necessária apenas para a configuração de build correta.
Responsividade Degradada do Lip Sync: Se você notar que o lip sync fica menos responsivo com o tempo ao usar Streaming Sound Wave ou Capturable Sound Wave, isso pode ser causado pelo acúmulo de memória. Por padrão, a memória é realocada cada vez que um novo áudio é acrescentado. Para evitar esse problema, chame a função ReleaseMemory periodicamente para liberar a memória acumulada, por exemplo, a cada 30 segundos, aproximadamente.
Otimização de desempenho:
- Ajuste o tamanho do bloco de processamento para modelos realistas de acordo com seus requisitos de desempenho.
- Use a quantidade de threads adequada ao 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.