Cómo convertir un GIF en una hoja de sprites sin fotogramas fantasma

Has extraído un GIF y varios fotogramas contienen partes de la pose anterior. Eso suele significar que la exportación guardó los rectángulos de actualización del GIF como si fueran imágenes completas. Aquí te explicamos cómo obtener fotogramas completos y elegir una salida que tu juego pueda utilizar.

Por qué no basta con guardar todos los bloques de imagen del GIF

Una animación GIF no siempre es una pila de imágenes a tamaño completo. Un fotograma posterior puede almacenar solo el rectángulo que cambió. También incluye una instrucción de disposición que indica al reproductor qué hacer con el dibujo anterior antes de aplicar el siguiente. Si un extractor ignora esa instrucción, los brazos, pies o sombras anteriores permanecen visibles como rastros. Si solo guarda el rectángulo, los PNG exportados tendrán tamaños distintos.

En una hoja de sprites, cada celda necesita una imagen completa en un lienzo consistente. La secuencia correcta es aplicar la regla de disposición del fotograma anterior, dibujar la actualización actual y copiar ese lienzo completo como PNG de ese momento. La herramienta GIF de ImageMint realiza esa composición antes de exportar; no necesitas colocar manualmente los fotogramas parciales.

Un robot de pixel art, un parche parcial con un brazo levantado y un fotograma completo compuesto del robot.
Un rectángulo modificado no es un fotograma de animación completo. Aplica los pasos necesarios de eliminación y composición antes de guardar el lienzo completo; de lo contrario, pueden quedar partes de la pose anterior. Abrir imagen a tamaño completo

Una conversión concreta de 12 fotogramas

  1. Abre el GIF original en GIF a hoja de sprites. Comprueba el número de fotogramas y el tamaño del lienzo indicados. Doce fotogramas de 64 × 64 píxeles deben producir doce imágenes completas de 64 × 64, aunque las actualizaciones internas del GIF sean más pequeñas.
  2. Para un PNG en cuadrícula, configura Imágenes por fila en 4. La hoja tiene cuatro columnas y tres filas, así que debe medir 256 × 192. Esta comprobación detecta muchas exportaciones equivocadas.
  3. Guarda el PNG de la cuadrícula si tu motor necesita una hoja con separación uniforme. Guarda el ZIP si quieres PNG numerados independientes. El ZIP también contiene frame-delays.json; consérvalo si el GIF original mantiene algunas poses durante más tiempo que otras.
  4. Abre el resultado en el editor de destino y examina los fotogramas primero, intermedio y último. Comprueba que no persistan poses anteriores y que el personaje permanezca en la misma área de 64 × 64.

La trampa de temporización: una hoja no indica a qué velocidad reproducir

Una hoja PNG almacena píxeles, no duraciones de fotogramas. Imagina un GIF de 12 fotogramas en el que once duran 80 ms y el último se mantiene 400 ms. Reproducir la hoja exportada a 12 fps constantes hace que cada fotograma dure unos 83 ms, por lo que la pausa desaparece. No es un error de extracción: la temporización simplemente está fuera del PNG. Consulta los retardos del ZIP y recrea el fotograma mantenido en tu motor, o repite ese último fotograma como aproximación deliberada.

Comprobación rápida: si el movimiento es correcto pero rápido, compara retardos antes de modificar dibujos. Si deja rastros, revisa composición y eliminación de fotogramas.

Elige la salida para el siguiente paso

NecesitasGuardarRecuerda
Una textura uniforme para un motorPNG en cuadrículaConserva el número de columnas y el tamaño de celda para importar.
Fotogramas editables o temporización no uniformeZIP de PNGConserva frame-delays.json con las imágenes.
Un número menor de poses seleccionadasZIP y después edita los fotogramasEliminar fotogramas cambia la duración del bucle, salvo que se ajuste la temporización.

ImageMint limita los GIF de entrada a 20 MB, 100 fotogramas, 1024 píxeles por lado y 20 millones de píxeles de fotogramas en total para proteger la pestaña del navegador. Una fuente más grande requiere procesamiento previo en un editor de escritorio. Reutiliza solo animaciones de tu propiedad o que tengas permiso para usar.

Conserva una pausa de distinta duración al recrear la animación

En el ejemplo de doce fotogramas, la duración total es 11 × 80 + 400 = 1280 ms. Si el destino solo admite una duración fija, puedes aproximar la pose mantenida repitiéndola cinco veces a 80 ms. Eso crea dieciséis entradas en la línea de tiempo a partir de doce imágenes distintas y conserva la duración total. Es una edición deliberada de la línea de tiempo, no una opción que el extractor aplique automáticamente.

No confundas una imagen repetida con un duplicado no deseado. Dos fotogramas visualmente iguales pueden representar una pausa intencional. Eliminar uno sin transferir su retardo acorta la animación. Guarda primero una extracción intacta y edita una copia al optimizar la secuencia.

Importa una hoja sin reproducir las celdas vacías finales

Si diez fotogramas de 64 × 64 se colocan en cuatro columnas, la salida es 256 × 192: doce posiciones, pero solo diez fotogramas reales. Las dos últimas celdas están vacías. Anota el tamaño de celda, el número de columnas y el número real de fotogramas junto al archivo. Un importador de cuadrícula que deduzca el número de fotogramas solo a partir del ancho y alto necesita corregir su intervalo de animación.

Si exportar excede un límite por lado, cambiar columnas ajusta la forma, no reduce fotogramas decodificados. Doce de 64 × 64 ocupan 49,152 píxeles antes de celdas vacías. Un GIF comprimido pequeño puede generar una secuencia grande; reduce resolución o fotogramas si falla el total.

Lista final de comprobación de extracción

  • Los fotogramas de salida tienen las dimensiones completas indicadas del lienzo.
  • Los fotogramas intermedios y finales no contienen una pose previa no deseada.
  • La aplicación de destino utiliza el número real de fotogramas, no todas las celdas.
  • Los retardos desiguales se conservan o aproximan de forma consciente.
  • Se conservan el GIF original y tu permiso para utilizarlo.

Prueba el flujo de trabajo

Abre un GIF localmente y guarda una hoja PNG uniforme o un ZIP de fotogramas completos y temporización.

Extrae fotogramas de GIF →