Experiências interativas · Guia prático
Integrar personagem virtual ao vídeo: sinal, transparência e tempo
Colocar um personagem sobre a imagem de uma câmera ou entregar sua imagem a outro aplicativo exige acordo sobre formatos, transparência e caminhos. Ver o personagem no motor é apenas uma etapa.
Receber o sinal da câmera e decidir onde compor
- Câmera / formato
- Entrada documentada
- Motor / composição
- Saída / superfície
A câmera pode chegar em SDI/HDMI por capturadora, como dispositivo de vídeo USB ou por caminho IP documentado. Um conector USB sozinho não comprova saída UVC. Registre o modo produzido e o aceito pelo aplicativo, além dos cabos/adaptadores.
- Fonte: modelo, saída, resolução, taxa exata e varredura; incluir áudio embutido. Identificar quem pode alterar os valores.
- Entrada: placa/dispositivo, driver, sistema e build do aplicativo. Confirmar formato suportado e disponibilidade para o processo.
- Composição: personagem somado no motor, em outro aplicativo ou switcher. Marcar recorte, escala e sincronia de áudio.
- Destino: canvas, saída física, processador e superfície. Manter prévia que diferencie fonte recebida e composição entregue.
O Media Framework do Unreal separa fonte, textura e áudio; entradas de placas usam plugins específicos. Uma fonte aceita por um reprodutor não implica suporte igual em todos os motores. Verifique entrada e sincronização com o guia de captura desse caminho.
Ensaio proposto: padrão/fonte estável, depois câmera e composição. Manter formato fixo e verificar orientação, proporção, cor, níveis e voz. Se houver falha ao trocar a fonte, registrar modos antes/depois e etapa afetada. A imagem na prévia não confirma o destino final. Preparar conteúdo local para retirar câmera perdida sem deixar o personagem em fundo incorreto.
Transparência: alpha, recorte e key/fill
Fundo preto não é automaticamente transparente. Alpha descreve a contribuição da imagem na composição; chroma key calcula máscara a partir de uma cor. Uma figura já composta sobre o fundo final pode dispensar transporte de transparência.
Key/fill separa imagem de cor e sinal de recorte. O vMix 29 documenta saídas separadas e modos Straight/Premultiplied em dispositivos selecionados. O exemplo não confirma outros motores, placas ou portas. O par precisa de formato e relação temporal compatíveis com o receptor.
- Combinar arquivo/textura/sinais entregues, aplicativo/build receptor, espaço de cor e tratamento de alpha. A extensão do contêiner não basta.
- Testar bordas semitransparentes em fundos claro/escuro: cabelo, sombra e brilho revelam halos ou recortes. Comparar com render aprovado.
- Verificar cor pré-multiplicada e expectativa do receptor. Uma diferença pode escurecer bordas; não alterar o personagem inteiro sem diagnóstico.
- Com dois sinais, identificar key/fill, taxa, resolução e alinhamento. Ensaiar perda de um sinal e transição para conteúdo local já composto.
Teste proposto: figura fictícia com áreas opacas, transparentes e graduais, estática e em movimento. Observar a composição final; o quadriculado do editor não comprova todo transporte. Registrar resultado por caminho/versão. Se o alpha não for preservado, avaliar composição anterior ou outro mecanismo aprovado, e testar com o receptor escolhido.
Spout ou Syphon: passar imagem entre aplicativos
Spout é voltado ao compartilhamento de vídeo entre aplicativos Windows; Syphon compartilha quadros entre aplicativos macOS. São candidatos para ligar motor visual e composição/playback no mesmo sistema. Não substituem sozinhos conexão entre locais nem projeto de rede de vídeo.
- Identificar aplicativos emissor/receptor, versões, plugin/integração e sistema. Aparecer em uma lista não confirma todos os builds.
- Nomear a saída e selecionar o emissor correto. Registrar resolução, taxa, alpha e comportamento quando o emissor reinicia.
- Revisar GPU ativa e caminho entre processos pela documentação dos dois aplicativos. Com várias GPUs, testar a combinação real antes de garantir continuidade.
- Desenhar a voz separadamente e confirmar transporte. Uma textura recebida não comprova áudio nem sincronia.
Ensaio proposto: enviar padrão com número do quadro e borda transparente, receber, compor e observar o destino. Abrir processos na ordem prevista, fechar/reabrir o emissor de teste e verificar recuperação ou necessidade de nova seleção. Registrar carga e fluidez com o projeto completo.
Se a imagem sumir, o operador muda para conteúdo local enquanto identifica emissor, receptor e estado. Meça o atraso completo nos dois aplicativos e até a tela final, mesmo que o mecanismo de compartilhamento seja descrito como de baixa latência. Saída física e processamento da tela acrescentam etapas. Documente essa interface com os dois projetos para permitir restauração.
Latência: medir a reação completa
Separe captura de dado/imagem, filtragem, processamento, render, transporte e apresentação. Para quem move a mão, importa quando a superfície muda, não só os quadros por segundo informados pelo motor. Na conversa também importa a relação entre boca e voz.
Exemplo aritmético, não medição: a 60 fps, um período equivale a 1000/60 ≈ 16,67 ms; a 30 fps, ≈ 33,33 ms. Isso não significa que cada etapa dure um quadro nem que o atraso total seja esse período. Buffers, avaliação e tela podem acrescentar espera; outras tarefas são paralelas.
- Combinar evento inicial e resposta observada: botão fictício→mudança visual, gesto autorizado→reação ou voz→saída. Não misturar medições de escopos diferentes.
- Usar observação comum de início/fim quando possível; registrar resolução temporal e incerteza. Com relógios separados, verificar sua relação antes de subtrair marcas.
- Repetir com projeto/carga previstos: resolução, taxas exatas, modo do sensor, rede e saída. Registrar variação, não só o melhor valor.
- Distinguir estimado, documentado e medido. Um número do fabricante por componente não é medição ponta a ponta.
Teste proposto: comparar estímulo fictício e resposta gráfica, depois acrescentar entrada real e superfície. Medir voz e imagem separadamente e verificar sincronia percebida na conversa. Se a resposta não acompanhar a ação, ajustar filtros, conteúdo ou regras e repetir a medição para verificar se a resposta é adequada à ação. Preservar valores anteriores para permitir retorno.
Perguntas para preparar a configuração
Arquivo com fundo preto já tem transparência?
Preto pode fazer parte da imagem. Confirme alpha, recorte calculado ou key/fill conforme o caminho. Teste bordas em fundos claros e escuros no aplicativo receptor.
Imagem no motor valida saída ao público?
Ainda é preciso verificar caminho até a superfície e voz. Teste formato, composição, sincronia e resposta no destino final, além da prévia.
Fontes e escopo
- Epic — Media Framework Overview, Unreal Engine 5.8 — Fontes, texturas e áudio dentro do motor; plugins e compatibilidade dependem do caminho escolhido.
- vMix 29 — Key and Fill output support — Exemplo documentado de key/fill e modos alpha; seus menus não se aplicam a outros programas.
- Spout — Windows video sharing — Compartilhamento de imagem entre aplicativos Windows; não valida cada par de aplicativos.
- Syphon — realtime video sharing — Compartilhamento de quadros entre aplicativos macOS com integração compatível; não é conexão entre locais.