| ||||
|
The FaceTrackNoIR UDP-protocol plugin is one of the first protocols that was developed. The User Datagram Protocol is a simple network protocol, supported on virtually every computer-platform and is very simple to implement.
Initially the protocol was developed to use two instances of FaceTrackNoIR: a server and a client. The client runs on a PC, which has a webcam which tracks the users' face. The server runs on the "gaming-PC" and receives the tracking-data from the client. The major advantage of this: reducing CPU-load for the gaming PC.
Today, there are also games and more "serious" applications, which receive the headpose data and use it to move the camera, player or whatever...
If you have questions regarding the UDP-tracker plugin, please post them here: [discussion:udp]
The datagram of the UDP-protocol is coded like this:
//
// x,y,z position in centimetres, yaw, pitch and roll in degrees...
//
#pragma pack(push, 2)
struct THeadPoseData {
double x, y, z, yaw, pitch, roll;
long frame_number;
};
#pragma pack(pop)
Please drop me an e-mail, if you want to interface with FaceTrackNoIR and need some help... I would also be interested in any projects using FaceTrackNoIR.
The current version of the UDP-Protocol is included in the free PluginPack from the download page.
IP-address remote PC: make sure the remote PC can be reached using this address (for instance by using "ping" to check it).
Port-number: this is the number of the UDP-port, to which the protocol writes. By default this is port 5550.
The UDP protocol is a networking protocol, so the known issues apply to this. The software using networking resources must be allowed to do so by Windows. Usually Windows asks the user for permission to do so, the first time FaceTrackNoIR starts.
The port(s) used for UDP communication must be "open". So make sure no FireWall or other software is blocking the required port(s).
When a proces using an UDP-port terminates unexpectedly, the port may stay occupied. ATM this can only be remedied by rebooting the PC.