3
\$\begingroup\$

I need to generate a sprite sheet with squared sprite for a 2D game. How can I generate a sprite sheet where each frame has x = y? The only think I have to do is to "insert" some blank space between sprites (in case y were > x in the original sprite). Is there any program that I can use to trasform "irregular" sprite sheets to "squared" sprite sheets?

An example of non-squared sprite sheet: http://spriters-resource.com/gameboy_advance/khcom/sheet/1138

\$\endgroup\$
2

3 Answers 3

9
\$\begingroup\$

ImageMagick's montage command can do this. For example, to compile a bunch of irregular-sized sprites into a sheet of 32 × 32 pixel tiles, you can do:

montage sprite*.png  -geometry "32x32>+0+0"  -background none  sheet.png

The -geometry "32x32>+0+0" option above will resize all the sprites to 32 × 32 pixels (adding transparent space around smaller images and scaling down any that are too large) and tile them with 0 pixel gaps between them. (The double quotes are there to keep the shell from interpreting the > as an output redirection command.)

By default, montage will try to create a "squarish" sheet with roughly as many rows as columns. If you'd prefer, say, a single-column strip, add the option -tile 1x after the -geometry "32x32>+0+0". If you want the sheet to have a solid color background, change the none to a color specifier (e.g. white or "#ffffff" for white).

\$\endgroup\$
3
  • \$\begingroup\$ Great! This is what I'm searching for, thank you. But I have a little issue: I write -geometry 59x59 because the biggest 'x' value is 59, but what I get is this : s8.postimage.org/e59ul5akl/sheet.png . As you can see, all the sprites are resized to 59x59, is it possible to maintain the orignal values and only add some blank space?(so all the sprite has their original values, but with blank spaces their'll be squared on the sheet!) \$\endgroup\$ Commented Sep 18, 2012 at 9:59
  • \$\begingroup\$ I tried this: "montage frame*.png -background none -tile 8x sheet.png" and it creates a sprite sheet with normal sized sprites where they are also squared :) Thank you very much, this is a powerful tool! \$\endgroup\$ Commented Sep 18, 2012 at 10:51
  • 1
    \$\begingroup\$ @Andrea: If you write -geometry "59x59>", the > makes montage only scale sprites that are bigger than 59 × 59 pixels. \$\endgroup\$ Commented Sep 18, 2012 at 11:18
0
\$\begingroup\$

I don't know of a specific program, but there are some steps you can take to use whatever program you like.

  1. Get the sprites as individual images. You may already have them in that format, or you'll want to export them as such from whatever program you're using.

  2. Parse the images to find their max dimension (x or y).

  3. Pad the images with whitespace or transparency, using the maximum dimension you found in step 2 as the x and y. Most paint tools have functionality like this, and some allow automation of tasks like this.

  4. Generate a sprite sheet with your new square images. Pick your favorite sprite sheet generator and make sure it doesn't trim out the borders.

\$\endgroup\$
0
\$\begingroup\$

You might have some luck with SpriteVortex.

From the CodePlex page:

Sprite Vortex aims to greatly reduce the time needed to create frame based sprite animations. It covers common and useful operations such as importing a spritesheet, building spritesheet from separate images , cutting frames, building animations and more. Developed in: C#.

\$\endgroup\$
3
  • \$\begingroup\$ Yes I've already seen it, but it detects the sprites.. so it exports them with irregular dimensions! \$\endgroup\$ Commented Sep 17, 2012 at 17:35
  • \$\begingroup\$ @AndreaTucci, Have you tried exporting with the square format option checked? If not, try under Options -> Exporting. There is an option called Force Square Format. I think that might do what you want... \$\endgroup\$
    – Cypher
    Commented Sep 17, 2012 at 17:42
  • \$\begingroup\$ Yes, I've tried but it means that the entire sprite sheet has a square format! (and trying it, nothing changed) \$\endgroup\$ Commented Sep 17, 2012 at 18:54

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .