CS 6204 Character Animation, Research and Applications
Spring 2009

Homework 2: Motion Graph for Locomtion

Due: 11:59pm, Feb 23rd, 2009 (Monday)

Introduction

As one of important motion generation and control approach, motion graph has attracted attention of many animation researchers. The approach established a fundation on motion transition, blending and control. In this homework, you are requested to build a motion graph for locomotive motions and character can randomly follow the graph pathes.

The goal of this homework is to

  • understand the concept of motion graph.
  • be familiar with how to choose the transition points between locomotive motions.
  • generate novel locomotive movements by exploring motion graph.

Description

You are asked to implement character locomotion system that a character can walk, jog, and run with smooth transitions between them. The specific requirements of the system are:

  • The character should be able to move with a virtual environment, walking, jogging, running, and smoothly transitting from one motion to another.
  • Please follow the base system from homework 1 to build this system, and use the motion graph approach we learned from the last two classes (Focusing on originial "Motion Graph" paper). You can choose motion clips from the motion capture dataset for homework 1.
  • Display motion clip index of the currently played motion on the screen. When your character is transitting from one motion to another, display the indice of both motion clips. For example, say you have 3 motion clips, indexed by 1, 2 and 3. If your character is playing back clip 2, number "2" should be displayed on screen. If your character is transitting from clip 2 to clip 1, you should display "2->1" on screen. By doing so, we can track how your character is following the motion graph.
  • >
  • Please choose the right criteria for selecting transition points. You can use the approach from the paper, or you can manually pick these transition points. Or use both automatic and manual approaches together. However, you should have at least 3 motion clips and 20 total transition points. Please report your motion graph: which motion clips are used, and what are the transition points. (Put in README file)
  • When exploring the motion graph you built, you can simply make random decisions, so that the character will always move around the environment naturally.
  • Display rendering 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.
  • In order to track the movement of the character, your camera should be able to follow your character.


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. Also use the README file to report the motion graph you build.

Grading:

  • The quality of Motion Graph (how many motion clips are used, the quality the transition points) (10 points)
  • Real-time random exploring the motion graph, the character is moving naturally and smoothly in the environment (30 points)
  • On Screen Display (5 points)