1
\$\begingroup\$

I have my 2D character animations which are stored in spritesheets. I have individual sprite sheet for every animation. For example, if my character have animations for idle, run and jump, I have 3 different spritesheets.

Is it good way for managing 2D animations or it's better to store all animations in one big spritesheet? I noticed that many old games animations are stored in one big spritesheet - is it the best way?

\$\endgroup\$
3
\$\begingroup\$

There is no "best" way. There is the way that is most appropriate for your program, in terms of code complexity, managing your data sets, performance, etc, and many of these are questions that only you can answer. If what you're currently doing runs well enough on your target platform(s), it'll do.

Having said that, you should consider the reason why sprite sheets exist in the first place. Their purpose is to address performance issues associated with large amounts of texture changes; by packing many sprites into a single texture, instead of using a separate texture for each sprite, we get to reduce the number of texture changes and (hopefully) increase performance.

From there it should be obvious that using many small sprite sheets is a step back from this towards having a separate texture for each sprite. However you need to balance that with the restriction of your hardware's maximum texture size and with the possibility of large amounts of unused space in a single large sprite sheet.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.