Copy animations across different skins

I am looking to make a 2D game, somewhat like Terraria or Crea.

I noticed these games often have limited character animation and was wondering if that is because they can’t make a base model and copy animations for each visible piece of armour.

I went on Google and couldn’t find anything to solve this.

Is it possible to make something regarding a character skeleton?

I am yet to buy Aseprite, I just want to know if I can do this with it.

Thanks for any help!

Aseprite does not have a skeletal animation editor built in, but skeletal animation can be achieved with scripting, e.g. with the Path Animator Script by Gasparoken

You can also draw the artwork in Aseprite and animate it in a full-fledged skeletal animation tool, such as Spriter. This would probably be the better idea for a game like Terraria, so that the amount of artwork can remain low (just the source sprites, instead of every animation rendered out as a frame animation spritesheet) and the animation can be recreated in-engine, potentially with subpixel sampling (if smoother rotation with less distortion but a less pixel art-like look is desired).

Skeletal animation wouldn’t be a good fit for a built-in Aseprite feature:

  • Skeletal animation is associated with timeline-based editors, but Aseprite is a frame/flipbook-based editor. It can work in a frame-based editor, but it tends to bring with it timeline associations.
  • Most kinds of skeletal animation don’t play well with pixel art. You can even see this in the example gifs for the script I linked above, the art is distorted when it’s rotated. This is inevitable with pixel art. Since Aseprite is a pixel art editor, it wouldn’t make sense for it to support subpixel sampling just for this, either.
  • As mentioned above, Aseprite can already be used to create the base sprites that a dedicated skeletal animation tool can use. A dedicated tool not bound by Aseprite’s other needs can be much better at skeletal animation than Aseprite ever could be.
1 Like

Thank you!