INF585 - Computer Animation

General Description

This 3D Computer Animation course teaches the computational methods for real-time animation and deformation of 3D shapes used in video games, special effects, and animated films, or more generally in animated and interactive virtual worlds. The course details geometric-based animation approaches such as procedural animation, manual 3D deformers, and character animation, as well as physically-based simulation for particle systems, cloth and fluid simulation.

Learning outcome

The lectures bring knowledge of the industry-standard methods for real-time and interactive animation methods used in VFX, animation cinema, and video games, as well as toward research oriented approaches. In addition, students following the class should acquire fundamentals of physically-based simulation, and in particular advanced knowledge on particle-based methods.
The class has a strong focus toward programming application. Enrolled students will therefore not only be able to understand these approach, but also to fully implement them in C++/OpenGL in an interactive context.

Application area

The applications illustrated throughout the class will be mostly related to the field of entertainment (animated films, video games, virtual and/or augmented reality), or real-time simulation for modeling physical phenomena. The underlying mechanisms can further be applied in other scientific disciplines (medical sciences, biology, etc.).

Examples of cases treated in the lectures and practical exercises: Implementing animation and interactive deformation of an articulated character, Modeling the deformation of a garment and managing collisions in real time, Simulating the surface of a moving fluid, Managing crowds of characters moving coherently, etc.

Organization

The course is largely practice-oriented with half lectures and half practical sessions. The practice is done in the form of programming exercises in the computer machine room in C++ language, with OpenGL. A short project involving an animated virtual scene is carried out in the last sessions.

Prerequisits

C++ programming, and basics of Computer Graphics. Knowledge of OpenGL is a plus, but not required.

Syllabus



Open source course

The content of this course is fully available in open-source:

Practice

The practical session are done in C++ and OpenGL using a dedicated library to facilitate the scene display.

The first step is to make sure that you can compile and execute some code using the first tutorial. Then all the exercises will follow the same principle.

Go to practice webpage

Procedural Trajectory

- Slides: [ html ] [ pdf ]
- Videos: [ youtube ] [ direct ]
- Practice: [ Sphere bounce ] [ Cauldron ]

Procedural Noise

- Slides: [ html ] [ pdf ]
- Videos: [ youtube ] [ direct ]
- Practice: [ Animated Texture ] [ Water Droplet ]

Interpolation Position

- Slides: [ html ] [ pdf ]
- Videos: [ direct ]

Facial Animation

- Slides: [ html ] [ pdf ]
- Videos: [ direct ]
- Practice

Affine Transformation

- Slides: [ html ] [ pdf ]
- Videos: [ direct ]

Rotation and Quaternion

- Slides: [ html ] [ pdf ]
- Videos: [ direct ]

Volume Deformation (I)

- Slides: [ html ] [ pdf ]
- Videos: [ youtube ] [ direct ]
- Practice: [ Manual Deformers ]

Volume Deformation (II)

- Slides: [ html ] [ pdf ]
- Videos: [ youtube ] [ direct ]
- Practice: [ FFD ]

Surface Deformation

- Slides: [ html ] [ pdf ]
- Videos: [ youtube ] [ direct ]
- Practice: [ Laplacian Editing, ARAP ]

Animation Pipeline

- Slides: [ html ] [ pdf ]
- Videos: [ youtube ] [ direct ]

Skinning

- Slides: [ html ] [ pdf ]
- Videos: [ youtube ] [ direct ]
- Practice: [ Skinning ]

Skeletal Animation

- Slides: [ html ] [ pdf ]
- Videos: [ youtube ] [ direct ]
- Practice: [ Character Animation ]

Crowd

- Slides: [ html ] [ pdf ]
- Videos: [ youtube ] [ direct ]

Simulation Models

- Slides: [ html ] [ pdf ]
- Videos: [ youtube ] [ direct ]

Rigid Spheres

- Slides: [ html ] [ pdf ]
- Videos: [ youtube ] [ direct ]
- Practice: [ Spheres in Collision ]

Cloth Simulation

- Slides: [ html ] [ pdf ]
- Videos: [ youtube ] [ direct ]
- Practice: [ Mass-Springs Cloth ]

Numerical solution of ODE

- Slides: [ html ] [ pdf ]
- Videos: [ youtube ] [ direct ]

PPD and Shape Matching

- Slides: [ html ] [ pdf ]
- Practice: [ Shape Matching ]

Fluids (I)

- Slides: [ html ] [ pdf ]
- Videos: [ youtube ] [ direct ]
- Practice: [ Stable Fluids ]

Fluids (II)

- Slides: [ html ] [ pdf ]
- Videos: [ youtube ] [ direct ]
- Practice: [ Smoothed Particle Hydrodynamics (SPH) ]
Source on Github for: [ Code ] [ Lecture Slides ] [ Practice Exercises ]

Contact: damien.rohmer@polytechnique.edu