Kinectで文字入力するアプリ『もじたま』を制作しました。

あらすじ

 私が所属している研究室では、B4所属時に3・4人のチームで課題をこなす習わしがあります。去年は『Kinectを用いて音楽演奏をするアプリを作れ!』で、一昨年は『3Dゲームを作れ!』でした。院試勉強やら就職活動で忙しい中で行われるこのグループワークは、阿鼻叫喚とデスマーチで構築された素敵なものでした。というわけで、研究室のグループワーク課題で作ったアプリの記事なのです。

課題内容

 今年の課題内容は『Kinectを使って文字入力を行うアプリを作れ!』でした。ただし、画面上に予めキーやボタンを配置して、それをタッチする入力方式は禁止でした。つまり、ダンスしたり、手で文字を書くことで入力してねって事です。開発環境、OS、言語等の指定、対象ユーザ、使用環境の指定は無し。目的が手段になっているので、なかなかに進めにくい課題でした。クライアント出てこい。期限は約2ヶ月でした。

成果物

 そんなこんなで、ちゃちゃっと作成したアプリの紹介ムービーがこちら。主演さんの目が死んでますが、気にしてはいけません。

問題点

 すこぶる入力しにくい。Kinect自体の骨格認識精度にも限界があるので、こちら側である程度補正はかけてるんですが、それでもプルプル動きます。それに加えて母音と子音の判定領域が狭いために、すこぶるシビア。前に突き出すと決定する方式なんですが、その時に手が広がって判定が変わって更にシビア。非常にストレスフルなアプリとなっています。もうダメだ。

なんとなく思ったこと

Kinectについて

 やっぱり重い。すこぶる重い。そして環境依存がひどい。カラー映像が1280*1024で15fpsなので、拡張現実感を目的とするときに残念な気持ちになります。対して深度マップの解像度は640*480なので、重ねあわる時に座標の変換が必要で、なんだかなーって気持ちです。

Processingについて

 言語知識ゼロの人が手を出して、ちゃっちゃと動くものを作りたい時に、こいつの右に出るものは居ないんじゃないかなって感じです。初期学習の負担が少ないのは良いことよ。そしてメモリ管理どうなってるの怖い。まぁ結局凝ったことをしようとすると、Javaの知識が必要で一気にダサくなる感があります。ただ、実行形式吐き出しまでの到達時間がすこぶる早くて、なおかつWin/Mac/Linux向けに吐けるのは助かります。

 リファレンスに書いてないメソッドを、ソースコード解読して探したのはいい思い出です。

文字入力について

 キーボード最強ですね。

まとめ

 Kinectを使って現実拡張を行う時期は、2011年の秋ごろにはすでに飽きられていましたね。最近じゃ、手軽に使える深度センサー(骨格認識装置)という立ち位置になっている気がします。動くゴミ箱とかね。なんとも、何かに使えそうで、クレバーな使い方が思いつかないデバイスですね。メディアアート向けなのかなぁとも思います。
 また、UI/UX設計をしていた時に思ったのですが、それ関係の知識が圧倒的に足りないなぁと。難しいです。そこら辺の勉強を詰めていきたいと思った課題でした。