Henry Dai​ ​Gameplay Programmer
  • Home
  • Professional Projects
    • Hero Academy 2
    • Orcs Must Die! Unchained
  • Individual Projects
    • Skeletal Animation System
    • Procedural City Generator
    • Town
    • Simple Miner
  • Team Projects
    • Gravitas
    • Cult
    • Avian Apocalypse
  • Résumé
  • About Me
 
×

Skeletal Animation System


Picture
Overview
  • Tech: C++, OpenGL, GLSL
  • Development Time : 8 weeks
  • Engine: Own C++ Engine
  • Features:
    • Full / Partial Body Animation Types
    • Blending Between Multiple Animations
    • Bone Filter for Animation
    • Plugin for 3DSMAX
    • Own C23 Media Format
  • Github Link
  • Download Here
  • ↓ To Video ↓

Goals

The goals of this project is to create a plugin for 3DSMAX that exports animations and models to a custom format: '.C23'. The project also includes  a skeletal animation system that loads the file exported from 3DSMAX and blends and plays the animation.
Picture

  Features

Full / Partial Body Animation Types
Full / Partial Body Animation Types
There are two type of animations specified in this system: 'Full Body Animation' and 'Partial Body Animation'. In each update cycle, the full body animation will be applied first to decide the basic position, then the partial body animation will be applied, based on the weights of each bone, the model will do a linear interpolation between the basic transformation and the one specify in partial body animation. 
Blending Between Multiple Animations
Blending Between Multiple Animations
The skeletal animation system supports multiple animations play at same model at the same time. The skeletal animation system will perform a liner interpolation based the weight, blending time, and type of animation of each animation.
Bone Filter for Animation
Bone Filter for Animation
The skeletal animation system supports an bone filter for each animation that allows developer to add in code. The bone filter will filtering out the bones the developer don't want based on the bone name and depth.
Plugin for 3DSMAX
Plugin for 3DSMAX
To make this project supports as much file format as possible, it uses 3DSMAX as bridge to convert various file types to '.C23' file type. The plugin supports both biped and CAT bone structure, support up to 8 bones attach to same vertex.

Code Snaps   [Github Link]
  • MyExporter.cpp
  • Skeleton.hpp
  • Skeleton.cpp
  • AnimationActor.hpp
  • AnimationActor.cpp
<
>
 

  Demo Video


↑ To Top ↑
©2016   Home | Professional Projects | Individual Projects | Team Projects | Résumé | About Me
Home
About
Contact
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
  • Home
  • Professional Projects
    • Hero Academy 2
    • Orcs Must Die! Unchained
  • Individual Projects
    • Skeletal Animation System
    • Procedural City Generator
    • Town
    • Simple Miner
  • Team Projects
    • Gravitas
    • Cult
    • Avian Apocalypse
  • Résumé
  • About Me