Ir al contenido

Mesh Flipbooks

Usado por: Part y Beam.

No aplica a: ImageLabel usa un sistema de flipbook diferente (fuentes Decals o Spritesheet, con modo PingPong). El ParticleEmitter nativo de Roblox tiene su propio flipbook con modo Random y un interruptor BlendFrames. Los tipos de espacio de pantalla (Blur, Bloom, ColorCorrection, Atmosphere) no tienen texturas, por lo que tampoco tienen flipbooks. Cada uno se cubre en su propio capítulo.

Un flipbook es una carpeta hija de instancias Decal numeradas. El plugin las recorre durante la vida de cada partícula, intercambiando un decal por el siguiente. Cada fotograma es una imagen; reproducidos en secuencia a velocidad, se obtiene una animación.

Así es como se convierte una partícula de malla estática en algo que respira: una llama cuya textura pulsa a través de ocho fases, una bocanada de humo cuya forma se transforma al elevarse, un sigilo mágico cuyos runas cambian a lo largo de su vida.

Cuando transformas un Part o un Beam, el plugin crea una carpeta MeshFlipbooks (o BeamFlipbooks) vacía como hija. Para rellenarla:

  1. Abre la carpeta en el Explorer de Studio.
  2. Añade instancias Decal como hijas, nombradas 1, 2, 3, y así sucesivamente. Cada Decal apunta a una textura diferente.
  3. El plugin las lee en orden numérico. El fotograma 1 se reproduce primero, luego el 2, y así sucesivamente.

No es necesario hacer nada más para “activar” los flipbooks. La presencia de Decals numerados en la carpeta es el disparador. Una carpeta vacía significa que no hay animación de flipbook: la partícula usa su textura base.

Los fotogramas no tienen que provenir de una hoja de sprites. Pueden ser imágenes subidas completamente separadas. Pueden ser arbitrarios en cantidad: tres fotogramas o treinta. El plugin gestiona cualquier cantidad.

Etiqueta del panelAtributo de datosTipoPredeterminadoQué hace
ModeFlipbookModeenumOneShotCómo se reproduce la secuencia de fotogramas: una vez (OneShot) o en bucle (Loop)
FramerateFlipbookFramerateNumberRange30, 30Fotogramas por segundo de reproducción
StartRandomFlipbookStartRandombooleanfalseCada partícula comienza en un fotograma aleatorio en lugar del fotograma 1
ReverseFlipbookReversebooleanfalseReproduce la secuencia al revés

Etiqueta en la UI: Mode. Atributo de datos: FlipbookMode.

Cómo se reproduce la secuencia de fotogramas durante la vida de la partícula. Dos modos para los emisores Part y Beam transformados: OneShot y Loop.

La secuencia se reproduce una vez, desde el fotograma 1 hasta el último, distribuida uniformemente a lo largo de la vida de la partícula. Cuando se alcanza el último fotograma, se queda en él hasta que la partícula muere.

La animación está coreografiada según la vida útil: cada partícula, independientemente de cuánto tiempo viva, termina en el último fotograma en el momento de su muerte. Esta es la opción correcta cuando cada fotograma representa una etapa de un ciclo de vida único.

Casos de uso:

  • Llamas. Fotograma 1 = ignición (pequeña chispa), fotogramas 2–3 = crecimiento, fotogramas 4–5 = combustión máxima, fotogramas 6–7 = desvanecimiento. Cada partícula pasa por todas las etapas, independientemente de su Lifetime individual.
  • Bocanadas de humo. Fotograma 1 = bocanada compacta, fotogramas 2–4 = expansión, fotogramas 5–6 = adelgazamiento, fotograma 7 = desvanecimiento vaporoso. Los fotogramas de cada partícula coinciden con su línea temporal física.
  • Escombros de explosión. Fotograma 1 = brasa afilada, fotogramas 2–4 = resplandor enfriándose, fotograma 5 = carbón apagado. La progresión de fotogramas es la historia del enfriamiento.
  • Chispas de hechizo mágico. Fotograma 1 = destello brillante, fotogramas 2–4 = resplandor estela, fotograma 5 = imagen residual tenue. La progresión visual es la curva de energía del hechizo.
  • Cualquier cosa donde “cómo se ve la partícula” deba seguir “qué tan vieja es”.

La secuencia se reproduce y luego reinicia desde el fotograma 1, repetidamente. El número de bucles completos depende de FlipbookFramerate y del Lifetime de la partícula.

La animación está impulsada por velocidad, independiente de la vida útil: un bucle de 12 fps en un flipbook de 6 fotogramas cicla dos veces por segundo, ya sea que la partícula viva 0,5 s o 10 s. Esta es la opción correcta cuando cada fotograma es intercambiable con los demás: la textura está “viva” en un temporizador constante, sin progresar por etapas.

Casos de uso:

  • Glifos mágicos giratorios. Una rotación de 4 fotogramas que cicla continuamente: cada partícula muestra un glifo perpetuo independientemente de su vida útil.
  • Auras de energía pulsante. Un patrón de respiración de 4 fotogramas (pequeño → grande → pequeño → más pequeño) que cicla 1–2 veces por segundo.
  • Runas / sigilos animados. Patrones de resplandor repetitivos en partículas estacionarias o de movimiento lento.
  • Texturas de ciclado de fondo. Patrones de puntos, líneas o formas que se desplazan o cambian continuamente: las partículas de larga vida ciclan más iteraciones que las de corta vida.
  • Crepitación de relámpagos. Un conjunto de líneas dentadas de 4 fotogramas que cicla rápido (~16 fps): cada fotograma visible muestra siluetas de relámpago diferentes, dando la impresión de crepitación continua.
  • ¿Deben los fotogramas contar una única historia de vida?OneShot. La llama encendiéndose, la chispa enfriándose, el humo desvaneciéndose.
  • ¿Deben los fotogramas ciclarse indefinidamente y parecer “vivos” independientemente de la vida útil?Loop. Glifos girando, auras respirando, relámpagos crepitando.

Para desactivar la animación de flipbook, deja la carpeta MeshFlipbooks / BeamFlipbooks vacía: sin fotogramas, no hay nada que intercambiar independientemente del modo. El valor del modo solo importa cuando la carpeta tiene hijos Decal.

¿Buscas PingPong o Random? Esos modos existen en otros tipos pero no en los flipbooks de malla de Part / Beam transformados. PingPong está en ImageLabel (cubierto en su capítulo). Random está en el ParticleEmitter nativo de Roblox (cubierto en el capítulo de Edición Nativa). El sistema de flipbook de malla aquí se limita a los dos modos anteriores.

Etiqueta en la UI: Framerate. Atributo de datos: FlipbookFramerate.

Con qué velocidad avanzan los fotogramas, en fotogramas por segundo. Un NumberRange (predeterminado 30, 30: 30 fps, un valor práctico de autoría), por lo que cada partícula obtiene una velocidad elegida aleatoriamente dentro del rango. Bájalo a 8 o 12 para flipbooks más lentos; súbelo por encima de 30 solo si tu número de fotogramas y vida útil lo soportan.

Un Framerate de 12 avanza 12 fotogramas por segundo, independientemente de cuántos fotogramas tengas o de cuánto tiempo viva la partícula. Un flipbook de 6 fotogramas a 12 fps se reproduce dos veces en una vida útil de un segundo (ya que 12 fotogramas ÷ 6 fotogramas por ciclo = 2 ciclos).

Un rango como 8,16 da a las partículas diferentes velocidades de reproducción: algunas se animan rápido, otras lento. Útil cuando quieres que una población de partículas se sienta menos sincronizada mecánicamente.

La interacción con el modo de reproducción importa. En OneShot, la velocidad de fotogramas determina qué tan rápido se completa la animación (y si termina antes de que muera la partícula). En Loop, determina cuántos ciclos caben en una vida útil.

Un error común: si Framerate × Lifetime es menor que el número de fotogramas en modo OneShot, la animación nunca llega al último fotograma. La partícula muere a mitad de secuencia. Esto a veces es intencional (quieres que muera en el fotograma 5 de 10), pero más frecuentemente es una configuración incorrecta.

Etiqueta en la UI: StartRandom. Atributo de datos: FlipbookStartRandom.

Un booleano. Si es true, cada partícula comienza su flipbook en un fotograma elegido aleatoriamente en lugar de comenzar siempre en el fotograma 1.

Esta es la manera fácil de romper el aspecto de “todas las partículas sincronizadas”. Imagina un efecto de humo con un flipbook de 6 fotogramas. Con StartRandom desactivado, cada bocanada de humo comienza en el fotograma 1 y progresa de manera idéntica: el campo de humo pulsa al unísono. Con StartRandom activado, cada bocanada comienza en un fotograma diferente y progresa con su propio desfase, rompiendo la sincronización.

Para flipbooks en modo Loop, esto es casi siempre lo que quieres. El valor predeterminado es false, pero considera activarlo para cualquier flipbook en modo Loop.

Para flipbooks en modo OneShot, la respuesta depende de lo que quieras: el inicio aleatorio anula el ciclo de vida “encender-quemar al máximo-apagarse” para el que está pensado el modo OneShot.

Etiqueta en la UI: Reverse. Atributo de datos: FlipbookReverse.

Un booleano. Si es true, la secuencia de fotogramas se reproduce al revés: el último fotograma primero, el fotograma 1 al final.

Útil cuando has creado una animación de desvanecimiento hacia adelante pero quieres una partícula que emerge hacia la existencia en lugar de desvanecerse. Una textura que va de sólida a dispersa, reproducida al revés, se convierte en una que va de dispersa a sólida.

El valor predeterminado es false.

Ya has leído los cuatro capítulos compartidos: Spawning, Motion, Advanced y Mesh Flipbooks (este). Las propiedades cubiertas aquí son la base sobre la que se construyen los capítulos por tipo.

Ahora, los capítulos por tipo. Cada uno comienza con una tabla “Propiedades de un vistazo” que enlaza de vuelta a estos capítulos compartidos cuando corresponde. El primer tipo, y el más familiar, es Part.