My game's characters are made up of different parts (head/body/legs/etc), and whatever items they have equipped. As I'm creating the animation system for my game, I want to try to anticipate a large number of combinations for different pieces for each character. Originally, I had planned on having a frame-by frame animation for each piece for each animation, and then layer them to combine them into a character, but this seems like it would be a lot of work for my artist, and that the memory/disk size would start to add up as well since we would need a sprite for every frame, of every customization of every piece, in every animation, for every character.
What efficient ways are there to create/implement these animations as we add more and more configurations to our game?
Edit: I'll also point out that my artist is using flash to make the graphics and animations, but the game is in Java (libgdx, but I can also hard code OpenGL if I need to).