Reworking Animation System

So, I’m trying to make an application which can view model animations from a different engine.
I have the models loading into jMonkeyEngine just fine. However, the way the other engine handles animations is a bit different.
Rather than the traditional bones with positions and assignments in a hierarchy structure, it has vertex groups / skins.
Animation is applied to the skins, and the position (ie, for the center of rotation) is calculated on an opcode in the animation file (so, it would specify the opcode followed by a list of skins. It calculates the position by averaging the vertex positions then adding an offset which is occasionally set)

I have come to the conclusion that doing this would more-or-less involve recreating the jMonkeyEngine animation system (more-over: Not using it), but am just wondering where I would start looking in order to perhaps make this process more “modular” than injecting the update method (Such as a custom Animation class instead of boneanimation, that would actually allow me create my own processor etc)


All the animation system works with controls (AnimControl and SkeletonControl).
You’d have to recreate those control for your purpose.
Also most part of the AnimControl can be reused IMO.
This way you could have models that use the different systems in the same scene

There’s no real annotations as to where the transforms are applied. I think it would be best to start there and then work backwards (that’s how I work best, that’s how I got the models loading and rendering in the first place)
Any ideas where this happens?

Oh yes of course, look into the SkeletonControl. The updates of the mesh is done in controlRenderSoftware, and more precisely in softwareSkinUpdate