Motion Viewer

Motion Viewer

2008

"Motion Viewer" is a small low burst motion playback and retarget utility software for Vicon motion data. MotionViewer supports a full body rigged character animation using captured motion files as source of animation. Multiple character synchronization and real time animation control interface are provided. Implemented in C++ with OGRE and Crazy Eddie's GUI libraries.

2008

University of Illinois at Chicago, Electronic Visualization Laboratory

Overview

Mocap sample work shows a simplified animation pipeline from mocap to real-time visualization framework that I implemented in the LifeLike project. Sample data is acquired via the Vicon Motion Capture system and MotionBuilder. Avatar model is rigged in Maya.

System Requirements

Windows XP SP2 or higher. Mac OSX 10.5 Intel platform or higher. Since Motion Viewer utilizes OGRE (Open Graphics Rendering Engine) as underlying library, users need a fully rigged character model in OGRE format (.mesh and .skeleton).

Features

Direct support for Vicon Motion Capture System's native file format (.v). Multiple character retargeting (single motion data source to multiple characters). Support for multiple dataset loading in real-time. Support for Vicon real-time engine connection via network (can retarget motion to character in real-time during motion capture). Limits and known bugs: Current version only supports single subject in .v file. OSX version does not provide application configuration dialog at the very beginning of app run, meaning that you can only use a specific resolution (1024x768 as windowed mode). This issue is due to the limit of the current OSX OGRE framework — you can manually change this configuration.

Demo Video

Demo Video

Download

Binary downloads: Windows (MotionViewer_Win.zip — unzip download file and place it anywhere you want) and OSX (MotionViewer_Mac.dmg.zip — 13.5MB, unzip, mount dmg and drag and drop MotionViewer.app any place). Sample data includes several character directories (gaulix, plasticman, stickman) each containing .mesh, .skeleton, .map and necessary material files. Some character models are exported from MotionBuilder Character ClipArts. Each motion directory includes .v and .vsk files. Source code requires Visual Studio 2005 (Windows) or Xcode 3.0 (OSX) to compile. External libraries are included in source distribution for Windows platform (OGRE and Xerces library in ext directory; on Mac, you need to download the library separately).

Usage

Execute Application — Windows: double click MotionViewer.bat in root directory of application. Configure application setup in OgreConfigDialog window. OSX: double click MotionViewer.app. To terminate application, press ESC key. Scene Control — Use combination of alt key and mouse button drag. On Windows: Rotation (alt + left button), Pan (alt + middle button), Zoom (alt + right button or alt + wheel). On Mac: Rotation (alt + left button), Pan (alt + right button), Zoom (alt + wheel). Menu — On right top of screen, there is a menu title bar (MotionViewer Menu). Double click on this title bar to roll down/up menu. Menu has two control tabs, MotionData and Character. On each tab, you can load and change data.

Loading Data and Motion Mapping

Load Motion Data — On MotionData tab in menu, click Load New V file button. Specify the Vicon .v file (this file must include global and local body information inside) and the Vicon subject file (.vsk). Click OK button and you will see your motion data loaded with markers and bodies moving accordingly. Load Character — On Character tab, click Load New Character Button. Specify your character mesh file (your skeleton file must be located in the same directory where your mesh is). Motion Data Mapping — If you have loaded motion data and a character, you can make a connection (mapping) between them. On Character tab, select your character (combobox). Click Connect motion "Change?" button. Select motion data set (combobox) and load mapping file (.map file). Then click connect button. Now you see your character moving based on specified motion data.