CS 6204 Character Animation, Research and Applications
Spring 2009

Homework 1: Motion Capture Playback

Due: 11:59pm, Feb 9th, 2009 (Monday)

Introduction

As one of the major computer animation techniques, Motion capture based approaches are very popular in full-body animation research in recent years. These approaches include retargeting, editing with on-screen control, re-sequencing. Motion capture data has also been used in crowd simulation, bio-mechanics, and robotics.

The goal of this homework is to

  • understand the basic structure of graphics applications.
  • be familiar with how skeleton-based animation data is stored, processed.
  • understand data management scheme and performance bottleneck of a skeleton-based animation playback system.

Description

You are asked to design and implement a motion capture data playback system. The specific requirements of the system are:

  • Load one or more motion capture clip from file. (GUI is recommended but not required for loading file.) The motion file format is BVH. Please find the detail of Biovision BVH format from the Internet. The example BVH files can be downloaded from here.
  • Playback the skeleton motion loaded from BVH files, using the specified framerate. Also support pause, playback the motion backforward, forward one frame, backward one frame. The keyboard control for these actions are: "Space" for play; "Space" for pause, "BackSpace" for play backforward, "+" for forward one frame, "-" for backforward one frame.
  • Display the "current" (in case multiple motion files are loaded) motion file name and frame number on the screen.
  • Display rendering frame rate (NOT animation playback frame rate) on the screen (show the performance of the system)

Recommendations:

  • Rendering window size support at least 900x600.
  • Skeleton rendering with OpenGL lines, better rendering options is encouraged.
  • Please use object-oriented design to represent skeleton, animation clip, and other objects.


What to submit:

Put your solution in one zipped file, including all source files, project file (for Visual studio), makefile (for linux and MacOS). Provide a README file to describe the project can be compiled and how to run the program.

Grading:

  • GUI Design (10 points)
  • Skeleton Rendering and Animation Playback (30 points)
  • On Screen Display (10 points)