Motion Capture Player
Daniel Bisig - Coventry University, UK - ad5041@coventry.ac.uk
Abstract
This software is a simple tool for playing motion capture data and simultaneously sending this data via the open sound control (OSC) protocol to a client. The player operates either on skeleton joints (positions and orientations) or markers (positions only). This data is stored in a custom file format that can be created using simple python scripts. The player is written in C++ using the OpenFrameworks creative coding environment.
Usage
Conversion of Skeleton Motion Capture Data
Conversion of skeleton motion capture data is from the Biovision (.bvh) format into the custom json format required by the player.
python bvhconv.py --input ../data/example_mocap.bvh --output ../data/example_mocap_skel.json
Conversion of Marker Motion Capture Data
Conversion of marker data is from the IBM (.c3d) format into the custom json format format required by the player.
python c3dconv.py --input ../data/example_mocap.c3d --output ../data/example_mocap_markers.json --frameskip 6
The --frameskip argument determines the interval (in number of frames) at which marker positions should be exported. With --frameskip 6, every sixth frame will be exported. This argument has been introduced to cope with the fact that marker data is often recorded at much higher framerate than skeleton data.
Compiling the Motion Capture Player
Currently, the player requires OpenFrameworks version 0.11.0 to compile. Furthermore, it has the following dependencies:
Configuration of Motion Capture Player
To configure the player, the file ./bin/data/config.json needs to be edited. Configuration involves specifying the file the player should read motion capture data from and the address and port the player sends the OSC messages to.
"mocapFileName": "data/MUR_AccumulationMovementOnPlace_01_mb_proc_rh.json",
"oscSendAddress": "127.0.0.1",
"oscSendPort": 9003
The OSC message content is as follows:
For skeleton data: /mocap/skel
Resources
- E2-Create Project Page