Jump to content

Proper Sprite Sheet Practices?


Morgrav

Recommended Posts

I'm brand new to Spriter.  I have some animation experience, but none when it comes to exporting loops for games.

 

What is the proper way to layout sprite sheets?  I curently have a walk cycle that exports 31 frames at 24 frames per second.  I exported to a 2048 sheet in a 6 x 6 grid.  I have 5 blank positions.

 

The character itself is about 300 by 300 pixels.  I'm hoping to be able to zoom in quite close.  Is this too large for a character sprite?

 

This is a relatively short loop.  How do I aproach sprite sheets for longer animations, say for a 5 or 6 second idle animation? 

 

Currently each short cycle has its own page and runs left to right consecutively down the page, but I've seen some sprite sheets that contain more than one cycle and run left to right for each, making a long horizontal file.  Is one way preferred over the other?  Does the dimension of the sheet itself matter?

 

What's the proper way to aproach this? I'm hoping to eventually use these in Unity. I am aware there is a direct importer available, but would still like to understand the proper sprite sheet practise.

 

Apologies if these are silly questions.  I've never done this before.

 

 

Link to comment
Share on other sites

This is coming from a non-expert, so if anyone else would like to chime in and correct me, feel free:

 

The size of your sprites should work well within your game.  Whether that's 300x300 or 74x74, do what's right for your game.  It is best to make your game art so that you don't have to zoom in or out to get it to be the size you want it to be.  So if it's supposed to be big, make it big.  If it's supposed to be small, make it small.  You can get away with some zooming, but it's usually bad practice because you lose information and increase the chances of blurriness if you're not using initial sizes.

 

The more frames you have, the smoother your animation will be.  FPS does play into this, but if you have the time to make your animations have more frames, you'll have less issues of it not looking "right" at certain moments.  This usually is a non-factor with pixelly/retro games, though, so don't make more work for yourself than necessary.  If you're making a 2D fighter like Street Fighter 3 Third Strike, you'll want TONS of frames of animation.  If you're making a retro sidescroller, you can probably get away with significantly fewer frames of animation, unless you're going for a very fluid walk motion.

 

The more you place on a sprite sheet, generally the better.  Say you have every single sprite on one file.  That means your game has only one file to load.  Split each asset up into different sheets, and then you have more loading.  Split it down even more to 1 "pose" per file, and it's just unruly.  However, you need to make developing easy on yourself.  Usually people find a happy medium and put all of the sprites for each asset in their own sprite sheet, that way you aren't loading a million files and everything stays organized.  The key is to know your sprite sheets.  The more you know them, the easier it will be for you to use them.

 

Make sure the sprites on each sheet are spaced appropriately, for just in case you use an engine that will auto-cut the sheet for you.  For instance, I have an arrow that moves in one direction, and loops around itself.  It has 93 frames of animation and each frame moves it one pixel.  This is probably overkill, but I'm using it for reference here anyways.  So there are 93 frames, I organized them on a 10x10 sprite sheet.  So when I import the animated arrow into Construct 2, I can say there are 10 columns and 10 rows, and simply delete the extra, empty frames that are generated by the blank spaces at the end of the sprite sheet.

 

Most importantly: Make sure it makes sense for YOU.  Best practices are best practices, but if they hinder your progress, take whatever shortcuts you need to take and worry about optimization when you see the shortcuts actually affecting your game's performance.  However if you have the time, it never hurts to do everything right the first time (technically you save time by doing that).

Link to comment
Share on other sites

Thanks for the response Dana.  One of the issues I'm having is me creating the animations and sprite sheets, and my colleague plugging them into unity.  I'm a little fuzzy on what works best for unity sprite sheet wise.  From your description, it sounds pretty wide open.  I've just picked up Texturepacker.  Hopefully this will help a bit.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...