Open source SpriteSheet Packer with GUI

SpriteSheet Packer is open source project.
Core Developers:

Description:
SpriteSheet Packer - utility which allows to you collect sprites in atlas.
Information about sprites frames can be exported in cocos2d-x format or, merely, in json-file. Also, exist ability to add own formats.
Firstly, this project was developed for own needs, but in certain moment I thought that it can be useful for other devs :slight_smile:
I performed some fixes and placed it in open source.

Will be glad to hear feedbacks,
Best Regards, Alexey.

16 Likes

Nice! How is it compared to Texture Packer?

@amakaseev Wow, this is amazing! Thank you :+1:

Texture Packer of course surpasses in many parameters as it supports more settings, algorithms and the modes of preservation of textures and data, but in too time of SpriteSheet Packer carries out the main task of packing and automatic scaling isn’t much worse.

Thanks, I am very glad that you liked my work, she hope it is useful

implement drag and drop from finder/explorer for testing

1 Like

Begining work on polygon sprite, porting AutoPolygon.

7 Likes

(only from sourses)
v1.0.3

  • Show identical list of sprite frame
  • Win32: Polished publish dialog (Window title, position)
  • Add display outlines on preview
  • UI and command line implementation of image optimization
  • Change zoom slider range (min: 10, max: 1000)
  • Added automatically refreshed preview
  • Generate spritesheet from commandline using existing project file
1 Like

Your tool look so great, when do you release version 1.0.3 on github

Hi @amakaseev,

This tool looks promising, Do you have any new updates for this tool?

I have stopped work on version 1.0.3 as at the moment all opportunities for 2D of games suit me and I use him everywhere
v1.0.3

  • Add save dialog on exit if project is dirty
  • Implement polygon packing algorithm
  • Implement generate polygon with sprites
  • Add optipng and pngquant optimizer
  • Add ToolTip for sprite frames
  • Fix bug with copy image (break alpha chanel if image scale)
  • Show identical list of sprite frame
  • Win32: Polished publish dialog (Window title, position)
  • Add display outlines on preview
  • UI and command line implementation of image optimization
  • Change zoom slider range (min: 10, max: 1000)
  • Added automatically refreshed preview
  • Generate spritesheet from commandline using existing project file
1 Like

I am glad to tell you that I have continued work and have added several important features:

v1.0.5

  • Added support multi-pack
    1. {n} - multipack index, starting with 0
    2. {n1} - multipack index, starting with 1
  • Added sprite atlas preview widget and show all scaling variants
  • Added pixel formats: ARGB8565, ARGB4444, RGB565, ALPHA
  • Added save to jpg file and refactor settings quality
  • Added pixijs data format
  • Added jpg(rgb)+png(alpha) format
  • Added TrimSpriteNames and PrependSmartFolderName

Github: http://amakaseev.github.io/sprite-sheet-packer/

2 Likes

Great job man ! i will try it .
Now we only need free good box2d editor

This is really good work indeed. Keep it up.

@amakaseev
I am a web developer. Since, it’s open source tool, I can contribute by creating a decent 1-3 pages website if you like (You can give me layout if you’ve in mind). There we can show the capabilities and comparison with Texture packer.
I mean, presenting a good product in a good way can motivate people to use your tool and may be some can contribute to the open source project if they like.

Also, can you please tell what in the following are supported by this tool:

Eg- I can see that ARGB4444 format is supported but dithering can be added as optimization.

Few suggestions:
1) Adding PVRTC4 compression to reduce overall altas size.
2) Looks like, you’ve already added polygon sprite support. But do we’ve control over selecting number of polygons to be drawn for each sprite? It can add to significant optimization in terms of rendering that polygon sprite.

Thanks again bro. :slight_smile:

Thanks for the offered help in creation of the website, is very good idea

PVRTC4 - is already added as well as some other formats, but still needs completion

Polygons are calculated automatically, the epsilon parameter indicates roughness of a grid, than it is more the it is less polygons

1 Like

Oh ok…Got it… That’s nice.

New feature:

  • Generate atlas in thread
  • Added animation preview

Amazing work so far!
It is so nice to see that open source tools are developped for cocos2d which is an open source engine.
Do you intend to keep it open source forever?

I have a feature suggestion: I saw that you already started to support multipacking as TexturePack does (i.e. creating several spritesheet in one project if one spritesheet is not enough for all imported images).
One thing that always bugged me in TexturePacker is that there is no way to group sprites in the same project so that when it is multipacking, it preferably put these sprites together. For instance, if I have a single project with many smart folders so that then can not fit on one single spritesheet, TexturePacker will dispatch sprites of the same animation on several different spritesheets while for performance reasons they should be preferably kept together on the same spritesheet, even if it means losing some space. Do you see what I mean ?

Another very important feature for me is the ability to set the anchor point position (manually or automatically for center, borders and corners), including for several sprites at the same time. Moreover, TexturePacker is especially slow when changing the anchor point fo several sprites at the same time, I think you can do better :wink:

By the way, I just briefly tested the latest release (windows 64bits), and the polygon algorithm seems to not work with multipacking.

Good luck with this project!

Thank you very much!
This project will be always open source.
The packer is suitable for the majority of engines, it is only enough to add an export format (there is an opportunity)

it is possible to add in a tree of files of sprites the second column - tags which will replace {n} in a name of a spritesheet

I didn’t even know about such functionality :slight_smile:
always the anchor points exposed in a game (if it is necessary) as need for it for me was rare

thanks for testing, you could describe more in detail at what settings and what the sprites didn’t work for you?

awesome work!! :smiley: