Como usar o plugin com personagens personalizados
Este guia orienta você pelo processo de configurar o Runtime MetaHuman Lip Sync para personagens que não são MetaHuman. Este processo requer familiaridade com conceitos de animação e rigging. Se precisar de assistência para implementar isso para seu personagem específico, você pode solicitar suporte profissional em solutions@georgy.dev.
Nota importante sobre modelos de sincronização labial
Personagens personalizados são suportados apenas com o modelo Padrão (Mais Rápido).
O modelo Realista (Maior Qualidade) é projetado para personagens MetaHuman e ARKit e não pode ser usado com outros personagens personalizados. Ao longo deste guia, você deve seguir as instruções do modelo Padrão do guia de configuração principal quando referenciadas.
Plugin de Extensão Obrigatório: Para usar o Modelo Padrão com personagens personalizados, você deve instalar o plugin de extensão Standard Lip Sync Extension conforme descrito na seção de Pré-requisitos do guia de configuração principal.
Esta extensão é obrigatória para todas as implementações de personagens personalizados descritas neste guia.
Pré-requisitos
Antes de começar, certifique-se de que seu personagem atenda a estes requisitos:
- Possui um esqueleto válido
- Contém morph targets (blend shapes) para expressões faciais
- Idealmente possui 10+ morph targets definindo visemas (mais visemas = melhor qualidade de sincronização labial)
O plugin requer o mapeamento dos morph targets do seu personagem para os seguintes visemas padrão:
Sil -> Silence
PP -> Bilabial plosives (p, b, m)
FF -> Labiodental fricatives (f, v)
TH -> Dental fricatives (th)
DD -> Alveolar plosives (t, d)
KK -> Velar plosives (k, g)
CH -> Postalveolar affricates (ch, j)
SS -> Sibilants (s, z)
NN -> Nasal (n)
RR -> Approximant (r)
AA -> Open vowel (aa)
E -> Mid vowel (e)
IH -> Close front vowel (ih)
OH -> Close-mid back vowel (oh)
OU -> Close back vowel (ou)
Observação: Se seu personagem tem um conjunto diferente de visemas (o que é provável), você não precisa de correspondências exatas para cada visema. Aproximações geralmente são suficientes - por exemplo, mapear o visema SH do seu personagem para o visema CH do plugin funcionaria de forma eficaz, já que são sons postalveolares intimamente relacionados.
Referência de mapeamento de visemas
Aqui estão os mapeamentos entre sistemas comuns de visemas e os visemas exigidos pelo plugin:
- Apple ARKit
- Sistemas Baseados em FACS
- Sistema Preston Blair
- Sistema de Fonemas do 3ds Max
- Personagens Personalizados (Daz Genesis 8/9, Reallusion CC3/CC4, Mixamo, ReadyPlayerMe)
O ARKit fornece um conjunto abrangente de blendshapes para animação facial, incluindo várias formas de boca. Veja como mapeá-los para os visemas do RuntimeMetaHumanLipSync:
| Visema RuntimeMetaHumanLipSync | Equivalente ARKit | Notas |
|---|---|---|
| Sil | mouthClose | A posição neutra/de repouso |
| PP | mouthPressLeft + mouthPressRight | Para sons bilabiais, use ambas as formas de pressão juntas |
| FF | lowerLipBiteLeft + lowerLipBiteRight (ou mouthRollLower) | Lábio inferior toca os dentes superiores, como nos sons "f" e "v" |
| TH | tongueOut | O ARKit tem controle direto da língua |
| DD | jawOpen (suave) + tongueUp (se você tiver um rig de língua) | Língua toca a crista alveolar; leve queda da mandíbula |
| KK | mouthLeft ou mouthRight (suave) | Puxão sutil no canto da boca aproxima sons velares |
| CH | jawOpen (suave) + mouthFunnel (suave) | Combine para sons postalveolares |
| SS | mouthFrown | Use um leve franzido para sibilantes |
| NN | jawOpen (muito suave) + mouthClose | Boca quase fechada com leve abertura da mandíbula |
| RR | mouthPucker (suave) | Arredondamento sutil para sons de R |
| AA | jawOpen + mouthStretchLeft + mouthStretchRight (ou jawOpen + mouthOpen) | Boca bem aberta para o som "ah" |
| E | jawOpen (suave) + mouthSmile | Posição medianamente aberta com leve sorriso |
| IH | mouthSmile (suave) | Leve afastamento dos lábios |
| OH | mouthFunnel | Forma arredondada aberta |
| OU | mouthPucker | Lábios firmemente arredondados |
O FACS (Facial Action Coding System) usa Unidades de Ação (AUs) para descrever movimentos faciais. Muitos sistemas de animação profissionais usam abordagens baseadas em FACS:
| Visema RuntimeMetaHumanLipSync | Unidades de Ação FACS | Notas |
|---|---|---|
| Sil | Neutro | Sem AUs ativas |
| PP | AU23 + AU24 | Compressor labial + tensionador labial |
| FF | AU22 + AU28 | Formador de funil labial + sugador labial |
| TH | AU25 (suave) + AU27 | Lábios separados + estiramento da boca |
| DD | AU25 + AU16 | Lábios separados + depressor do lábio inferior |
| KK | AU26 + AU14 | Queda da mandíbula + formador de covinha |
| CH | AU18 + AU25 | Enrugador labial + lábios separados |
| SS | AU20 | Estirador labial |
| NN | AU25 (muito suave) | Lábios levemente separados |
| RR | AU18 (suave) | Enrugamento labial suave |
| AA | AU27 + AU26 | Estiramento da boca + queda da mandíbula |
| E | AU25 + AU12 | Lábios separados + puxador do canto labial |
| IH | AU12 + AU25 (suave) | Puxador do canto labial + lábios levemente separados |
| OH | AU27 (suave) + AU18 | Estiramento suave da boca + enrugamento labial |
| OU | AU18 + AU26 (suave) | Enrugamento labial + queda suave da mandíbula |
O sistema Preston Blair é um padrão clássico de animação que usa nomes descritivos para formas de boca:
| Visema RuntimeMetaHumanLipSync | Preston Blair | Notas |
|---|---|---|
| Sil | Repouso | Posição neutra de boca fechada |
| PP | MBP | A forma clássica de boca "MBP" |
| FF | FV | A posição "FV" com dentes no lábio inferior |
| TH | TH | Língua tocando os dentes da frente |
| DD | D/T/N | Posição similar para essas consoantes |
| KK | CKG | Posição de consoante dura |
| CH | CH/J/SH | Leve biquinho para esses sons |
| SS | S/Z | Posição de dentes levemente abertos |
| NN | N/NG/L | Similar a D/T mas com posição diferente da língua |
| RR | R | Lábios arredondados para o som R |
| AA | AI | Boca bem aberta |
| E | EH | Boca medianamente aberta |
| IH | EE | Lábios afastados |
| OH | OH | Abertura média arredondada |
| OU | OO | Lábios firmemente arredondados |
O 3ds Max usa um sistema baseado em fonemas para seu character studio:
| Visema RuntimeMetaHumanLipSync | Fonema 3ds Max | Notas |
|---|---|---|
| Sil | rest | Posição padrão da boca |
| PP | p_b_m | Equivalente direto |
| FF | f_v | Equivalente direto |
| TH | th | Equivalente direto |
| DD | t_d | Equivalente direto |
| KK | k_g | Equivalente direto |
| CH | sh_zh_ch | Forma combinada |
| SS | s_z | Equivalente direto |
| NN | n_l | Combinado para esses sons |
| RR | r | Equivalente direto |
| AA | ah | Som de vogal aberta |
| E | eh | Vogal média |
| IH | ee | Vogal frontal fechada |
| OH | oh | Vogal posterior arredondada |
| OU | oo | Vogal posterior fechada |
Personagens personalizados com visemas ou blend shapes/morph targets de boca (Daz Genesis 8/9, Reallusion CC3/CC4, Mixamo, ReadyPlayerMe, etc.) normalmente podem ser mapeados para o sistema de visemas do plugin com aproximações razoáveis.
Criando um Ativo de Pose Personalizado
Siga estas etapas para criar um ativo de pose personalizado para seu personagem que será usado com o nó Blend Runtime MetaHuman Lip Sync:
1. Localize a Skeletal Mesh do seu personagem
Encontre a skeletal mesh que contém os morph targets (blend shapes) que você deseja usar para animação de sincronização labial. Pode ser uma mesh de corpo inteiro ou apenas uma mesh facial, dependendo do design do seu personagem.
2. Verifique os Morph Targets e Curves
Antes de prosseguir, verifique se sua skeletal mesh tem morph targets apropriados e curves correspondentes para animação de sincronização labial.
Verifique os Morph Targets: Confirme se sua skeletal mesh contém morph targets (blend shapes) que podem ser usados como visemas para animação de sincronização labial. A maioria dos personagens com suporte a animação facial deve ter alguns morph targets de fonemas/visemas.

Importante: Verifique a Guia Curves Esta etapa é especialmente crucial para personagens exportados do Blender ou de outros softwares externos:
- Abra a guia Curves no editor de Skeletal Mesh
- Verifique se você consegue ver curves correspondentes aos seus morph targets
- Se a guia Curves estiver vazia mas os morph targets existirem, adicione manualmente novas curves usando exatamente os mesmos nomes dos seus morph targets
Observação: Esse problema ocorre comumente em exportações do Blender onde os morph targets são importados com sucesso, mas as curves de animação não são criadas automaticamente. Sem curves correspondentes, a animação não será preenchida corretamente após o bake para o Control Rig.
Solução Alternativa: Para evitar esse problema durante a exportação do Blender, tente habilitar Custom Properties e Animation nas configurações de exportação FBX, o que pode ajudar a incluir curves de animação junto com os morph targets.
3. Crie uma Animação de Pose de Referência
- Vá para
Create Asset -> Create Animation -> Reference Pose - Insira um nome descritivo para a sequência de animação e salve-a em um local apropriado
- A Animation Sequence criada será aberta automaticamente, mostrando uma animação vazia reproduzindo em loop

- Clique no botão
Pausepara parar a reprodução da animação para facilitar a edição

4. Edite a Animation Sequence
- Clique em
Edit in Sequencer->Edit with FK Control Rig - Na caixa de diálogo
Bake to Control Rig, clique no botãoBake to Control Rigsem alterar nenhuma configuração

- O editor mudará para o
Animation Modecom a guiaSequenceraberta - Defina o
View Range End Timepara 0016 (o que definirá automaticamente oWorking Range Endpara 0016 também) - Arraste a borda direita do controle deslizante para a extremidade direita da janela do sequenciador
5. Prepare the Animation Curves
- Retorne ao ativo Animation Sequence e localize os morph targets na lista
Curves(se não estiverem visíveis, feche e reabra o ativo Animation Sequence) - Remova quaisquer morph targets que não estejam relacionados a visemas ou movimentos da boca que você deseja usar para a sincronização labial
6. Plan your viseme mapping
Crie um plano de mapeamento para corresponder os visemas do seu personagem ao conjunto exigido pelo plugin. Por exemplo:
Sil -> Sil
PP -> FV
FF -> FV
TH -> TH
DD -> TD
KK -> KG
CH -> CH
SS -> SZ
NN -> NL
RR -> RR
AA -> AA
E -> E
IH -> IH
OH -> O
OU -> U
Observe que é aceitável ter mapeamentos repetidos quando o conjunto de visemas do seu personagem não tem correspondências exatas para cada visema necessário.
7. Animate each viseme
- Para cada visema, anime as curvas do morph target relevante de 0.0 para 1.0
- Inicie a animação de cada visema em um frame diferente
- Configure curvas adicionais conforme necessário (abertura da mandíbula/boca, posição da língua, etc.) para criar formas de visema com aparência natural
8. Create a Pose Asset
- Vá para
Create Asset->Pose Asset->Current Animation - Insira um nome descritivo para o Pose Asset e salve-o em um local apropriado
- O Pose Asset criado será aberto automaticamente, mostrando poses como
Pose_0,Pose_1, etc., cada uma correspondendo a um visema - Visualize os pesos dos visemas para garantir que funcionem conforme o esperado

9. Finalize the Pose Asset
- Renomeie cada pose para corresponder aos nomes dos visemas da seção Prerequisites
- Exclua quaisquer poses não utilizadas
Setting up audio handling and blending
Uma vez que seu ativo de pose estiver pronto, você precisa configurar os nós de manipulação e mesclagem de áudio:
- Localize ou crie o Animation Blueprint do seu personagem
- Configure a manipulação e mesclagem de áudio seguindo os mesmos passos documentados no guia de configuração padrão do plugin
- No nó
Blend Runtime MetaHuman Lip Sync, selecione seu ativo de Pose personalizado em vez do ativo de pose MetaHuman padrão

Combining with body animations
Se você deseja realizar a sincronização labial junto com outras animações corporais:
- Siga os mesmos passos documentados no guia padrão do plugin
- Certifique-se de fornecer os nomes corretos dos ossos para o esqueleto do pescoço do seu personagem, em vez de usar os nomes dos ossos do MetaHuman
Resultados
Aqui estão exemplos de personagens personalizados usando esta configuração:



A qualidade da sincronização labial depende em grande parte do personagem específico e de quão bem seus visemas estão configurados. Os exemplos acima demonstram o plugin funcionando com diferentes tipos de personagens personalizados com sistemas de visemas distintos.