|Version 12 (modified by rsmeenk, 6 years ago)|
osgAnimation is the a new effort to put generic animation is OpenSceneGraph. It is currently in 'beta' and in development phase but can do a various things yet. The way osgAnimation is made is to let the user the flexibility to change the behavior of predefined class.
The development branches are located
hg clone http://hg.plopbyte.net/osg-branch/
short description of class
- Sampler is the 'low level' type (use to interpolate in a keyframe container with an functor that define how to interpolate)
- Channel is the association of a Sampler and a Target (it's the result of the sampler poll)
- Animation is a container of Channels . Often you will have position,rotation and scale, but you can have what you want like color, animation of a stateAttribute. You can add what you want.
- Bone is a new transform type to manage skeleton animation
- Skeleton is the root of a tree that contains Bone
- Timeline is a way to organize and play animation (like a scheduler)
- Callback begin, end are implemented through the timeline scheduler (see the example osganimationtimeline)
- EaseMotion , ease motion are predefined curve ready to use (follow the link, you will understand)
- skeleton animation with rigged mesh [software implementation]
- solid animation
- it can link an animation channel of any type to another object, or state attribute. (e.g.: linking the x animation of an object to the alpha of a color.)
- blender exporter http://hg.plopbyte.net/osgexport/
- timeline scheduler
- mixer with priority
What are we doing now
- Clean up of Animation class to only provide Animation data, remove logic from this class.
Clean up AnimationManagerTimeline?, move it to an UpdateVisitor?, and do the same for BasicAnimationManager?
- Enhance AnimationManagerTimeline?. let the user to clean old action finish, use a hierarchical data structure to accept a lot of action.
Short term feature to implement
- hardware skinning
- split component in keyframe, like splitting x, y, z on different channel... It's more a exporter function
Long term feature to implement
- improve performance
- inverse kinematics
- max exporter, maya exporter, ...
- compressed keyframe container
To export rigged model from blender you have to name your VertexGroup? with the bone name, because the association is done by name. If you have more than One bone in a vertex group, it will not work. It's something that has to be fixed. you can get the last version of blender exporter here http://hg.plopbyte.net/osgexport/
- Export Mesh, Light, Transform
- Export Action (Rigged mesh) and IPOS
- Support Group in blender, and create instance in the blender file
- Export multi uvs, multi texture, multi materials
- Reduce the multi vertex bone information exported in RigGeometry? (a new bug)
- Share texture in stateset
- Update gui