はじめに
3月初めよりインターンで株式会社ゆめみ(https://www.yumemi.co.jp/ja) にてHoloLensの研究開発をしている近大生のよっしーです。
国内でこの1月から提供を開始したMicroSoft製MRデバイスのHoloLensについての記事を書いていきます。
おこしたミス
カーソルで手の検知が一向に取れず、Printfデバッグをしたりソースコードを遡ったりして1日潰しました。
理由としてはHoloToolKit-Unityの中にInputManagerというものがあって、これをHierarchyパネルにドラッグ&ドロップすることで様々な入力を簡単に扱えるのですが、これをD&Dし忘れました。(ちゃんと読まなかった自分が悪い...。)
このようにHoloToolkitの仕様をよく理解していなかったので、無駄な時間を過ごしたり、無駄なコードを書いたりしてしまいました。
無駄なコードの例として、たとえばGestureManagerというクラスを作ってタップイベントを検知していたのが、以下のようにイベントリスナーとして登録してインターフェースに適合するだけで入力が取れます。スマートです。
using UnityEngine;
using HoloToolkit.Unity.InputModule;
class SomeClass: MonoBehaviour, IInputClickHandler{
void Awake(){
InputManager.Instance.AddGlobalListener(gameObject);
}
void OnDestroy(){
InputManager.Instance.RemoveGlobalListener(gameObject);
}
public void OnInputClicked(InputClickedEventData eventData) {
// Do something.
}
}
このようなミスを防ぐために...
Academyと実際のHoloToolKitは全く別物なので、ドキュメントを良く読みましょう。
https://github.com/Microsoft/HoloToolkit-Unity
この記事のHoloToolkitの部分はわかりやすかったです。
http://qiita.com/s-harada_i-enter/items/4655cfe5baeca51f6c9a
随時、追加していきます。