DESIGN AND IMPLEMENTATION OF GENERAL LIBRARY FOR REAL-TIME CHARACTER ANIMATION

Håkan Almer and Erik Erlandson



Abstract

This work describes the handling of characters animation using various methods. Many methods of animating the characters is investigated and evaluated. The field of interest is mainly realistic looking human based characters but several techniques can easily be adopted to fit various other purposes. The aim for this report has not been aimed towards any specific platform or application. The goal has been to examine and create valueble methods to include in an adaptable and multi featured open source library.  

Open Skeleton Library

The Open Skeleton Library is an excellent animation library that includes most of the features expected in a modern animation library and includes new improvements. It has a clear and modular design that facilitates solid structure to support future features. Since it is a stand-alone library, it is independent from any graphics platform, which makes it possible to include in any engine. Since it is not completed it still lacks many features.

The OSL can easily be compared to other systems even though they have had years of development time. The only other stand-alone library, Cal3d, has been surpassed, much because it has not been properly renewed. Systems, like Nebula Device 2 or Unreal Engine 3, are more efficient since they use Vertex Shaders to skin their models, which OSL does not. Adding this feature would be the next logical step in the development of OSL. Compared to Unreal Engine 3, OSL still lacks integrated physics support, currently left to handled by the host system. Both systems feature a form of function controlled effects, which are very simular in purpose. OSL can also use these for additional purposes such as rigid bone attachments.

OpenSkeleton features:

- BVH Motion capture file format support
- Simple procedual skinning for bvh format
- Arbitrary skeleton
- Weighted mesh
- Model and animation extension to any format with a parser
- Keyframe animation with interpolation
- Skeleton fitting for use of other formats animation
- Multiple animation blending
- MD5 Mesh and skeleton support
- MD5 animation support
- BVH animation support for MD5 (with skeleton fitting)
- FX plugins for manipulation of skeleton

Files

report | demo