P

PixelForge Tools

Generador de atlas de sprites

Empaqueta tus sprites sueltos en un solo atlas con tamaño potencia de 2, y llévate un JSON con las coordenadas exactas de cada uno. Tus imágenes no salen de tu equipo.

Arrastra tus sprites aquí

o haz clic para seleccionarlos · PNG recomendado (conserva la transparencia)

Evita el bleeding: que un sprite "manche" al vecino al filtrar o generar mipmaps.

¿Qué es un atlas y por qué usarlo?

Los conceptos clave, explicados desde cero.

¿Qué es un atlas de sprites (spritesheet)?+

Una sola imagen grande que contiene muchos sprites pequeños colocados sin solaparse, acompañada de un archivo de datos (aquí, un JSON) que dice en qué coordenadas está cada uno. El motor carga una única textura y "recorta" de ella cada sprite cuando lo dibuja.

¿Por qué es más rápido que usar imágenes sueltas?+

Cada vez que la GPU cambia de textura, el motor tiene que emitir una nueva orden de dibujado (draw call), y las órdenes de dibujado son caras. Con 50 sprites en 50 imágenes distintas puedes provocar 50 draw calls; con los 50 en un atlas, el motor puede agruparlos (batching) en una sola. En juegos 2D con muchos elementos en pantalla, la diferencia de rendimiento es enorme, especialmente en móvil.

¿Para qué sirve el padding?+

Es el margen de píxeles vacíos entre sprites. Sin él, cuando la GPU filtra la textura o usa mipmaps, los píxeles del borde de un sprite pueden "sangrar" (bleeding) hacia el sprite vecino, creando líneas o halos de colores extraños en los bordes. Dos píxeles de padding evitan el problema en la mayoría de casos; si usas mipmaps agresivos, sube a 4 u 8.

¿Por qué el atlas debe ser potencia de 2?+

Aunque los sprites individuales pueden tener cualquier tamaño, el atlas en sí es una textura, y como toda textura se beneficia de dimensiones en potencia de 2 para comprimirse en GPU y generar mipmaps correctamente. La explicación completa está en nuestra guía sobre potencia de 2, y puedes estimar su consumo de memoria con la calculadora de VRAM.

¿Cómo uso el JSON en mi motor?+

El JSON lista cada sprite con su posición (x, y) y tamaño (w, h) dentro del atlas. En Unity puedes usar el Sprite Editor para trocear con esas coordenadas (o un pequeño script de importación); en Godot, las regiones de un AtlasTexture; en frameworks web como Phaser o PixiJS, el formato se carga con un adaptador mínimo o mapeando los campos. La estructura es deliberadamente simple para que adaptarla a cualquier motor sean unas pocas líneas.