はじめに
今回の記事は去年のアドカレ「HoloLensに注視入力を追加してみる~エアータップを使わないUIに挑戦~」の続編となります。
昨年度の記事では作ってみたところまでで終わってしまい、使うためにはそれなり手順が必要な状態でした。このUIは今年も複数のアプリで採用しており、未だ需要はそれなりにありそうなため、今回はそれを使いやすく改善しました(あと、このUIの名前をGazeSelectorとしました)。
環境
- Unity 2017.4
- Visual Studio 2017
- MixedRealityToolkit-Unity 2017.4.1.0
(近い環境であれば大抵動くと思います)
使い方
GazeSelectorは以下のリポジトリで公開してます。
https://github.com/decchi/GazeSelectorForHoloLens
GazeSelectorを使う手順は以下の通りです。
1. MixedRealityToolkit-Unityをインポート
2. GazeSelectorのunitypackageをインポート(releasesにあります)
3. GazeSelectorフォルダ内のDefaultCursorWithGazeSelectorのプレハブをシーンに追加します。
4. GazeSelectorの対象とするオブジェクトにGazeSelectorTarget.csをアタッチし、選択時にしたい処理をUnityEventとして登録します。
と、シンプルになるようにしてありますが、サンプルも用意しました。
サンプルシーン
サンプルシーンはMixedRealityToolkit-UnitytとGazeSelectorがインポート済みの状態でGazeSelectorSampleのunitypackageをインポートすればよいです。 (これもreleasesにあります)
インポートしたらHoloToolkitExtensionSampleのフォルダにあるGazeSelectorのシーンを開きます
シーンにはGazeSelectorが設定されたカーソルとターゲットとしてGazeSelectorTargetが設定されたオブジェクトが3つあります。
Cubeには青色に変更する、Sphereには緑色に変更する、Capsuleには非表示にするようにUnityEventを登録してあります。
Cubeは例として以下のように設定してあります。
おわりに
HoloLensのジェスチャーは初見の方には特に難しい操作です。3Dモデルを見るだけのコンテンツであればGazeSelectorで置きかえれる部分も多いと思います。もし、この記事を読んで頂いて使えそうだなと思っていただけたら幸いです。これからもHoloLensの開発が楽になるツールを作って公開していきたいと思います。