← Back to experiments

Realtime Procedural IK Drummer

Drummer character controller driven by inverse kinematics and motion planning

UnityIKAnimation

In 2021 I was working on a potential game that featured a drummer character. Rather than using pre-baked animations, I decided to use procedural animation techniques to create a realistic drummer character controller. Through this project I learned a lot about inverse kinematics, rig design, and motion planning.

The main challenge of this project was to create a character controller that could dynamically respond to the player's inputs (i.e. the drum hits). This involved:

  • A hand assignment algorithm that would heuristically determine which hand to use for each drum hit
  • A motion planning algorithm that would determine the best path for the character's limbs to reach the target drum
  • Inserting "ghost limbs" to achieve "smear" effects
  • IK solver to control limb rotations
  • Spring physics to control drum animations

Smear sticks

3D Onion skinning

Finger drumming

Gameplay