Pular para o conteúdo principal

Como usar o plugin

Este guia orienta você através do processo de configuração do Runtime MetaHuman Lip Sync para seus personagens MetaHuman.

Observação: O Runtime MetaHuman Lip Sync funciona com MetaHumans e personagens personalizados. O plugin suporta vários tipos de personagens, incluindo:

  • Personagens comerciais populares (Daz Genesis 8/9, Reallusion CC3/CC4, Mixamo, ReadyPlayerMe, etc)
  • Personagens com blendshapes baseados em FACS
  • Modelos que usam os padrões de blendshape ARKit
  • Personagens com conjuntos de fonemas Preston Blair
  • Sistemas de fonemas do 3ds Max
  • Qualquer personagem com morph targets personalizados para expressões faciais

Para instruções detalhadas sobre a configuração de personagens personalizados, incluindo referências de mapeamento de visemas para todos os padrões acima, consulte o Guia de configuração de personagens personalizados.

Pré-requisitos

Antes de começar, certifique-se de que:

  1. O plugin MetaHuman está ativado em seu projeto
  2. Você tem pelo menos um personagem MetaHuman baixado e disponível em seu projeto
  3. O plugin Runtime MetaHuman Lip Sync está instalado

Plugins adicionais:

Configuração específica por plataforma

Configuração para Android / Meta Quest

Se você está direcionando para plataformas Android ou Meta Quest e encontrar erros de compilação com este plugin, será necessário desativar a arquitetura Android x86_64 (x64) nas configurações do seu projeto:

  1. Vá para Editar > Configurações do Projeto
  2. Navegue até Plataformas > Android
  3. Em Plataformas - Android, seção Build, localize Suportar x86_64 [também conhecido como x64] e certifique-se de que está desativado, conforme mostrado abaixo

Desativar arquitetura x64 Android

Isso ocorre porque o plugin atualmente suporta apenas as arquiteturas arm64-v8a e armeabi-v7a para plataformas Android / Meta Quest.

Processo de configuração

Passo 1: Localize e modifique o Blueprint de animação facial

Você precisa modificar um Animation Blueprint que será usado para as animações faciais do seu personagem MetaHuman. O Animation Blueprint facial padrão do MetaHuman está localizado em:

Content/MetaHumans/Common/Face/Face_AnimBP

Face Animation Blueprint

Você tem várias opções para implementar a funcionalidade de lip sync:

Abra o Face_AnimBP padrão diretamente e faça suas modificações. Qualquer alteração afetará todos os personagens MetaHuman que usam este Animation Blueprint.

Observação: Esta abordagem é conveniente, mas impactará todos os personagens que usam o Animation Blueprint padrão.

Importante: A mistura do Runtime MetaHuman Lip Sync pode ser implementada em qualquer asset Animation Blueprint que tenha acesso a uma pose contendo os ossos faciais presentes no Face_Archetype_Skeleton padrão do MetaHuman. Você não está limitado às opções acima - estas são apenas abordagens comuns de implementação.

Passo 2: Configuração do Event Graph

Abra seu Face Animation Blueprint e mude para o Event Graph. Você precisará criar um Runtime Viseme Generator que processará dados de áudio e gerará visemas.

  1. Adicione o nó Event Blueprint Begin Play se ele não existir
  2. Adicione o nó Create Runtime Viseme Generator e conecte-o ao evento Begin Play
  3. Salve a saída como uma variável (ex: "VisemeGenerator") para uso em outras partes do grafo

Creating Runtime Viseme Generator

Passo 3: Configurar processamento de entrada de áudio

Você precisa configurar um método para processar a entrada de áudio. Há várias maneiras de fazer isso dependendo da sua fonte de áudio.

Esta abordagem executa lip sync em tempo real enquanto fala no microfone:

  1. Crie um Capturable Sound Wave usando Runtime Audio Importer
  2. Antes de começar a capturar áudio, vincule ao delegate OnPopulateAudioData
  3. Na função vinculada, chame ProcessAudioData do seu Runtime Viseme Generator
  4. Comece a capturar áudio do microfone

Nós copiáveis.

Lip Sync During Audio Capture

Passo 4: Configuração do Anim Graph

Após configurar o Event Graph, mude para o Anim Graph para conectar o viseme generator à animação do personagem:

Lip Sync

  1. Localize a pose que contém o rosto do MetaHuman (tipicamente de Use cached pose 'Body Pose')
  2. Adicione o nó Blend Runtime MetaHuman Lip Sync
  3. Conecte a pose ao Source Pose do nó Blend Runtime MetaHuman Lip Sync
  4. Conecte sua variável RuntimeVisemeGenerator ao pino Viseme Generator
  5. Conecte a saída do nó Blend Runtime MetaHuman Lip Sync ao pino Result do Output Pose

Blend Runtime MetaHuman Lip Sync

Quando lip sync é detectado no áudio, seu personagem animará dinamicamente de acordo:

Lip Sync

Animação de Riso

Você também pode adicionar animações de riso que responderão dinamicamente ao riso detectado no áudio:

  1. Adicione o nó Blend Runtime MetaHuman Laughter
  2. Conecte sua variável RuntimeVisemeGenerator ao pino Viseme Generator
  3. Se já estiver usando lip sync:
    • Conecte a saída do nó Blend Runtime MetaHuman Lip Sync ao Source Pose do nó Blend Runtime MetaHuman Laughter
    • Conecte a saída do nó Blend Runtime MetaHuman Laughter ao pino Result do Output Pose
  4. Se usando apenas riso sem lip sync:
    • Conecte sua pose fonte diretamente ao Source Pose do nó Blend Runtime MetaHuman Laughter
    • Conecte a saída ao pino Result

Blend Runtime MetaHuman Laughter

Quando riso é detectado no áudio, seu personagem animará dinamicamente de acordo:

Laughter

Combinando com Animações Corporais

Para aplicar lip sync e riso junto com animações corporais existentes sem