Wiiリモコンで4点位置検出

時々同じような質問が来るので書いておきますね。aka.wiiremoteのバージョン1.0B7からextraoutputメッセージが追加されていて、これをオンにする(extraoutput 1を送る)ことで、加速度センサーのキャリブレーション情報やIRセンサーの生データが得られるようになっています。ヘルプ・パッチの右側下寄りにあるothersサブ・パッチを開くと、これらの数値が確認できます。

akawiiremote-others.png

Wiiリモコンの先端に埋め込まれているIRセンサーは、実際には赤外線カメラで、センサー・バーには両端に赤外線LED(赤外線投光器)が仕組まれています。しかも、このIRセンサーが優秀で、赤外線カメラは1027×768ピクセルの解像度を持っていて、4点までの赤外線光源の位置を100Hzの周期(0.01秒の時間間隔)で割り出してくれます。IRセンサーが画像解析してくれるので、コンピュータではCPU負荷がほとんどなく(Bluetooth通信だけで)、4点もの位置検出ができる訳です。

一般的な用途では、センサー・バーを固定しておいて、Wiiリモコンを手に持って動かしますが、この逆もできます。つまり、Wiiリモコンを固定しておいて、センサー・バー(あるいはロウソクなど何らかの赤外線光源)を動かすことになります。これで何ができるのかという実例は、Johnny Chung Lee氏のWiiプロジェクトが有名ですね。マイノリティ・レポートばりに空中で指を動かして映像を操ったり、机に投影した映像にペンで絵を描いたりしています。ヘッド・トラッキングしたVR映像も奥行き感タップリで楽しめます。

wiiremote-headtracking.jpg

Lee氏はC#用のライブラリを使っているそうですけど、aka.wiiremoteでも情報取得までは実装しています(それ以上はオブジェクトの仕事ではないからね)。前回の告知ではサラっとしか書かなかったので、気が付いていない人が多いみたい(笑)。

ともあれ、赤外線光源を使うなら、これでいろいろと応用できそうでしょ? 天井にWiiリモコンを取り付けて、赤外線LEDを付けた人の位置を検出するなんて朝飯前。物体(人体)上に複数の赤外線光源(あるいは反射材)を取り付ければ、回転やら距離の検出もできるし、複数のWiiリモコンを使ってもいいしね。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA