“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.

Mocap sample work shows simplified animaiton pipeline from mocap to realtime visualization framework that I implemented in LifeLike project. Sample data is acqiried via Vicon Motion Capture system and Motionbuilder. Avatar model is riggned in Maya.


1. System requirement

– 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, user need a fully rigged character model in Ogre format (.mesh and .skeleton)


2. Features

– Direct support Vicon Motion Capture System’s native file format (.v)

– Multiple character retargetting (single motion data source to multiple characters)

– Support multiple dataset loading in realtime

– Suppoort Vicon realtime engine connection via network (can retarget motion to character in realtime 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. It means that you can only use a specific resolution (1024×768 as windowed mode).

This issue is due to the limit of current OSX Ogre framework. You can manually change this configuration. See details here.


* Demo Video on YouTube (3 min 49 sec)

3. Download


a. Windows: (XX.MB, unzip download file and place it anywhere you want.)

b. OSX: (13.5MB, unzip, mount dmg and drag and drop any place)

[Sample data]

For your convinience, here are several sample data available to download.

Each character directory inlcude .mesh, .skeleton, .map and necessary material files. Some character models are exported from MotionBuilder Character ClipArts. Each Motion directory includes .v and .vsk file.

[Structure of SampleData directory]


— character

—— gaulix

—— plasticman

—— stickman

— motion

* .map (character mapping) file details here.


[ Source Code]

To compile motion viewer application, Visual Studio 2005 (windows) or Xcode 3.0 (OSX) is required.

External libraries are inlcuded in source distribution for windows platform (Ogre and Xerces library in ext directory. On Mac, you need to download libraray separately).

Refer to README file in source distribution for more instruction to build application from source.


4. Usage

Application usage is pretty much straight forward. If you saw demo video, you know that it’s not such complex piece of software at all.

Here is quick instruction.


[Execute Application]

Windows: double click MotionViewer.bat in root directory of application (this is simple batch to execute build/Win32/Release/MotionViewer.exe for your convinience). Configure application setup in OgreConfigDialog window.

OSX: double click

* To terminate application, press ESC key.


[Scene Control]

Use combination of alt key and mouse button drag. (Holding down alt key and drag mouse with button down).

On Windows

Rotation: alt + left button

Pan: alt + middle button

Zoom: alt + right button or alt + wheel

On Mac

Since Mac has slight different behavior for alt modifier key, mouse constrol is different from Windows version.

Rotation: alt + lfet button

Pan: alt + right button

Zoom: alt + wheel



On right top of screen, there is menu title bar (MotionViewer Menu). Doble 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.


[Load Motion Data]

On MotionData tab in menu, click Load New V file button.

V file: click load button to specify vicon v file (this v file must include global and local body informaiton inside)

vsk file: click load button to specify vicon subject file (.vsk)

Then, click OK button. You will see your motion data is loaded and markers and bodies moving accordingly.


[Load Character]

On Character tab, click Load New Character Button.

Specify your character mesh file. (your skeleton file must locate in the same directory where you mesh is.)


[Motion Data Mapping]

If you loaded motion data and character already, you can make connection (mapping) between them.

On Character tab, select you 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.