Great spritesheet creation editor. Its command line version is also great for batch processing and integration with Xcode. Ricardo Quesada - Creator of Cocos2d
Texture Packer is hands down the best sprite sheet generation tool on the market. It has more features than any of the competition and is ready for production-level games - highly recommended! Ray Wenderlich - Writer of awesome Cocos2d tutorials
Integrating the excellent TexturePacker into my build pipeline has saved me countless hours! Not sure how I lived without it. Ron Gilbert - creator of MonkeyIsland
You need something special or your favorite framework is not supported? Just create your own export format! The template-based exporter allows you to enhance TexturePacker to match nearly any output.
There's a new feature in TexturePacker which helps you to protect your intellectual property and prevent theft. It's called ContentProtection and simply encrypts your images.
Your app will still be able to decrypt the data, but somebody else is going to have a hard time getting it done.
Designing the encryption, I had the following goals in mind:
All of this works! Encrypting your assets and protecting them is a piece of cake - it comes at nearly no effort - and does not have any impact on your game. See full feature description
RGBA8888 images consume a large amount of memory and processing time. Wouldn't it be great to reduce both without losing too much visual quality? By converting the sprite sheet to RGBA4444 memory usage is reduced by 50% and performance of the system increases!
But simply reducing the colors may result in bad image quality since gradients won't stay smooth in the resulting image. Low contrast parts in images tend to create islands of same colors - seen as bars in the background gradient of the following example. These artifacts are called banding artifacts.
This effect can be reduced using a dithering algorithm. This adds some grain to the image, delivering a better overall color quality. On high-resolution devices or moving objects the effect is nearly invisible.
This is the original image, exported with RGBA 8888 - using the full palette of 16,777,216 colors.
This consumes 4 bytes per pixel.
Simple color reduction using nearest neighbor. This simple reduction causes banding artifacts in the gradient.
This consumes 2 bytes per pixel.
Color reduction using dithering - reducing the artifacts, delivering a good image quality.
This consumes 2 bytes per pixel.
| Format | Bits | Bytes/px | Colors levels | Transparency levels | Description |
|---|---|---|---|---|---|
| RGBA8888 | 32 | 4 | 256 | 256 | High-quality color format, using full 16,777,216 colors |
| BGRA8888 | 32 | 4 | 256 | 256 | High-quality color format, using full 16,777,216 colors |
| RGBA5551 | 16 | 2 | 32 | 1 | 32,768 color format with "hard" transparency |
| RGB565 | 16 | 2 | r,b=32, g=64 | 0 | 65,536 color format with no transparency - good for backgrounds. Red and blue get 32 color levels, green gets 64. |
| RGBA4444 | 16 | 2 | 16 | 16 | 4,096 color format with soft transparency |
| PVRTC4 | 4 | 0.5 | Lossy compression format for PowerVR graphics processors - e.g. for iPhone. Only suitable for backgrounds with low details. | ||
| PVRTC2 | 2 | 0.25 | Lossy compression format for PowerVR graphics processors - e.g. for iPhone. Only suitable for backgrounds with low details. |
Instead of adding and removing individual sprites, TexturePacker allows you to simply add a complete asset folder. Every image that is found inside of it will be added to the sprite sheet.
TexturePacker preserves your folder structure in the sprite names inside the data file, allowing you to easily group your sprites.
TexturePacker detects all changes and automatically reads the new sprite data when re-entering the application or publishing from command line.
With the powerful command line interface you can simply update all sprite sheets at once.
Trimming preserves the sprite's size - the framework needs special support to restore the transparent parts when rendering the sprite.
Cropping, in contrast, removes the transparent parts - making the sprite appear as if it never had any transparent border.
This is perfect when using animations: You simply don't have to care about equal phases.
Add TexturePacker's command line tool to your build process. No matter if you use Xcode, make, cmake, ant...