looks nice, very interesting
a few things to consider:
- I don’t get why textures are 2048 with all that wasted space. they are not going to be streamed anyway so you don’t need mips (any mipmap is useless except the full resolution, so don’t need power of 2)
- will you support animation blending of some kind? I understand this is for crowds but even then the hard cuts are jarring
also since animation textures are generated per mesh * per animation * per LOD, you’re probably aware that if you have more than a handful of characters you’re going to end up with a big texture library and potentially a lot of texture memory used.
at my previous work some years ago we developed a similar system but instead of animating per vertex, the animations had bone transforms (rotation only though), and every character had a vertex-to-bone-mapping texture. this way animations could be shared between LODs and even between meshes with the same skeleton, while animation textures had much less data (since there’s always less bones than vertices in a character).
it’s a long shot and highly technical, but you might consider it interesting