Advanced Animation and Modeling

* Everything I did for this course was done from scratch

Hierarchical Modeling & Animation

In this assignment I implemented an animation system that could reproduce 3D animations using the interpolation techniques seen in class (Catmull-Rom, Hermite, Bezier and Linear interpolation).

In the video you can see:

  • 2D curves created by interpolating some control points using the techniques mentioned above.
  • Animation reproduced by interpolating the data given by the keys of the animation (only skeletal animation).

Motion Along a Curve

The objective of this assignment was to have a biped walking along a curve. The input of the program is a file with the control points (position and time) of the curve to be traversed.

In the video you can see:

  • The skeleton of the model walking through the curve, which has been parametrized by its arc-length so the character wouldn’t accelerate in the straight segments and decelerate in the curves.
  • Orientation of the model along the curve by using Frenet Frame and Center Of Interest.
  • An Ease-in-out curve to make the character accelerate and decelerate at the beginning and end of the path.

 

Skinning & Inverse Kinematics

The goal of this assignment was to make the hand of the character reach the target by using IK.

In the video you can see:

  • Two Bone algorithm (2D), where the length of the bones (green lines) can be modified. Red ball is the target.
  • Cyclic Coordinate Descent algorithm (3D), where user can choose if the IK gets resolved form the first bone (shoulder) to the last one (wrist) or vice versa.
  • Skinning.

 

Particle System Dynamics

The objective of the assignment was to implement a physics simulation based on particle systemsVerlet Integration and Iterative Constraint Relaxation, using as a base the implementation described by Thomas Jakobsen.

In the video you can see:

  • Change of the system’s dimension on runtime.
  • Bounding box for limiting the spreading of the particles.
  • Gravity variation.
  • Cloth elasticity variation (less passes, more elasticity).