Switching images for different poses doesn't solve all the problems though. And also it again implements the weakness we'd try to get rid of through skeletal animations, namely fluid animation aka non choppy/swapped. You could make special cases for each and every animation, but you'll end up restricting yourself more and more. The system becomes more error prone and then it explodes in your face.
It doesn't solve all the problems, no -- but what single approach does
solve all the problems of any situation? Look at it this way -- if you want a natural, "painterly" style of character graphics employed within your game, would the typical, relatively low-poly 3D game model solve that problem? There is a "give and take" involved with all solutions to all problems. If it doesn't fit your style, that's one thing, but if you are expecting a Swiss Army knife of perfection, you may want to take your expectations down a few notches before you'll be able to come across anything
that seems acceptable.
If you get to the point where you are making special cases for "each and every" possible angle for every single segment to the accuracy of a single degree, or the system otherwise gets ready to explode in your face, then it is not the fault of the system -- it is the problem inherent in driving a nail using a circular saw.
This is the reason i abandoned the 2d skeletal animations. It is just not working out for me. I thought of like doing awesome parkour animations with it, like dynamically grabbing edges and jumping over obstacles, but the resulting animations would just not look right due to the restictions you have when working in a 2d plane.
That's why i'd use a 3d skeleton even for 2d animations.
And that is a perfectly good reason to not
use 2D sprites. (And if you are referring about my comment about applying a 3D skeleton and using certain parameters to control switches, note that I was not implying that you couldn't use a 3D skeleton -- I was merely pointing out a different way in which one could be used.)
Another thing about connecting joints is even if you manage to get them relatively seamless or use an overlay like a knee protector, you still have pixels not aligning to the grid which can look very odd if you aim for a pixelated graphic style.
Um... why in the world would anyone want to use this sort of technique for a pixelated graphic style in the first place?
When it comes to pixelated graphics, you can get away with a method such as yours, where you have the head as a separate sprite from the sprite that represents the entire remainder of the character, since you don't need (or even want) affine rotation. It would never
work for pixel graphics. The highly articulated figures would be for more "artsty" styles of presentation.
I'm just giving you something to look forward to is all.
In my case it is more like something to look back on, as i considered the options we're discussion before, and partially went through different stages of implementation. For my needs it was not feasable. I can see that it is for others though.
That said, all hail for framebased animations
You have your own needs, and if the techniques I laid out don't work for you, that's cool. Just don't assume that because they don't suit your needs, they are "inferior" to any other method.
Sculptors all make sculptures. But some prefer stone... others, clay... then there is wood... And for each of those materials, different techniques and tools are used to achieve the same results. If one tries to "transfer" the methodology of working with one material and apply it, unaltered, toward a different material, the artist will have a difficult time approaching the level of success he had achieved while employing the method best-suited to his "usual" choice of material. It's not the method that is at fault, but the inappropriate application of such a method.
As for frame-based animation, just keep this in mind:
If you use the segmented character approach -- not for actual use in your game, but as a tool to aid in the preparation for the sprites you *do* plan to use -- that may be considered a "happy medium" between here and that place you don't want to go.
If you want to get your animations *just right* before committing to anything -- say, slightly adjusting just one part of a character that isn't in the right position for your tastes -- the segmented approach comes in handy. (I have been using a similar technique for close to a decade, now.) The difference is that instead of handling the animation via trigonometry, you pre-render each frame with the segmented character, and when you get the animation part of it to your liking, you can open the render in a standard graphics editor to remove any seams.
This gives you an easier way of adjusting the "big stuff" (the significant movements of individual body parts) *and* the "small stuff" (seams at joints). As I just mentioned, I've used this technique before with a high degree of success. Just you use a graphics editor with layer support, just stick one segment into each layer, and adjust the layers individually to assemble each frame. It *sounds* like a pain in the butt, but once you start using it, you will find the animation of non-trivial characters goes along *much* more quickly. It also yields better results than drawing each frame individually. And you can fine-tune any flaws you find along the way, such as seams.
Of course, that is a method I started using a decade ago. It has an update.
There's a 2D animation tool I use nowadays called "Anime Studio Pro." Although it is marketed as a tool geared toward creating animated cartoon videos, it makes an incredibly adept character animation tool, as well. It uses a skeleton-based rigging system, and it has a LOT of handy utilitarian features (bitmap-to-vector conversion, animated sequence previews, and of course an option to output all (or some -- your choice) of the frames of animation you want in PNG format (and a host of other formats) as individual images with sequential filenames). If you decide to look into it, just do yourself a favor and don't even bother with the "debut" version, though.
All of this is meaningless unless you plan on creating graphics outside of the realms of pixel art, and 3D modeling, however.