Unity Animation and Physics Implementation

PKU CGI Labs, implement DQS, fluid simulation, etc.

In PKU Computer Generated Imagery course taught by Prof. Liu Libin, I implemented many algorithms on animation and physics simulation in Unity. In traditional graphics courses, rendering is covered most while other graphics topics are just quickly skimmed. By contrast, this course concentrated on animation and physics simulation, which was a really good supplementary and broadened my horizons. I learnt a lot in the course and trials, and I extend my sincere gratitude to Prof. Liu Libin.

The sub-projects are as follows (some were not recorded at that time), all run on GTX 1650:

Simple Interpolation like Catmull-Rom.
A BVH loader to control character's joint action.
By combining these two basic parts, I also implement smooth character pose transition (instead of an immediate movement). This homework was not recorded at that time so no video is shown here (I may do it in the future).
I implement inverse kinetics (IK) in two ways: by heuristic algorithm and by Jacobian. This was not recorded at that time either, and may be added when I have spare time.
I implement Dual Quaternion Skinning (DQS), which to some extent overcomes typical artifacts of Linear Blending Skinning (LBS) like candy-wrapper problem.
Cloth
Elastic body
Fluid

These results are implemented as follows:

  1. Cloth: by Mass-Spring system.
  2. Elastic body: by Finite Element Method (FEM).
  3. Fluid: by Smoothed-Particle Hydrodynamics (SPH). The container bottom uses a high punishment to particles (i.e. when particles try to go out of container boundary, a large opposite force will be applied) to mimic boiling water.

For PKU student: It seems that Prof. Liu Libin doesn’t offer this course anymore, and I feel that it’s really a pity. However, he has new courses and I believe they’re worth a try!