Experiencias interactivas · Guía práctica
Integrar una figura virtual con video: señal, transparencia y tiempo
Para poner un personaje sobre una cámara o entregar su imagen a otra aplicación hay que acordar formatos, transparencia y rutas. Ver la figura dentro del motor es sólo una etapa de esa cadena.
Ingresar la cámara y decidir dónde se compone
- Cámara / formato
- Ingreso documentado
- Motor / composición
- Salida / superficie
La cámara puede llegar como señal SDI/HDMI a una capturadora, como dispositivo USB de video o mediante una ruta IP documentada. Un conector USB no demuestra por sí solo que el equipo entregue UVC. Registrá el modo que produce la fuente y el que acepta la aplicación, además del cable o adaptador.
- Fuente: modelo, salida elegida, resolución, tasa exacta y barrido; incluir audio si viaja embebido. Identificar quién puede cambiar esos valores.
- Ingreso: tarjeta o dispositivo, driver, sistema operativo y build de aplicación. Confirmar soporte del formato y si la entrada está disponible para ese proceso.
- Composición: decidir si el personaje se suma dentro del motor, en otra aplicación o en un mezclador. Marcar dónde se hacen recorte, escala y sincronía de audio.
- Destino: lienzo, salida física, procesador y superficie. Conservar una previsualización que distinga fuente recibida de composición entregada.
En Unreal, Media Framework separa fuente de medios, textura y audio; las entradas de tarjetas usan plugins específicos. No deduzcas que una fuente aceptada por un reproductor se admite igual en cada motor. Para comprobar la entrada y su sincronización, seguí la guía de captura correspondiente a esa ruta.
Ensayo propuesto: primero patrón o fuente estable, luego cámara y por último composición. Mantener formato fijo, comprobar orientación, proporción, color, niveles y voz. Si falla al cambiar de fuente, registrar modos antes/después y etapa afectada. Una imagen visible en preview no confirma el destino final. Preparar contenido local para retirar una cámara perdida sin dejar el personaje sobre un fondo incorrecto.
Transparencia: alpha, recorte y key/fill
Un fondo negro no es automáticamente transparente. El canal alpha describe la contribución de la imagen al componerla; un chroma key calcula una máscara desde un color. Si la figura se entrega ya compuesta sobre el fondo final, puede no necesitar transportar transparencia.
Key/fill separa imagen de color y señal de recorte. vMix 29 documenta salidas separadas y modos Straight/Premultiplied para dispositivos seleccionados. Ese ejemplo no confirma otros motores, tarjetas o puertos. La pareja de señales requiere formato y relación temporal compatibles con el receptor.
- Acordar archivo/textura/señales de entrega, aplicación y build receptor, espacio de color y tratamiento de alpha. La extensión del contenedor no basta.
- Probar bordes semitransparentes sobre fondo claro y oscuro: pelo, sombra y brillo revelan halos o recortes. Comparar con el render aprobado.
- Comprobar si el color está premultiplicado y qué espera el receptor. Un desacuerdo puede oscurecer bordes; no corregirlo a ciegas alterando todo el personaje.
- Si se usan dos señales, identificar cuál es key y cuál fill, tasa, resolución y alineación. Ensayar pérdida de una señal y transición a un contenido compuesto local.
Prueba propuesta: una figura ficticia con zonas opacas, transparentes y graduales, primero estática y luego en movimiento. Observar la composición en el destino final; un tablero de transparencia en el editor no prueba el transporte completo. Documentar el resultado por ruta y versión. Si la cadena no conserva alpha, evaluar componer antes o usar otro mecanismo aprobado, y comprobarlo con el receptor elegido.
Spout o Syphon: pasar imagen entre aplicaciones
Spout se orienta al intercambio de video entre aplicaciones Windows; Syphon comparte cuadros entre aplicaciones macOS. Son candidatos para comunicar un motor visual con composición/playback en el mismo sistema. No sustituyen por sí solos la conexión de dos sedes ni el diseño de una red de video.
- Identificar aplicación emisora y receptora, versiones, plugin o integración y sistema operativo. Estar en una lista de programas no confirma todos sus builds.
- Nombrar la salida y seleccionar el emisor correcto. Registrar resolución, tasa, alpha y comportamiento si el emisor se reinicia.
- Revisar GPU activa y ruta entre procesos según la documentación de ambas aplicaciones. En equipos con varias GPU, probar la combinación real antes de asegurar continuidad.
- Dibujar la voz como ruta propia y confirmar su transporte. Una textura recibida no demuestra audio ni sincronía.
Ensayo propuesto: enviar patrón con número de cuadro y borde transparente, recibirlo, componerlo y observar el destino. Abrir los procesos en el orden previsto, cerrar/reabrir el emisor de prueba y comprobar si el receptor recupera la fuente o requiere reselección. Anotar consumo y fluidez con el proyecto completo.
Si la imagen desaparece, el operador pasa a una pieza local mientras se identifica emisor, receptor y estado. Medí el retardo completo con ambas aplicaciones y el destino final, aunque el mecanismo de intercambio se describa como de baja latencia. La salida física y el procesamiento de pantalla siguen sumando etapas. Documentá esta interfaz junto con los proyectos de ambas aplicaciones para poder recuperarla.
Latencia: medir la reacción completa
Separá captura del dato o imagen, filtrado, proceso, render, transporte y presentación. Para una persona que mueve la mano importa cuándo cambia la superficie, no sólo cuántos cuadros por segundo informa el motor. En una conversación también importa la relación entre boca y voz.
Ejemplo aritmético, no medición: a 60 fps, un período de cuadro equivale a 1000/60 ≈ 16,67 ms; a 30 fps, ≈ 33,33 ms. Eso no significa que cada etapa tarde un cuadro ni que el retardo total sea igual a ese período. Buffers, evaluación y pantalla pueden agregar espera; otras tareas ocurren en paralelo.
- Acordar el evento de inicio y la respuesta que se observará: pulsación ficticia→cambio visual, gesto autorizado→reacción o voz→salida. No mezclar mediciones de alcances distintos.
- Usar un método común para ver inicio y final cuando sea posible; registrar su resolución temporal e incertidumbre. Para relojes separados, comprobar su relación antes de restar marcas.
- Repetir con el proyecto y carga previstos, anotando resolución, tasas exactas, modo de sensores, red y salida. Registrar variación, no sólo el mejor valor.
- Distinguir estimado, documentado y medido. Una cifra del fabricante de un componente no es una medición punta a punta.
Prueba propuesta: comparar primero un estímulo ficticio con la respuesta gráfica y luego incorporar ingreso real y superficie. Medir voz e imagen por caminos separados y verificar la sincronía percibida al conversar. Si el resultado no acompaña la acción, ajustar filtros, contenido o reglas y repetí la medición para comprobar si la respuesta resulta adecuada. Conservar valores previos para que el cambio sea reversible.
Preguntas para preparar la configuración
¿Un archivo con fondo negro ya tiene transparencia?
El negro puede ser parte de la imagen. Para componer hay que confirmar alpha, un recorte calculado o señales key/fill según la ruta elegida. Probá bordes sobre fondos claros y oscuros en la aplicación receptora.
¿La imagen en el motor comprueba la salida al público?
Todavía hay que verificar el recorrido hasta la superficie y la ruta de voz. La prueba debe observar formato, composición, sincronía y respuesta en el destino final, además de la previsualización.
Fuentes y alcance
- Epic — Media Framework Overview, Unreal Engine 5.8 — Fuentes, texturas y audio dentro del motor; plugins y compatibilidad dependen de la ruta seleccionada.
- vMix 29 — Key and Fill output support — Ejemplo documentado de key/fill y modos de alpha; no se aplican sus menús a otros programas.
- Spout — Windows video sharing — Intercambio de imagen entre aplicaciones Windows; no prueba compatibilidad de cada par de aplicaciones.
- Syphon — realtime video sharing — Intercambio de cuadros entre aplicaciones macOS con integración compatible; no es una conexión entre sedes.