Закончил написание експортёра скелетной анимации, также самой анимации в движке:
// add animation
int addAnimation( const AnimationSet& anim , int bone = -1 );
// set animation blend weight
void setAnimationWeight( int id , float weight , int bone = -1 );
// get animation blend weight
float getAnimationWeight( int id , int bone = -1 )const;
// set animation playing speed
void setAnimationSpeed( int id , float speed , int bone = -1 );
// get animation playing speed
float getAnimationSpeed( int id , int bone = -1 )const;
// is animation playing
bool isAnimationPlaying( int id , int bone = -1 )const;
// play animation
void playAnimation( int id , int bone = -1 );
// pause animation
void pauseAnimation( int id , int bone = -1 );
// stop animation
void stopAnimation( int id , int bone = -1 );
Можно применять отдельно анимации к определёной кости для этого в функциях есть аргумент bone - айди кости, cама анимация как и везде плавная интерполяция между кадрами и блендинг.
Сейчас осталось поправить пару багов и добавить инверсную кинематику и всё будет шаколадно =).