Inverse Kinematics Platforming

 The Project

This tech demonstration was made for UCSC’s Game Graphics and Real Time Rendering course. The team consisted of Sean O’Byrne, Herman Wu, and myself. When we first formed the team, Herman and I had already had some experience in graphics programming, so rather than focusing our efforts on working with shaders we decided to delve into the world of procedural animations. Our IK system raycasts from the location of the foot bone on the model’s rig to determine how far it needs to move to be on the ground in a realistic way. This method required varying the weight of the IK on a curve, where 1 had the foot position determined purely by IK and 0 had the foot position determined by the original animation. We used Unity’s native mecanim system for the base level IK, and built the details of our specific foot IK system on top of that.

My Role

I was responsible for the research phase of the project, setting up our Unity project, and executing the initial implementation of the IK system. I also wrote a shader that flashes red when the IK is activated. My teammates wrote the character controller, modeled and rigged our demo character, and added to my initial IK system by accounting for the height difference when the player has one foot elevated above the other.