#Unlimited Handとは
ゲームコントローラーとしてH2L社から販売されているデバイス。
腕や指先の動きをトラッキングできるだけでなく、実際に筋刺激として指や腕にフィードバックを与えることができる。
イメージとしてはプログラマブルな血圧測定器。
#セットアップ
今回はUnityとArduino IDEを使ってUnlimited Handを動かしてみます。
(OSX EI Captain 10.11.4)
###必要な物
-Unlimited Hand
-Unity(5.3.x以上が無難)
-Arduino IDE(1.6.9で動作確認済み)
###1.Unlimited Handにジェルを貼る。
この記事のこの箇所を参考にしてください。ジェルは裏表を間違えると腕にくっつき、本体から離れてしまいました。
###2.Unlimited Handにシリアル通信用プログラムを書き込む。
・ここからライブラリをダウンロードする。
・ダウンロードしたUHフォルダをそのまま、下のようにlibrariesフォルダの中に入れる。
・Arduino IDEを起動。
メニューの ファイル > スケッチの例 > UH > Serial_4Unity_4Processingを選択。
・このプログラムUnlimitedHandに書き込む。ここを見れば大丈夫。
###3.Unityでサンプルプロジェクトを動かしてみる。
・ここからプロジェクトをダウンロードする。
・Unityでプロジェクトを開く。
・Unlimited HandがUSBに接続されていることを確認し、再生ボタンを押す。
(この時にCOMがUHプレハブのインスペクタ上に自動的に割り当てられていなくてエラーが起きた場合は、ここを参照。)
・ボタンを押すと、いろいろフィードバックがあると思います。少々刺激強めのやつもあるけれど、実際に指が勝手に動いて楽しいです。
他にもサンプルがいくつかあります。
http://dev.unlimitedhand.com
###4.Bluetooth接続をしてみる。
基本ここを見ながらやれば、UnlimitedHand本体の設定はできるはず。ただ、すぐにペアリングが切れてしまう。実用上ちょっと心配。
Unity側は、ペアリングさえできていれば、再生ボタンを押すと自動的にポートを割り当ててくれるはず。
###5.自分でオリジナルのUnityプロジェクトを作る。
・本体側の設定は2と全く同じ。
#####Unity側の設定
1.UH.csをインポート。
2.Empty Objectを一つ作り、それにUH.csをアタッチする。
3.基本はこれでUnlimited Handと通信できる。
(UH.csの中身は、ほぼArduinoとシリアル通信するコードと同じ。)
4.鍵になるメソッド
-void stimulate(int padNum)
... 筋刺激を起こすメソッド
-float[] readUH3DAccel()
... 加速度を取得
-float[] readGyro ()
... 回転(ジャイロ)を取得。
-float[] readUHJointAngles(int READ_TYPE)
... 腕や指の曲がり具合を取得。
#今後
普通に使いやすくてビックリした。
今まで触覚をキーにした入力デバイスがなかったのですごく可能性が広がる。
もっとディベロッパーコミュニティーが広がることを望む。
#参考になったリンク集
-公式ディベロッパーサイト(http://dev.unlimitedhand.com)
-satoshi_nodaさんの記事(http://qiita.com/satoshi_noda/items/0623f60570752e992540)