WindowsストアアプリをKINECTで動かしてみた。
Windows 8ストアアプリハッカソンVol.3を実施しました。
今回は「Windows 8 × KINECT」です。
え、そもそもKINECTってストアアプリに対応しているの?
と色々な人から言われたのですが、まずはやってみようという事で小人数で何も考えず実施。
とりあえずどうやって実現するかなあという事で、まずは土台となるアプリ作成とKINECTをストアアプリと結合させるチームに分かれてみました。
土台となるアプリはとりあえずオブジェクトが動けば良いって事で「enchant.js」のサンプルを盗んでゴニョゴニョしてサクッと仕上げました。落ちてオブジェクトを左右にスクロールさせて逃げる、という単純なものです。
(当初は3Dモデルをレンダリングして回転させたりしたかったのですが、WebGLがエラーを吐きやがってサクッと出来なかったので断念。そもそも土台アプリ作ってもKINECT連携出来なかったら意味ない訳ですし)
と、ここまでやってみた所でKINECTチーム側から「単純に組み込むのはやっぱ無理そう」との判断が出ました。
さあどうしましょう。となりましたが、どうせ無理なのは予想は出来ていたので用意してた別案に方向転換。別案はアプリ内でKINECT認識出来ないならば、外部からKINECTの命令を送ればいい、という感じです。
外部命令はWebSocketサーバを立てて別PCに繋いだKINECTからソケット通信でストアアプリ側に命令を飛ばします。
ざっくりとした概要図はこんな感じ。
一応、WebSocketをストアアプリがカバーしているのは公式ドキュメントも見て知っていましたし。
で、やってみましたが通常のWebScketのIFではさっぱり動かず。
ドキュメントを解析してMicroSoftの提供するインターフェースに書き換えたところ、
無事、KINECTでストアアプリ操作出来ました。
どんな動きかは動画をご覧下さい。
どんなにつまらない避ゲーでも体を使うとそれなりに盛り上がるもんですね。
でも、いかんせんゲーム内容が単純すぎてすぐ飽きました。。
コーディング時間も少なかったし、当初の目的通りストアアプリをKINECTで動かす事は達成したので良しとして飲みに行きます。
今回のアプリ側とWebSocket側のソースコードはきっちり全部GitHubにて公開しています。
■ソースコードはこちら
もっと時間かければちゃんとアプリをKINECTで動かせると思うのでご興味ある方は是非チャレンジを。とりあえずチャレンジ成功って事で、またチャレンジ企画考えます。