Instructor: Thomas Komair
Type: Solo project
The objective of these class was to learn and get a deeper understanding on how computer animation works and some of the tools that are available while creating them.
Skeletal Animation & Skinning
In this project I implemented an skeletal animation system that could reproduce 3D animations using Catmull-Rom, Hermite or Linear interpolations. On top of the animation interpolation I implemented skinning.
Motion Control Along a Curve
The objective of this project was to have a biped walking along a curve, for this I implemented three features:
- Parameterized the curve by its arc-length so that the character movement speed was constant along the curve.
- Ease-in-out curve to make the character accelerate and decelerate at the starting and ending parts of the curve.
- Object orientation using Frenet Frame and Center Of Interest.
- Yellow spheres: Objects moving along the curve (clear to see when is using the arc-length parametrized curve on the top part).
- Red spheres: Entries in the parametrization curve.
- Yellow line and sphere at the end: Center Of Interest point to which the biped is looking (only visible when using the COI method to find the orientation of the biped).
- Graph in the GUI: Ease-in-out time/velocity curve used to determine the speed of the biped at each point.
For this project I implemented two algorithms, Two Bone in 2D and Cyclic Coordinate Descent (CCD) in 3D.
Particle System Dynamics
This project consisted on implementing a physics simulation by using particle systems and Verlet integration. I used this paper by Thomas Jakobsen as reference.