PART A
(We may add a smaller Part B to this assignment in a week)
Date OUT: Wednesday 2/13/02
Due Date: Tuesday 3/12/02 Noon (see late policy *here*)
[ This ASSIGNMENT is due in about a MONTH, this means that
this does need a lot of work, and is not something you can do in 1 day, so start
working on it NOW ]
Idea:
- In class you have learned about motion capture techniques. Although,
these techniques are very popular, tools for editing, re-targeting, and
transitions are still areas of active research. In this assignment, you
will create transitions between motions or interpolate between several
motions to create new motions.
Readings:
To complete this assignment you will want to read the following two
papers:
- Rose, C., Cohen, M., and Bodenheimer, B.,
``Verbs
and Adverbs: Multidimensional Motion Interpolation'', IEEE Computer
Graphics and Applications, v. 18, no. 5, Sept. 1998, pp. 32-40. [PDF|PS|Bodenheimer's
Web Page|Microsoft
Research WebPage on MoCap ]
- Munetoshi Unuma, Ken Anjyo, Ryozo Takeuchi, "Fourier Principles
for Emotion-based Human Figure Animation", SIGGRAPH 95, Aug 1995.[PDF]
(We will also discuss these papers in CLASS!)
Details:
- Source CODE and DATA
- In /net/cpl/classes/ca2002/ps2/ you will find:
- a MCI directory with
- a VRB directory with Example motion files ( *.vrb)
- To compile the skeleton program type: make MCI
- This should generate a executable called MCI.
- To run this executable type MCI [filename1] [filename2]
- Learn how to
Model (and use the code)
- Open Inventor code is provided for you to generate a graphical
interface. There are detailed comments in the code on how each part of MCI.c++
functions. Read through those comments to better understand what code
to write and where it should go.
-
MCI.c++ creates a graphical interface called the examiner
window. In this window you will see a model. The descriptions of the
model are as follows:
- 1) There is a stick figure rendering of a human performing actions.
2) The provided code will read in two sets of data files and store them.
3) The provided code will currently only play back the first data set in the inventor
window.
- Interpolating
- Your assignment is to implement both transitions between the motion
captured segments and interpolate between the segments to get a scalable
function for happiness (for example).
- Your method should use the sets of example motions together with an
interpolation scheme to construct new motions. For generating transitions your interpolation scheme should be general enough to work
for any pair of example motions. In addition, for interpolation
between two motions to extract properties such as happiness or speed,
you should provide user control for your code that allows the user
to both interpolate and extrapolate between the motions.
- Extra Credit
- Open Inventor is not used as often as it used to be; in fact,
you don't have to use Open Inventor for this assignment at all.
If you write your own interface with Windows and OpenGL (or Direct3D)
then you will certainly learn a lot. In the long run, it will make this
project much more useful for you to do so. Also, writing your own
library for loading, augmenting, and viewing vrb files will help if
you want to put similar animation into a final project.
What to hand in
Turn in the source files for your program, one or two sample animation
movie files, and writeup of the algorithm you used and a discussion of
the pros and cons of this approach.
Grading will be broken down as follows:
- functionality 50%
- comments 10%
- analysis 30%
- movies 10%
TA Office Hours:
Mark is setting up extra office hours to help with stuff related to this
assignment. Mark will coordinate with Steve Park and Alan Chen to help
with specifics as necessary.
- Tuesday: after class to 4:00p
- Wednesday: 2:00 to 3:00p
- Thursday: 12:30p to start of class
|