Aseprite Atlas Sprite Preview
Check every sprite in your sheet before it ships
- spritesheet
- sprites
- sprite_names
- report
The whole point of generating an atlas JSON is that the engine crops your spritesheet from it. GameAssets_AsepriteAtlasSpritePreview is the "trust but verify" step: it takes that JSON plus the spritesheet image and crops every frame out into a ComfyUI IMAGE batch so you can actually look at what your layout produced. One badly-aligned frame is invisible at a glance and very visible in-game, and this is the node that catches it.
It's part of comfyui-game-assets-maker, the pack quinteroac shared on r/comfyui as a playground for sprite generation. This particular node is the least glamorous and one of the most useful - it's the QA pass between "the JSON exists" and "the JSON is correct."
How it works
It reads the atlas, pulls every frame's rectangle (x, y, w, h), and crops the corresponding region out of the spritesheet. Crops land in one output batch, and here's the nice detail: if the atlas frames have different sizes, the node pads them onto the largest frame canvas so they still fit in a single IMAGE batch. No padding would mean mismatched tensor shapes and a ComfyUI error; instead you get letterboxed crops and a note in the report.
Transparent regions get filled with background_value (0.0–1.0, default 0 = black) so you're not staring at checkerboard nothing. image_index picks which image in the batch to treat as the spritesheet, for when you've batched several generated sheets.
Inputs
Just four: spritesheet (the IMAGE), aseprite_json (the atlas STRING from Aseprite Visual Novel Atlas or Aseprite Animation Atlas), image_index, and background_value. That's it. There's no layout math to configure because the JSON already defines it.
Outputs
sprites- the IMAGE batch of cropped frames. Wire it into Preview Image to look at them, or Save Image to dump each sprite as its own PNG (useful when your pipeline needs loose files instead of a sheet).sprite_names- the frame names, one per line.report- each frame's coordinates plus any frames that got clipped (crop went off the edge of the sheet).
Installing
It's a stock custom-node install - ComfyUI Manager (search "comfyui-game-assets-maker") or manually:
cd ComfyUI/custom_nodes
git clone https://github.com/quinteroac/ComfyUI-GameAssetsMaker.git
cd ComfyUI-GameAssetsMaker
pip install -r requirements.txt
Restart ComfyUI. The pack's only dependency is opencv-python; nothing to download, no GPU needed.
Where people get burned
Feed it a JSON that doesn't match the sheet and you'll see it immediately - frames shifted, clipped, or bleeding into neighbors. That's the node doing its job. The practical habit is: generate JSON first, prompt the image model with it, then run this preview before you commit to the layout. If the frame boundaries are off, adjust the sheet size rather than hand-editing the JSON.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| spritesheet | IMAGE | — | |
| aseprite_json | STRING | — | |
| image_index | INT | 00–4096 | — |
| background_value | FLOAT | 0.000–1 | — |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| sprites | IMAGE | — |
| sprite_names | STRING | — |
| report | STRING | — |