Configuração do Plugin
Configuração do Modelo
Para uma operação confiável com os modelos Realista e Realista com Controle de Humor, 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 na seção de 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 é gerenciada através das propriedades do nó de mesclagem do Animation Blueprint.
Para opções de configuração do Animation Blueprint, consulte a seção Configuração de Sincronização Labial abaixo.
Configuração de Modelo Realista
O nó Create Realistic MetaHuman Lip Sync Generator aceita um parâmetro opcional de Configuração que permite personalizar o comportamento do gerador:
Tipo de Modelo
A configuração Model Type determina qual versão do modelo realista será utilizada:
| 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 labiais 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 | Maior estabilidade com áudio ruidoso | Desempenho e qualidade equilibrados, condições de áudio mistas |
| Original | Adequado para uso em tempo real em CPUs modernas | Máxima qualidade | Mais estável com ruído de fundo e sons não vocais | Produções de alta qualidade, ambientes de áudio ruidosos, quando a máxima precisão é 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 (geralmente 1/4 dos núcleos de CPU disponíveis, máximo 4)
- 1-16: Especifique manualmente a quantidade 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 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: Especifica manualmente a contagem de threads. Geralmente mantido baixo para processamento em tempo real
Tamanho do Chunk de Processamento
O Tamanho do Chunk 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 da sincronização labial
- Recomenda-se usar múltiplos de 160 para um alinhamento ideal

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 antecipação em milissegundos para melhorar a precisão da sincronização labial.
- 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)
- Apenas Boca: Apenas controles relacionados à boca, mandíbula e língua
Configurações de Desempenho: Utiliza as mesmas configurações de Intra Op Threads e Inter Op Threads do modelo realista regular.
Configurações de Humor
Humor Disponíveis:
- Neutro, Feliz, Triste, Nojo, Raiva, Surpresa, Medo
- Confiante, Empolgado, 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 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 o quão fortemente o humor afeta a animação (0,0 a 1,0)
- Definir Lookahead (ms): Modifica o tempo de antecipação para sincronização
- Definir Tipo de Saída: Alterna entre os controles de Rosto Completo e Apenas 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 |
| Brinquedão | Conversa casual, humor, interações leves | 0.6 - 0.9 |
| Confuso(a) | Diálogo repleto de perguntas, incerteza, perplexidade | 0.4 - 0.8 |
Configuração do Animation Blueprint
Configuração de Sincronização Labial
- Modelo Padrão
- Modelos Realistas
O nó Blend Runtime MetaHuman Lip Sync possui opções de configuração em seu 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. |
| Redefinir Tempo | 0,2 | A 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 Risada
Você também pode adicionar animações de risada que responderão dinamicamente às risadas detectadas no áudio:
- Adicione o nó
Blend Runtime MetaHuman Laughter - Conecte sua variável
RuntimeVisemeGeneratorao pinoViseme Generator - Se você já estiver usando lip sync:
- Conecte a saída do nó
Blend Runtime MetaHuman Lip SyncàSource Posedo nóBlend Runtime MetaHuman Laughter - Conecte a saída do nó
Blend Runtime MetaHuman Laughterao pinoResultdaOutput Pose
- Conecte a saída do nó
- Se estiver usando apenas risadas sem sincronia labial:
- Conecte sua pose de origem diretamente ao
Source Posedo nóBlend Runtime MetaHuman Laughter - Conecte a saída ao pino
Result
- Conecte sua pose de origem diretamente ao

Quando uma risada é detectada no áudio, seu personagem se animará dinamicamente de acordo:
Configuração de Risada
O nó Blend Runtime MetaHuman Laughter possui 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 labiais fazem a transição entre animações de risada. Valores mais altos resultam em transições mais rápidas e abruptas. |
| Redefinir Tempo | 0,2 | A 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 da Risada | 0.7 | Escala a intensidade máxima da animação de risada (0,0 - 1,0). |
Nota: A detecção de risadas está disponível atualmente apenas com o Modelo Padrão.
O nó Blend Realistic MetaHuman Lip Sync possui 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 Inativa | 15 | Controla a rapidez com que as expressões faciais retornam ao estado neutro/ocioso. Valores mais baixos criam transições mais suaves e graduais de volta à pose de descanso. |
| Redefinir Tempo | 0,2 | Duração em segundos após a qual a sincronização labial é redefinida para o estado ocioso. Útil para evitar que expressões continuem após a parada do áudio. |
| Preserve Idle State | falso | Quando ativado, preserva o último estado emocional durante períodos de inatividade, em vez de redefinir para neutro. |
| Preserve Eye Expressions | true | Controla se os controles faciais relacionados aos olhos são preservados durante o estado ocioso. Só é efetivo quando Preservar Estado Ocioso está ativado. |
| Preserve Brow Expressions | true | Controla se os controles faciais relacionados às sobrancelhas são preservados durante o estado ocioso. Só é efetivo quando Preservar Estado Ocioso está ativado. |
| Preserve Mouth Shape | falso | 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 ocioso. Só é eficaz quando Preserve Idle State está ativado. |
Preservação do Estado Inativo
O recurso Preserve Idle State aborda como o modelo Realistic lida com períodos de silêncio. Diferentemente do modelo Standard, que usa visemas discretos e retorna consistentemente a valores zero durante o silêncio, a rede neural do modelo Realistic pode manter um sutil posicionamento facial que difere da pose de descanso padrão do MetaHuman.
Quando Ativar:
- Manter expressões emocionais entre segmentos de fala
- Preservar traços de personalidade do personagem
- Garantir 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 da fala (língua, mandíbula) sejam redefinidos
Combinando com Animações Existentes
Para aplicar sincronia labial e risadas junto com animações corporais existentes e animações faciais personalizadas sem substituí-las:
Esta configuração se aplica ao Animation Blueprint do rosto, já que a sincronização labial não faz parte do Animation Blueprint do corpo. Para animações corporais personalizadas (ex.: 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 ali.
- Adicione um nó
Layered blend per boneentre suas animações corporais e a saída final. Certifique-se de queUse Attached Parentesteja ativado. - Configure a configuração da camada:
- Adicione 1 item ao array
Layer Setup - Adicione 3 itens aos
Branch Filtersda camada, com os seguintesBone Names:FACIAL_C_FacialRootFACIAL_C_Neck2RootFACIAL_C_Neck1Root
- Adicione 1 item ao array
- Importante para animações faciais personalizadas: Na
Opção de Combinação de Curvas, selecione "Usar Valor Máximo". Isso permite que animações faciais personalizadas (expressões, emoções, etc.) sejam sobrepostas adequadamente à sincronização labial. - Faça as conexões:
- Sua animação personalizada (normalmente um
Sequence Playercom o asset de sequência de animação desejada) → entradaBase Pose - Saída de animação facial (dos nós de sincronia labial e/ou riso) → entrada
Blend Poses 0 - Nó de mesclagem em camadas → pose
Resultfinal
- Sua animação personalizada (normalmente um

Seleção de Conjunto de Alvos de Morph
- Modelo Padrão
- Modelos Realistas
O Modelo Padrão usa pose assets que suportam inerentemente qualquer convenção de nomenclatura de morph target através da configuração personalizada de pose asset. Nenhuma configuração adicional é necessária.
O nó Blend Realistic MetaHuman Lip Sync inclui uma propriedade Morph Target Set que determina qual convenção de nomenclatura de alvos de morph usar para animação facial:
| Conjunto de Alvos de Morph | Descrição | Casos de Uso |
|---|---|---|
| MetaHuman (Padrão) | Nomes padrão de morph target do MetaHuman (ex.: CTRL_expressions_jawOpen) | Personagens MetaHuman |
| ARKit | Nomes compatíveis com Apple ARKit (ex.: JawOpen, MouthSmileLeft) | Personagens baseados em ARKit |
Ajuste Fino do Comportamento de Sincronização Labial
Escala de 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 muito pronunciada para o seu conteúdo de áudio ou personagem.
Configuração:
- Após o seu nó de blend de sincronia labial, adicione um nó
Modify Curve - Clique com o botão direito no nó e selecione Add Curve Pin, em seguida, insira o nome da curva que 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 = redução de 20%)
Curvas comumente escaladas:
| Nome da Curva | Propósito | Aplica-se a | Ajuste Típico |
|---|---|---|---|
CTRL_expressions_tongueOut | Protrusão da língua para frente durante certos fonemas | Modelo padrão | 0.8 para reduzir a protrusão |
CTRL_expressions_jawOpen | Alcance de abertura da mandíbula | Modelos realistas | 0.9 para reduzir o movimento da mandíbula |
Você pode adicionar múltiplos pinos de curva ao mesmo nó Modify Curve para escalonar várias curvas de uma só vez.
Ajuste Fino Específico para Humor
Para modelos habilitados para emoções, você pode ajustar expressões emocionais específicas:
Controle de Sobrancelhas:
CTRL_expressions_browRaiseInL/CTRL_expressions_browRaiseInR- Levantar a sobrancelha internaCTRL_expressions_browRaiseOuterL/CTRL_expressions_browRaiseOuterR- Levantar a sobrancelha externaCTRL_expressions_browDownL/CTRL_expressions_browDownR- Abaixar a 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 sincronização labial usar para seu projeto, considere estes fatores:
| Consideração | Modelo Padrão | Modelo Realista | Modelo Realista com Suporte a Humor |
|---|---|---|---|
| Compatibilidade de Personagens | MetaHumans e todos os tipos de personagens personalizados | MetaHumans (e personagens ARKit) | MetaHumans (e personagens ARKit) |
| Qualidade Visual | Boa sincronização labial com desempenho eficiente | Realismo aprimorado com movimentos bucais mais naturais | Realismo aprimorado com expressões emocionais |
| Desempenho | Otimizado para todas as plataformas, incluindo dispositivos móveis/VR. | Maiores requisitos de recursos | Maiores requisitos de recursos |
| Funcionalidades | 14 visemas, detecção de risada | 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, RV/RA, dispositivos móveis | Experiências cinematográficas, interações em close-up | 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 da UE 5.2 que precisam de funcionalidade confiável de sincronização labial, use o Modelo Padrão como alternativa.
Este problema é específico da UE 5.2 e não afeta outras versões do motor.
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 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
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, é recomendado recriar o gerador sempre que desejar 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.
Por exemplo, você pode recriar o gerador de sincronização labial a cada início de reprodução, como sempre que chamar Play Sound 2D ou usar qualquer outro método para iniciar a reprodução de onda sonora e a sincronização labial:

Localização do Plugin para Integração de Runtime Text To Speech: Ao usar o Runtime MetaHuman Lip Sync em conjunto com o Runtime Text To Speech (ambos os plugins utilizam o ONNX Runtime), você pode enfrentar problemas em builds empacotados se os plugins estiverem instalados na pasta Marketplace do motor. Para corrigir isso:
- Localize ambos os plugins na sua pasta de instalação da UE em
\Engine\Plugins\Marketplace(ex.:C:\Program Files\Epic Games\UE_5.6\Engine\Plugins\Marketplace) - Mova ambas as pastas
RuntimeMetaHumanLipSynceRuntimeTextToSpeechpara a pastaPluginsdo seu projeto - Se o seu projeto não tiver uma pasta
Plugins, crie uma no mesmo diretório do seu arquivo.uproject - Reinicie o Unreal Editor
Isso resolve problemas de compatibilidade que podem ocorrer quando vários plugins baseados no ONNX Runtime são carregados a partir do diretório Marketplace do motor.
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 compilação 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:
- Nas Configurações do Projeto → Empacotamento, defina a Configuração de Build como Shipping
- Reempacote seu projeto

Em alguns projetos apenas com Blueprint, o Unreal Engine pode ainda 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 Ferramentas → Nova Classe C++ 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 apenas 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 ao longo do 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 é anexado. Para evitar esse problema, chame a função ReleaseMemory periodicamente para liberar a memória acumulada, por exemplo, a cada 30 segundos ou mais.
Otimização de Desempenho:
- Ajuste o Tamanho do Chunk de Processamento para modelos Realistas com base nos seus requisitos de desempenho
- Use contagens de threads apropriadas para o hardware alvo
- Considere usar o tipo de saída Somente Boca para modelos com controle de humor quando a animação facial completa não for necessária