CS 231: Computer Animation

General

Instructor

Craig Schroeder

Office: Chung 309 (through zoom)
Office Hours: 4:00-5:00 PM

Email: craigs@cs.ucr.edu

Course Summary

Computer animation encompasses a broad array of techniques that are used in the production of animated films, computer games, and special effects. This course will cover topics in computer animation including keyframing, motion capture, inverse kinematics, and dynamic simulation. The primary goal of this course is to provide a broad introduction to the techniques and challenges of computer animation.

Schedule

Date Topic Due
03/30 introduction
04/01 keyframing, interpolation
04/03 rigging, procedural animation
04/06 rotations
04/08 kinematics
04/10 motion capture project proposals due
04/13 motion capture
04/15 crowd simulation
04/17 solving equations, optimization
04/20 midterm
04/22 paper presentations slot 1 link
04/24 paper presentations slot 2 link
04/27 basics of simulation
04/29 paper presentations slot 3 link
05/01 paper presentations slot 4 link
05/04 deformable simulation
05/06 paper presentations slot 5 link
05/08 paper presentations slot 6 link, midterm project reports due
05/11 debugging simulations
05/13 paper presentations slot 7 link
05/15 paper presentations slot 8 link
05/18 rigid body simulation
05/20 paper presentations slot 9 link
05/22 paper presentations slot 10 link
05/25 Holiday
05/27 paper presentations slot 11 link
05/29 paper presentations slot 12 link
06/01 paper presentations slot 13 link
06/03 paper presentations slot 14 link, final project reports due
06/05 paper presentations slot 15 link
final project presentations

Announcements

Grading

5%Project proposal
10%Midterm report
20%Final report
10%Project presentation
15%Paper presentation
15%Participation
10%Midterm exam
15%Exercises

Paper Presentations

Students will present one computer animation paper from the literature during class. This paper may be related to the project. If you are implementing a paper for your project, you may present that paper. Each student must present a different paper, so if you are completing the project with a partner, only one partner may present that paper. The other partner is free to present a related paper, though. Paper presentations should be 25 minutes. In addition, each speaker will be responsible for making a 5-minute status update on the progress of their project after presenting their paper. Each presentation will be followed by 20 minutes of Q/A and discussion. The presenter should be prepared to answer questions about the paper. All students should come prepared to discuss all of the papers (skim the paper before class, even if you are not presenting it). Your preparedness and participation in these discussions will form the basis for the participation component of your grade.

Projects

Students will complete one programming project, which will span the majority of the quarter. This project will begin with a proposal (2-3 pages). The proposal should detail (a) what you are proposing to do, (b) the scope of the project, (c) a general overview of the tasks will be involved in completing the project, and (d) how much of the project will be completed in time for the midterm report. You will need to research your project topic somewhat before you write the proposal. Although it is not required, it is strongly recommended that you take this opportunity to plan out weekly milestones for yourself to help you pace out the work for your project.

Students must complete a midterm project report (2-3 pages) during the paper presentation phase of the course. All status reports are due the same day. Separately, students will also give a 5-minute update to the class on the status of their project after their paper presentation. Note that these in-class updates will occur at different times over a three-week period and will reflect projects at different stages of completion. The 5-minute update will make a minor contribution towards your paper presentation grade.

All final project write-ups (4-6 pages) are due on the first day of final project presentations, even for projects presented on the second day. This write-up should cover (a) which proposed tasks were completed, (b) which parts were not completed or do not work well and why, (c) any lessons learned from the project, and (d) the results that were obtained. Snapshots, images, and/or other visual outputs from the programs are required in the final write-up and are not counted towards the write-up's page length. (Discussion of the tests that were run and the results that were obtained counts towards the page length. Only the images themselves are not included.) You must submit documented source code for your project electronically (through iLearn) on the same day. Source code quality (clear documentation, clean coding style, efficient implementation, good organization, etc.) will make a minor contribution to your project write-up grade.

Final project presentations (15-minutes each) will be made in class at the end of the course. These presentations take the place of a final exam. These presentations must include a demonstration of the results of your project, and at least half of your presentation time must be spent on this. For projects that run slowly, it is recommended that you create movies from your results and show them during your final presentation. You are encouraged to show both good results and bad during your presentation.

Projects may be completed with a partner. One proposal, midterm write-up, final write-up, and final presentation should be completed for each project. All students will make individual paper presentations and 5-minute project updates. Partners should make paper presentations at least one week apart so that both partners will be able to make interesting project updates.

Project suggestions (you may suggest something else)