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 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 mostrar movimentos de 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 balanceados, condições de áudio mistas |
Original | Adequado para uso em tempo real em CPUs modernas | Qualidade mais alta | Mais estável com ruído de fundo e sons não vocais | Produçõ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
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
Guia de Seleção de Humor
Escolha humores apropriados com base no seu conteúdo:
Humor | Melhor Para | Intervalo de Intensidade Típico |
---|---|---|
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 |
Nojinho | 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 |
Animado | Conteúdo energético, anúncios, diálogo entusiástico | 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 com muitas perguntas, incerteza, perplexidade | 0.4 - 0.8 |
Configuração do Animation Blueprint
Configuração de Lip Sync
- Standard Model
- Realistic Models
O nó Blend Runtime MetaHuman Lip Sync
tem 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 transitam 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 é reiniciada. Isso é útil para evitar que a sincronização labial continue após o áudio ter parado. |
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 os movimentos labiais transitam entre posições. 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 é reiniciada. Isso é útil para evitar que a sincronização labial continue após o áudio ter parado. |
Nota: O mesmo nó de Animation Blueprint é usado para modelos realistas regulares e com ativação de humor.
Animação de Riso
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
RuntimeVisemeGenerator
ao pinoViseme Generator
- Se você já está usando sincronização labial:
- Conecte a saída do nó
Blend Runtime MetaHuman Lip Sync
aoSource Pose
do nóBlend Runtime MetaHuman Laughter
- Conecte a saída do nó
Blend Runtime MetaHuman Laughter
ao pinoResult
doOutput Pose
- Conecte a saída do nó
- 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
- Conecte sua pose de origem diretamente ao
Quando o riso é detectado no áudio, seu personagem 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 labiais transitam entre animações de riso. 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 o riso é reiniciado. Isso é útil para evitar que o riso continue após o áudio ter parado. |
Peso Máximo de Riso | 0.7 | Escala 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:
- Adicione um nó
Layered blend per bone
entre suas animações corporais e a saída final. Certifique-se de queUse Attached Parent
esteja verdadeiro. - Configure a configuração de camadas:
- Adicione 1 item ao array
Layer Setup
- Adicione 3 itens aos
Branch Filters
para a camada, com os seguintesBone Name
s:FACIAL_C_FacialRoot
FACIAL_C_Neck2Root
FACIAL_C_Neck1Root
- Adicione 1 item ao array
- 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. - Faça as conexões:
- Animações existentes (como
BodyPose
) → entradaBase 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
- Animações existentes (como
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:
- Após o seu nó de blend do lip sync, adicione um nó
Modify Curve
- Clique com o botão direito no nó
Modify Curve
e selecione Add Curve Pin - Adicione um pino de curva com o nome
CTRL_expressions_tongueOut
- Defina a propriedade Apply Mode do nó para Scale
- 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:
- Após o seu nó de blend do lip sync, adicione um nó
Modify Curve
- Clique com o botão direito no nó
Modify Curve
e selecione Add Curve Pin - Adicione um pino de curva com o nome
CTRL_expressions_jawOpen
- Defina a propriedade Apply Mode do nó para Scale
- 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 internaCTRL_L_brow_raiseOut.ty
/CTRL_R_brow_raiseOut.ty
- Elevação da sobrancelha externaCTRL_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ção | Modelo Padrão | Modelo Realista | Modelo Realista com Humor |
---|---|---|---|
Compatibilidade de Personagens | MetaHumans e todos os tipos de personagens personalizados | Apenas MetaHumans | Apenas MetaHumans |
Qualidade Visual | Boa sincronização labial com desempenho eficiente | Realismo aprimorado com movimentos de boca mais naturais | Realismo aprimorado com expressões emocionais |
Desempenho | Otimizado para todas as plataformas incluindo mobile/VR | Requisitos de recursos mais altos | Requisitos de recursos mais altos |
Recursos | 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 de Plataforma | Windows, Android, Quest | Windows, Mac, iOS, Linux | Windows, Mac, iOS, Linux |
Casos de Uso | Aplicações gerais, jogos, VR/AR, mobile | Experiências cinematográficas, interações em close-up | Narrativa emocional, interação avançada de personagens |
Compatibilidade com Versão do Engine
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 Modelo | Suporte TTS Local (via Runtime Text To Speech) | Suporte TTS Externo | Observações |
---|---|---|---|
Modelo Padrão | ✅ Suporte total | ✅ Suporte total | Compatível com todas as opções de TTS |
Modelo Realista | ❌ Suporte limitado | ✅ Suporte total | Conflitos de runtime ONNX com TTS local |
Modelo Realista com Humor | ✅ Suporte total | ✅ Suporte total | Compatí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