Goal
UnlimitedHandを初めて購入してから、Unityとつなぐまでを解説します。
Reference
とりあえず公式は見ておこう。
http://dev.unlimitedhand.com/ja/
Shrinkwrap
ハッカソン期間中、いろいろ無茶な要望をかなえていただきました、
2016.11.20のバージョンでこの記事を書いています。
Unity用プラグインver.0041b、Arduino用プラグインver.0043αです。
それ以外のバージョンでは内容が異なる場合があるかもしれませんが
たぶん最新をあてるほうがいいと思いますよ。
開封の儀
取りあえず箱を開けます。ビリビリ。
開封してから腕に取り付けるまでは一苦労ですが、必ず公式の説明ページを読みましょう。
説明を読みながら進めても、いろいろトラブルが起こります。況や読まずに進めてそれなりな金額を溝に捨てることもなし。
とりあえずいくつか注意すべきこととか
- 裏側についてる白いシートは必ずはがすこと
- ゲルパッドは両面のフィルム(青と透明の)ともにはがすこと
- 腕に巻いた後、剥がすときにゲルパッドが腕に残りやすいです。注意しよう
- 使い終わったら付属の台紙に乗せて保管しましょう
別に箱を開けてすぐUSB刺して電源入れても、以降の作業は問題なくできますけどね
デバイスの初期設定
これも公式の説明ページを見ましょう。
将来的に手順が変わるかもしれないですし(ぶっちゃけもう少し簡単にしてほしい)
これまたいくつか注意点
- ライブラリのZipファイルはMacで圧縮したもののようで、Windowsで開くと文字化けするのかも?たまにミスることがありました
- ライブラリは(現時点で)それなりの頻度で更新されています
- ぶっちゃけ現時点では、必要に応じて自分で編集したほうがいい場合もあります
- シリアル通信ウィンドウは、使い終わったら閉じましょう。
- これが開いている間は通信を占有されます。Unityで動かないよーな時はまず確認
- 使用するUnityプラグインと対応するバージョンのものを使いましょう
解説ページではサンプルを適当に書き込めるよとか書いてありますが、とりあえずSerial_Unity_Quaternionだけ書き込んでください。
以降はその前提で記事を進めます。
Unityでつなぐ
これまた公式の。。。と書こうと思ったけど、Unityを使う前の注意点くらいしか解説なかった。
というわけで少し詳細に説明をば
- Unityでプロジェクトを新規作成
- Edit > Project Setting > Playerを選択し、Api Compatiblity Levelを.NET 2.0に変更
- UH.csをAssetsの好きなところにおく
- Emptyオブジェクトを作成し、Add ComponentからUH.csを設定する
- とりあえず実行
Inspectorビューに現在のUnlimitedHandからのセンサ値が表示されれば成功です。
が、たぶん取れないと思います。
というのも、UH.csにて値を取得するかのフラグを初期化時にすべてfalseにするという謎実装があるので
起動後にInspectorビューからUpdate Xxxx Flgみたいなチェックを入れるととれるようになると思います。
(上の仕様は現在のバージョンでの話で、ひとつ前のバージョンではデフォルトで取れていたんだけどなぁ)
ちなみにUHを設定するオブジェクトは1つだけにしてください。
UH.csにてDontDestroyOnLoad設定されているので、明示的に破棄されないと設定したオブジェクトでUnlimitedHandとの通信を占有されます。
シーンをまたぐ場合は遷移先のシーンでFindObjectOfTypeとかを使ってオブジェクトを取得します。