Guardar un valor aleatorio con variables en Effect House

Resumen

Generar un número aleatorio en Effect House es el paso clave para que un randomizer en TikTok devuelva un resultado distinto cada vez que se ejecuta. Aquí aprendes a usar el nodo random, convertirlo en un entero y guardarlo en una variable para asignarlo a una imagen específica de tu secuencia.

¿Cómo se genera un número aleatorio dentro de Effect House?

La lógica empieza con el nodo random, que produce un valor entre un mínimo y un máximo definidos por ti. Si tu secuencia de animación tiene ocho imágenes, el rango va desde el índice cero hasta el número total de frames menos uno [00:18].

Para confirmar que el nodo está entregando datos, conectas un nodo peak, que funciona como un monitor visual. No ejecuta procesos: solo muestra qué está pasando con ese dato en tiempo real, lo cual resulta útil cuando tu experiencia se vuelve compleja y necesitas depurar [00:51].

¿Qué hace el nodo peak en Effect House? Muestra el valor que pasa por un nodo sin alterar el flujo. Sirve para monitorear y depurar lo que sucede dentro de tu lógica visual.

¿Por qué necesitas convertir el número aleatorio a entero?

El nodo random devuelve valores con decimales, y un índice de imagen no puede ser 2.7 o 4.3. Para resolverlo, vas a la sección de matemática y aplicas el nodo floor, que redondea hacia abajo y deja solo enteros [01:24]. Así obtienes índices limpios como 0, 1, 2, 3 que apuntan a una imagen real de tu secuencia.

¿Cómo guardar el valor aleatorio usando variables?

Effect House no tiene un parámetro predeterminado llamado “selección de randomizer”, así que necesitas crearlo tú. Eso se hace en el panel de variables, donde defines un nombre y un tipo de dato.

Los tipos disponibles incluyen:

  • Number: para valores numéricos como tu índice de imagen.
  • Switch o booleano: verdadero o falso.
  • String: texto.
  • Color: valores de color.

En este caso, creas una variable llamada selección de tipo number [02:18]. Cada variable aparece con un punto que la hace accionable: al arrastrarla al área de nodos, eliges entre get para leer su valor o set para definirlo.

¿Cuál es la diferencia entre get y set en una variable? Get obtiene el valor guardado para usarlo en otro nodo. Set asigna o sobrescribe el valor de la variable en ese momento del flujo.

¿En qué momento debes asignar el valor aleatorio?

Si el random se ejecuta todo el tiempo, la imagen final cambiará constantemente. Por eso conviene definir el valor solo en un momento específico de la experiencia.

Una mala práctica es asignar el aleatorio justo cuando se muestra la placa final: a veces hay un sobrelape donde alcanza a verse la imagen anterior antes de actualizarse. Para evitarlo, separas la asignación con tiempo [03:20]. El momento ideal es justo después de ocultar la placa de intro y mientras se muestra la animación de valores aleatorios.

¿Cómo ordenar varias acciones con el nodo sequence?

Al intentar conectar dos entradas al mismo punto, notas que una se desconecta automáticamente. Effect House permite solo una entrada por nodo de ejecución para evitar que dos acciones simultáneas se peleen por el control [04:18].

La solución es el nodo sequence, que recibe una entrada y dispara múltiples salidas en orden: primero la salida 1, después la 2, después la 3, y puedes añadir las que necesites [04:48]. Funciona como un multiplexor que ordena tu lógica.

Con sequence el flujo queda así:

  1. Se apaga la animación del random.
  2. Se ejecuta el set de la variable selección con el nuevo valor aleatorio.
  3. Se espera dos segundos con wait for seconds.
  4. Se muestra la placa final con la imagen correspondiente al índice.

¿Para qué sirve el nodo sequence? Garantiza un orden estricto entre acciones. Primero ejecuta la salida 1, luego la 2 y así sucesivamente, evitando colisiones cuando varios procesos comparten un disparador.

¿Cómo verificas que el aleatorio funciona?

Conectas otra vez un peak a la variable, esta vez con value number. Al probar el efecto, observas cómo cada ejecución asigna un valor distinto: en una corrida da 3, en la siguiente 1 y luego 0 [05:42]. Eso confirma que el randomizer está generando aleatoriedad real y guardándola en el momento exacto que tu proyecto necesita.

Con esta base puedes escalar a randomizers con más imágenes, mensajes o resultados temáticos. ¿Qué tipo de randomizer vas a construir tú? Cuéntalo en los comentarios.