Skip to content

se210/AMCViewer

Repository files navigation

Overview
--------
This source code provides a complete example application for viewing amc/asf
motion capture data.

Controls
--------
The application reads data from a directory tree, expecting one asf file and
possibly several amc files per directory. Once the motion has been loaded,

    o PAGEUP/PAGEDOWN selects motion for playback. On the Mac, hold down the fn key and type the up/down arrow keys.

    o SPACE to toggle 0x (pause), 0.1x (slow), 1x (normal) speed

    o TAB to toggle camera tracking, 

    o ESC to quit

    o mouse buttons for camera control. One the Mac, the three mouse
buttons are obtained using the normal button, the normal button while
holding down the option key, and the normal button while holding down
the "Apple" key.

    o 'd' will dump all the currently loaded motions to associated .global
files. In such a file, each line contains a reference position of the character
on the floor (position.x, position.z) and a reference yaw (position.yaw),
followed by various joint positions in this reference coordinate frame.
(There is a line for each frame of the motion.)

Using the function defined in Vector/Misc.hpp, that means that, for example,
the root position is given:

rotate_by_yaw(root_from_file, position.yaw) + make_vector(position.x, 0.0, position.z)

In other words, to go from the root.xyz in the file (root_from_file) to the
global root position, you'd use the following formulas:

root.x = root_from_file.x * cos(position.yaw) + root_from_file.z * sin(position.yaw) + position.x
root.y = root_from_file.y
root.z = root_from_file.z * cos(position.yaw) + root_from_file.x * -sin(position.yaw) + position.z

Compiling
---------
This code should compile without problem under linux; the Jamfile setup
under windows is a little trickier, but it should be doable (I use this basic
jamfile for other windows programs). The directory navigation will need to be
rewritten for windows, however. Under OS X, you can use jam, sdl, and libpng
from macports.

To compile, use jam (http://www.perforce.com/jam/jam.html). You'll also need
SDL (http://www.libsdl.org/).

Building with XCode
-------------------
(This section has fallen out of date and so has been removed. Use ft-jam from macports.)

Data
----
A good source for motion capture data is http://mocap.cs.cmu.edu/.

Copyright
---------
All source is copyright Jim McCann unless otherwise noted. Feel free to use
in your own projects (please retain some pointer or reference to the original
source in a readme or credits section, however).

Contributing back bugfixes and improvements is polite and encouraged but not
required.

Contact
-------
Written by:
Jim McCann (jmccann@cs.cmu.edu) [http://tchow.com]
Additional text by Roger Dannenberg (rbd@cs.cmu.edu)
Feel free to email.

Releases

No releases published

Packages

No packages published