Wednesday, December 28, 2016

Skeletal Animation





I had the pleasure of working with my team members who encouraged me to build smooth skinned animation system which turned out to be one of best tech demo's of the class, something I've been looking forward to doing for a long time. It's a GPU based system which supports instancing meshes and animations. The only thing each instance holds on to is a set of interpolated bone matrices.

The structure for the system is as follows:
- Interpolate bones between animation key frames
- Concatenate the interpolated bone matrices with the inverse bind pose matrices to create skinning   matrices
- When rendering the mesh at the bind pose, send the skinning matrices as uniforms
- Apply the mesh deformation at the vertex shader level

The animation system is wrapped in a neat and easy to use package for gameplay programmers. It supports animation states, with the ability to blend into an animation(from one interpolated key frame to the first key frame of a second animation) as well as blend back from an animation.

Github Link - https://github.com/Tonykidv2/The2Planeteersandthe1Musketeer

No comments:

Post a Comment