Texturas y Flipbooks
Una partícula tiene que parecerse a algo. El duplicado predeterminado hereda su apariencia visual de aquello que transformaste — un ladrillo es un ladrillo, una esfera es una esfera, un MeshPart con un SpecialMesh y un Decal es todo eso. Pero a menudo quieres más: un fuego que cicla por seis etapas de llama, humo que se transforma en veinte fotogramas de turbulencia, un efecto mágico que anima un spritesheet de 64 fotogramas.
Para eso sirven los flipbooks. Y cuando la textura que deseas existe como un asset de Roblox pero solo tienes el id del asset (sin el spritesheet fuente en disco), la herramienta Dissect lo divide en un flipbook utilizable a resolución completa mediante el puente servidor del plugin.
Dos sistemas de flipbook, tres carpetas
Sección titulada «Dos sistemas de flipbook, tres carpetas»El plugin admite flipbooks en tres tipos de emisores, cada uno con su propia convención de carpetas:
| Tipo | Nombre de carpeta | Instancia de fotograma |
|---|---|---|
| Part | MeshFlipbooks | Decal |
| Beam | BeamFlipbooks | Decal (el motor lee el campo Texture de cada hijo) |
| ImageLabel | ImageFlipbooks | Decal (o imagen Spritesheet individual) |
Cada carpeta es un hijo del emisor fuente. Los fotogramas se nombran numéricamente — 1, 2, 3, etc. — y el motor los ordena por nombre y los cicla. Coloca diez Decals llamados 1 al 10 en la carpeta MeshFlipbooks de un Part, establece el Mode del flipbook del Part en Loop, y tendrás una animación en bucle de diez fotogramas.
Los tres nombres de carpeta existen porque cada tipo de emisor tiene su propia ruta en tiempo de ejecución: Part / Beam leen cadenas de id de asset ordenadas desde Decals hijo numerados y reescriben el campo TextureID / Texture del visual por fotograma; ImageLabel lee Decals numerados de la misma forma o, cuando Source = Spritesheet, divide una sola imagen por GridCols × GridRows y calcula Rects por fotograma.
Para más información sobre los controles de flipbook por propiedad (Mode, Framerate, StartRandom, Reverse), consulta el capítulo compartido Mesh Flipbooks y el capítulo de ImageLabel para su variante de fuente dual.
El Inventory
Sección titulada «El Inventory»La mayoría de los usuarios no crean Decals de flipbook desde cero. Seleccionan de una biblioteca — tanto el conjunto curado en la nube incluido con el plugin, como sus propios assets locales de Studio. Eso es el Inventory — el capítulo 11 lo cubre en su totalidad. Lo relevante aquí: cuando haces clic en una entrada de flipbook en el Inventory, el plugin rellena automáticamente la carpeta apropiada en el emisor seleccionado.
Dissect — dividir un asset en un flipbook
Sección titulada «Dissect — dividir un asset en un flipbook»Un patrón de creación común: encuentras un spritesheet en la biblioteca de assets de Roblox — una cuadrícula de 4×4 de fotogramas de fuego, por ejemplo — y quieres cada fotograma como su propio Decal para que el motor pueda ciclarlos.
La herramienta Dissect del plugin lo genera por ti. La infraestructura del servidor del plugin se encarga de la disección real; desde tu lado es un flujo de un solo clic.
Resultado: los Decals se colocan en MeshFlipbooks (o donde los dirijas) a la resolución fuente completa. Sin volver a subir. Sin pérdida de fidelidad.
El diálogo de Dissect
Sección titulada «El diálogo de Dissect»El diálogo de Dissect se abre de dos formas: haz clic en el botón Dissect en la barra de herramientas de flipbooks locales del inventory, o selecciona múltiples entradas de textura simple con Shift y haz clic en Dissect en la barra de herramientas de selección que aparece.
El diálogo tiene:
- Entradas Cols y Rows — las dimensiones de la cuadrícula de cada spritesheet que disectarás.
- Asset IDs — un cuadro de texto multilínea. Un id por línea, o separados por comas. Cada id se convierte en un flipbook llamado
Spritesheet_<id>. - From Selection — rellena automáticamente el cuadro de id desde el campo
.Texturede cadaDecal/Texture/Beamseleccionado en tu workspace de Studio. - Upload & Dissect — abre el selector de archivos; sube cada archivo como una textura individual, luego disecta cada uno.
- Dissect — ejecuta la disección sobre los ids de asset en el cuadro de texto.
No hay vista previa de la cuadrícula en el diálogo. Estableces el Cols × Rows que sabes que son correctos para el spritesheet (4×4 es el valor predeterminado; para una tira de 8 fotogramas, establece 8×1; para un cuadrado de 16 fotogramas, 4×4). El plugin no valida la cuadrícula con el diseño real del asset — si lo configuras incorrectamente, obtendrás un flipbook con celdas mal alineadas.
Para spritesheets con diseños no estándar (tamaños de fotograma variables, disposiciones sin cuadrícula), puedes disectar en una cuadrícula grande y luego eliminar o reordenar manualmente los Decals resultantes antes de emitir.
Fijación de texturas
Sección titulada «Fijación de texturas»Incluso con un flipbook en su lugar, la primera emisión puede presentar tartamudeo mientras Roblox transmite el asset de textura por primera vez. El plugin ofrece un interruptor PreloadTexture en la sección Advanced de los emisores Part / Beam / ImageLabel / Model que fuerza la carga de la textura antes de que comience la emisión. (Para Model, el interruptor recorre cada id de textura accesible a través del subárbol del Model.)
El mecanismo completo se explica en Texture Pinning bajo Hidden Depths.
Vale la pena saber
Sección titulada «Vale la pena saber»El puente de disección es infraestructura del lado del servidor. El plugin se autentica con él a través de tu Roblox UserId; el trabajo pesado ocurre en el servidor, no en el tiempo de ejecución de Studio.
Los Decals se ordenan numéricamente por nombre, no por tiempo de creación. Nombres como 1, 2, …, 10, 11 aparecen en el orden que esperarías. El relleno con ceros también funciona pero no es obligatorio. Los nombres no numéricos se tratan como 0 y se agrupan al principio.
El modo de fuente Spritesheet de ImageLabel omite el paso de disección. Cuando el Source de ImageLabel está configurado como Spritesheet, el motor lee la imagen una vez y calcula los Rects por fotograma a partir del conteo de GridCols × GridRows — no se necesita carpeta de Decal. Más rápido en flipbooks grandes.
Qué sigue
Sección titulada «Qué sigue»Crear con texturas generalmente implica iterar: ajusta una propiedad, observa cómo salen las nuevas partículas, ajusta de nuevo. El siguiente capítulo — Motion Preview — te ofrece una forma de ver las variantes de trayectoria de un emisor sin dispararlo, para que el ciclo de iteración se ajuste. Luego viene The Inventory, la biblioteca que impulsa la selección de texturas y flipbooks.