KinectServerをつくりました

ソースはこちら。
https://github.com/MissinglinkInc/KineticSignage

Kinectの骨格情報をネットワークのすべてのクライアント、または(コードを書き換えれば)任意のクライアントへの送信するものです。
KineticSignageはそのデモプログラムです。デキは微妙ですが、腕の角度で写真が切り替わるようにできています。
サーバ・クライアント型なので、KinectServerとKineticSignageは別のマシン、UDPが疎通すれば別のネットワークに配置することが可能です。

ソースコード自体はそれ以上大したことはやっていません。骨格情報をMessagePackに押し込んで送るだけです。このプロトコルは100%、MessagePackのおかげです。まだ慣れていないので、全部配列型でやってしまっているのはビューティフォーじゃない点です。

MessagePackはかなり多くの実装、アーキテクチャで動くので、Pythonやnode.jsでUDPを受信してWebSocketとかにつなげれば面白いはずです。まぁ、KinectServerにWebSocket実装を書けばいいだけですけど。

C++のSTLいいですね。最近Cで文字列処理や動的配列確保を書いていて辟易していたのですが、std::stringやstd::vectorが強すぎて世界観が変わりました。