We (Erelas and I) have been working on a Character Animation Sytem for our graduation project the last few weeks.
We designed it in a way it can be used independent from the render & physics engine, as a demo we're using Irrlicht to render the skeleton and skin.
This way its easy to integrate it in any project to animate your characters.
Features
- Arbitrary bones per skeleton
- Multiple skins per skeleton
- Multiple animations per skeleton
- Arbitrary keyframes per animation
- Animation controls for speed, direction, looping, weight control and keyframe range
- Animation mixing
- Animation interpolation (linear)
- Animation blending
- Animation synchronization
- Animation layering
- Animation mirroring
- Animation fading:
- - Fade in
- Fade out
- Cross fade between 2 animations
- Custom (binary) file formats
- 3DS Max exporters
- Multithreading
- Multiple texture per skin
- Character bone attachments
- Per bone scaling
- Per bone/per animation weighting
- Per bone/per animation scaling
- LOD
- Custom controllers
- Event callbacks
- Inverse Kinematics
- Hardware skinning
- Software skinning
TODO
- More LOD options (on multiple levels, skin, animation & skeleton)
- Bezier interpolation for animations
- Optimizations
Screenshot
Video
TODO
If anyone has some suggestions for useful features, post them ^^
Btw I'm not sure if its correct to post it in this category, if not let me know.
Side note:
We're using C++11 to develop for this system.
So far it is really nice and fast development. I recommend people to try it out asap!
Its supported by GCC 4.7+ and VS 11 (VS 2012)
For MinGW: http://sourceforge.net/projects/mingwbuilds/