Contenido del curso
Crea la estructura base
- 3

Controla un puntero con rotación facial en Spark AR
14:59 min - 4

Lógica de enemigos con Patch Assets en Spark AR
16:58 min - 5

Detectar contacto entre objetos en Spark AR
09:43 min - 6

Simula gestos en Spark AR sin webcam
04:48 min - 7

Contadores de puntos y vidas en Spark AR
13:14 min - 8

Pulse Multiplexer para unir señales en Spark AR
03:09 min - 9

Cómo mostrar el puntaje en Spark AR
07:17 min - 10

Animación Game Over en Spark AR con script
13:53 min - 11

Modo de juego y espera en Spark AR
14:20 min - 12

Dificultad progresiva con patches en Spark AR
14:05 min
Crea los gráficos
- 13

Recolorir texturas faciais com Swizzle no Spark
10:16 min - 14

Gráficos procedurales para animar en Spark AR
10:48 min - 15

Ojos y colores en un fantasma SDF
06:25 min - 16

Animaciones reactivas para fantasmas en Meta Spark
Viendo ahora - 17

Capas y materiales para orden visual en AR
03:21 min - 18

Cómo importar objetos 3D en Spark AR
08:48 min
Acabado Final
Animaciones reactivas para fantasmas en Meta Spark
Resumen
Animar gráficos en Meta Spark con feedback visual transforma un fantasma estático en un personaje que reacciona, cambia de color y pulsa cuando lo capturas. Si estás creando un filtro de realidad aumentada y buscas que tu usuario sienta cada interacción, conectar la lógica del juego con el sistema de gráficos es el paso que da vida al proyecto.
¿Cómo conectar la lógica de captura con los gráficos del fantasma?
La clave está en aprovechar el nodo if que ya controlaba si el fantasma estaba siendo capturado o no. Ese condicional funciona como un puente entre la estructura visual y la lógica del juego.
Para lograrlo, duplicas el gradient original y lo conectas al mismo Smoothstep, pero con una paleta distinta. La idea es tener dos versiones del mismo personaje listas para alternarse según lo que pase en pantalla.
- Versión normal: morado oscuro con alfa intermedio cuando nadie lo está capturando.
- Versión activa: rojo cuando el usuario lo captura.
- Rangos del Smoothstep: se mantienen en 0,5 para conservar la transición suave de la versión original.
¿Qué hace el nodo if en Meta Spark? Funciona como un interruptor que decide qué output mostrar según una condición. Aquí elige entre el color normal y el color de captura.
Al conectar ambos gradients al if, el output cambia automáticamente cuando el fantasma es capturado [02:14]. Si los nodos tienen entradas distintas aparece un error, pero al venir ambos del mismo origen el flujo queda limpio.
¿Cómo crear una animación de desvanecimiento al capturar?
El siguiente paso es controlar la transparencia con una animación que se dispare en el momento exacto de la captura. Y aquí entran en juego los avisos que ya existían en la lógica.
¿Qué nodos necesitas para animar el alfa?
Los avisos de capturado y completado se conectan a un nodo Animation. Uno le da play y el otro lo resetea, formando un ciclo limpio.
- Animation: arranca cuando el fantasma es capturado.
- Receiver: resetea la animación al completarse.
- To Range: convierte el progreso de 0 a 1 en un valor de 1 a 0, ideal para hacer que algo desaparezca [03:42].
- Multiply: multiplica el color final por ese valor animado para controlar el alfa.
¿Para qué sirve el nodo To Range? Toma un valor de entrada en un rango y lo traduce a otro rango lineal. Es perfecto para invertir progresos o adaptar valores de animación.
La duración inicial resultaba lenta, así que se ajustó el Animation a 0,3 segundos para que el desvanecimiento se sienta ágil y responda al ritmo del juego.
¿Cómo darle vida al cuerpo del fantasma con una animación cíclica?
El último detalle es animar el tamaño del cuerpo, controlado por el atributo radio. Esto le da al personaje una respiración constante que lo hace sentir vivo incluso cuando no pasa nada.
¿Cómo funciona un loop animation con transition?
El nodo loop animation repite un ciclo continuamente, y se combina con un transition numérico que define los valores entre los que oscila.
- Rango del radio: de 0,08 a 0,1 para que el fantasma crezca y se contraiga.
- Atributo mirrored: hace que el valor crezca y regrese en lugar de saltar al inicio.
- Tipo de transición sinusoidal in-out: añade un suavizado orgánico que evita el movimiento robótico de una transición lineal.
- Duración final: 0,7 segundos para un ritmo pausado y agradable.
¿Qué diferencia hay entre lineal y sinusoidal in-out? Lineal mantiene la misma velocidad de inicio a fin. Sinusoidal in-out acelera al principio y desacelera al final, imitando movimientos naturales.
Después de conectar el loop animation al progreso del transition y este al radio, el fantasma late con un movimiento más interesante. Y lo mejor: puedes aplicar la misma lógica a colores, formas o cualquier otro atributo gráfico.
¿Qué posibilidades de personalización abre este flujo?
Con estas herramientas, el condicional de captura ya no se limita a cambiar un color. Puede activar cambios de forma, animaciones distintas o transiciones completas entre estados del personaje.
La combinación de if, Animation, To Range, Multiply y loop animation te da control total sobre cómo se ve y reacciona tu fantasma. Cada atributo se puede animar de forma independiente para crear capas de feedback visual.
¿Qué animación le agregarías tú a tu personaje para hacerlo más inmersivo? Cuéntame en los comentarios qué efectos has probado en tus filtros.