-
Notifications
You must be signed in to change notification settings - Fork 6
RepeaterApp
The repeater app reads data from capture devices and immediately passes it on to any connected clients.
Clients (e.g. the unity app) connect to the repeater using TCP. A list of connected clients is maintained. When new data comes in, it is stored in an internal structure, then all data is immediately pushed out to all clients.
The data is sent out in a simple text, tab delimited format. This is a placeholder format as a proof of concept and will eventually be replaced by something more extensible (discuss this on a mailing list please!). It is likely that more than one format may be supported in future, and that the repeater may be able to convert between formats in realtime, i.e. act as a translator.
The data format is currently in the following form, where a square bracket is a numerical field indicating the number of items that will follow, and a curly bracket is a float field representing a numerical value (e.g. translation-x) and any text is a string field, e.g. the name of something.
[number of segments]
SegmentName [number of joints] [number of markers]
JointName {tx} {ty} {tz} {rx} {ry} {rz} {rw}
MarkerName {tx} {ty} {tz}
To test the repeater without access to a motion capture system, you can run the "stub" server which will create a dummy object and put some basic procedural animation. You can connect to the repeater and confirm that the object moves in your scene.