Como usar o plugin com personagens personalizados
Este guia orienta você através do processo de configuração do Runtime MetaHuman Lip Sync para personagens nã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 entrar em contato para suporte profissional em [email protected].
Nota Importante Sobre Modelos de Lip Sync
Personagens personalizados são suportados apenas com o modelo Standard (Mais Rápido).
O modelo Realistic (Maior Qualidade) é projetado exclusivamente para personagens MetaHuman e não pode ser usado com personagens personalizados. Ao longo deste guia, você deve seguir as instruções do modelo Standard do guia de configuração principal quando referenciado.
Plugin de Extensão Obrigatório: Para usar o Modelo Standard com personagens personalizados, você deve instalar o plugin de extensão Standard Lip Sync 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 lip sync)
O plugin requer mapear os 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)
Nota: Se o 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 efetivamente, 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 Customizados (Daz Genesis 8/9, Reallusion CC3/CC4, Mixamo, ReadyPlayerMe)
O ARKit fornece um conjunto abrangente de blendshapes para animação facial, incluindo vários formatos de boca. Aqui está como mapeá-los para os visemas do RuntimeMetaHumanLipSync:
Visema RuntimeMetaHumanLipSync | Equivalente ARKit | Notas |
---|---|---|
Sil | mouthClose | A posição neutra/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 (leve) + tongueUp (se tiver rig de língua) | Língua toca o alvéolo; leve abertura da mandíbula |
KK | mouthLeft ou mouthRight (leve) | Puxão sutil do canto da boca aproxima sons velares |
CH | jawOpen (leve) + mouthFunnel (leve) | Combine para sons postalveolares |
SS | mouthFrown | Use um leve franzir para sibilantes |
NN | jawOpen (muito leve) + mouthClose | Boca quase fechada com leve abertura da mandíbula |
RR | mouthPucker (leve) | Arredondamento sutil para sons de r |
AA | jawOpen + mouthStretchLeft + mouthStretchRight (ou jawOpen + mouthOpen) | Boca bem aberta para o som "ah" |
E | jawOpen (leve) + mouthSmile | Posição semiaberta com leve sorriso |
IH | mouthSmile (leve) | Leve abertura 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 profissional usam abordagens baseadas em FACS:
Visema RuntimeMetaHumanLipSync | Unidades de Ação FACS | Notas |
---|---|---|
Sil | Neutro | Nenhuma AU ativa |
PP | AU23 + AU24 | Pressão labial + tensionador labial |
FF | AU22 + AU28 | Funil labial + sucção labial |
TH | AU25 (leve) + AU27 | Lábios separados + alongamento da boca |
DD | AU25 + AU16 | Lábios separados + depressor do lábio inferior |
KK | AU26 + AU14 | Queda da mandíbula + formador de covinhas |
CH | AU18 + AU25 | Enrugamento labial + lábios separados |
SS | AU20 | Estirador labial |
NN | AU25 (muito leve) | Lábios levemente separados |
RR | AU18 (leve) | Enrugamento labial leve |
AA | AU27 + AU26 | Alongamento da boca + queda da mandíbula |
E | AU25 + AU12 | Lábios separados + puxador do canto labial |
IH | AU12 + AU25 (leve) | Puxador do canto labial + lábios levemente separados |
OH | AU27 (leve) + AU18 | Alongamento leve da boca + enrugamento labial |
OU | AU18 + AU26 (leve) | Enrugamento labial + queda leve da mandíbula |
O sistema Preston Blair é um padrão clássico de animação que usa nomes descritivos para formatos de boca:
RuntimeMetaHumanLipSync Viseme | Preston Blair | Notas |
---|---|---|
Sil | Rest | Posição neutra da boca fechada |
PP | MBP | O clássico formato 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 | Ligeiro bico 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 estendidos |
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:
RuntimeMetaHumanLipSync Viseme | 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 fechada anterior |
OH | oh | Vogal posterior arredondada |
OU | oo | Vogal posterior fechada |
Personagens customizados com visemas ou morph targets/blend shapes 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 Pose Asset customizado
Siga estes passos para criar um pose asset customizado 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 a animação de lip sync. Isso pode ser uma mesh corporal completa 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 possui morph targets apropriados e curves correspondentes para animação de lip sync.
Verifique os Morph Targets:
Verifique se sua skeletal mesh contém morph targets (blend shapes) que podem ser usados como visemas para animação de lip sync. A maioria dos personagens com suporte a animação facial deve ter alguns morph targets de fonemas/visemas.
Importante: Verifique a aba Curves Esta etapa é especialmente crucial para personagens exportados do Blender ou de outros softwares externos:
- Abra a aba Curves no editor de Skeletal Mesh
- Verifique se você consegue ver curvas correspondentes aos seus morph targets
- Se a aba Curves estiver vazia mas os morph targets existirem, adicione manualmente novas curvas usando exatamente os mesmos nomes dos seus morph targets
Nota: Este problema ocorre comumente em exportações do Blender onde os morph targets importam com sucesso, mas as curvas de animação não são criadas automaticamente. Sem as curvas correspondentes, a animação não será preenchida corretamente após o baking para Control Rig.
Solução Alternativa: Para evitar este 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 curvas de animação junto com os morph targets.
3. Crie uma Animation de Pose de Referência
- Vá para
Create Asset -> Create Animation -> Reference Pose
- Digite 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
Pause
para 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
- No diálogo
Bake to Control Rig
, clique no botãoBake to Control Rig
sem alterar nenhuma configuração
- O editor mudará para o
Animation Mode
com a abaSequencer
aberta - Defina o
View Range End Time
para 0016 (o que definirá automaticamente oWorking Range End
para 0016 também) - Arraste a borda direita do slider para o final direito da janela do sequenciador
5. Prepare as Curvas de Animação
- Retorne ao ativo de Sequência de Animação e localize os morph targets na lista
Curves
(se não estiverem visíveis, feche e reabra o ativo da Sequência de Animação) - Remova quaisquer morph targets que não estejam relacionados a visemas ou movimentos da boca que você deseja usar para o Lip Sync
6. Planeje seu mapeamento de visemas
Crie um plano de mapeamento para associar 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 possui correspondências exatas para cada visema necessário.
7. Animar cada visema
- 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. Criar um Pose Asset
- Vá para
Create Asset
->Pose Asset
->Current Animation
- Digite 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. Finalizar o Pose Asset
- Renomeie cada pose para corresponder aos nomes dos visemas da seção Prerequisites
- Exclua quaisquer poses não utilizadas
Configurando o tratamento e a mesclagem de áudio
Uma vez que seu Pose Asset estiver pronto, você precisa configurar os nós de tratamento e mesclagem de áudio:
- Localize ou crie o Animation Blueprint do seu personagem
- Configure o tratamento e a 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 Pose Asset personalizado em vez do Pose Asset padrão do MetaHuman
Combinando com animações corporais
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 skeleton do pescoço do seu personagem, em vez de usar os nomes de 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.