AnimChains Sheet Packer


Utility for packing sprite sheets coupled with AnimChainList anim files (.achx).

It will pack sprite sheet image referenced by achx and update achx animations to new sheet layout.

Please read detailed info for requirements and limitations.

Check for latest version on project's GitHub Releases page.

What is "sprite sheet"
A very common way to store graphic data for animation is in a “sprite sheet”. A sprite sheet is an image that contains multiple images, usually in a set number of rows and columns, which can be used for the animation of an object in your game.

Sprite sheet example

What is sprite sheet "packing"
Often sprites are layed out in a sheet so that big part of sheet is just empty space.
Packing alorhitm rearanges and moves them as close together as possible without changin the sprites themself.
That makes the the sheet image smaller, potentially saving a lot of memory when used in you game.

Sprite sheet packing example

AnimChainsSheetPacker uses free 3rd party sprite sheet packing tool SpriteSheet Packer by amakaseev, for the packing operations.
You need to have it installed on your computer before using AnimChainsSheetPacker.

Limitations and pitfalls

  • Currently AnimChainsSheetPacker only supports achx files that reference single sprite sheet image
  • Only sprites (parts of sprite sheet) that are used in animation Frames are included into resulting packed sprite sheet.
    If you need all sprites included, just add new "fake" animation into achx, with Frames that define othervise unused sprites.
  • The result achx file uses anim Frames' RelativeX RelativeY offset parameters to keep your packed Frames properly aligned in animation.
    That only works in FlatRedBall if Sprite that displays the animation is child of other object, like Entity.
  • If you already had Relative offsets defined for anim Frames prior to packing, the Packer will honor them, adding his corrections to existing values.
    The resulting values though will be different than your original values and will be different for every frame.
  • The packing will generaly change a lot of things in achx and it's sprite sheet, potentially making it harder to navigate and update by hand. So it is best to use this tool close to end of project production, when animations and sprite sheets are final.

  • Usage
    Download SpriteSheet Packer 3rd party tool. Install it or unpack to some directory.

    Download AnimChainsSheetPacker and unpack to any directory.

    Run AnimChainsSheetPackerGUI.exe for Windows gui app where you can set up data and options for the packing operation.

AnimChains Sheet Packer
AnimChains Sheet Packer
AnimChains Sheet Packer
Syndicate content