本日はHoloLensの機能調査枠です。
HoloLens 2ではユーザーの目線を取得することができます。
これによってユーザーが文字を目で追うだけで自動的に文字がスクロールすることやユーザーがどこを見ているかをアプリ側で取得することができます。
今回はUnityでアイトラッキングを使用するアプリを作成します。
〇アイトラッキングでなにができるか?
現在アイトラッキングは主に3種の場面で使用することができます。
①ログイン
HoloLens 2 ではIris認証によって装着するだけでユーザーを認識してログインすることができます。
②ホームメニューの表示
HoloLens 2では手のひらを自身に向けることで手首にWindowsのマークが表示されます。もう片手で手首に表示されているボタンを触れることでホームメニューを開くことができます。
この方法では両手を使用することになります。
そこでもう一つのアイトラッキングを使用した方法があります。
最初の方法同様自身に手のひらを向けることでWindowsのマークが現れます。 そのマークを目線で見つめ親指と人差し指を引っ付けてマネーポーズのようなジェスチャーを取ることで同様にホームメニューが開きます。
③アプリケーション内で使用
HoloLens 2アプリケーション内での使用法です。
アプリケーションによって使用方法は分かれます。
これらアイトラッキングの機能を使用するためにはキャリブレーションを行う必要があります。 これは一度フリップアップすることでリセットできるようです。
〇Unityでアイトラッキングを使用する
Unityでアイトラッキングを使用する方法は下記のMRTKのドキュメントにあります。今回これに倣ってUnityでアイトラッキングを実装します。
〇シーンの設定
Unity2019.3.9f1で今回作業します。
上部タグから[MixedRealityToolkit]→[Add to Scene and Configure...]を選択します。
これでHoloLensやMixedRealityデバイス用のシーン構成が完了します。
〇profileの設定
[hierarchy]ウィンドウの[MixedRealityToolkitToolkit]オブジェクトを選択し[Inspector]ウィンドウからMixedRealityToolkitのprofileをCloneします。
同様にサイドタブの[Input]のprofileもCloneします。
次に[InputDataProvider]に[Add Data Probider]で新しいProviderを加えます。
新しく追加したproviderの[Type]を[Microsoft.MixedReality.Tpplkit.WindowsMixedReality.Input]→[WindowsMixedRealitEyeGazeDataProvider]に変更します。
これでアイトラキングを使用するためのproviderの設定が終わりました。
〇Unity内でアイトラッキングをシュミュレーションする
次にアイトラッキングをUnityEditor内でシュミュレーションできるようにします。
UnityEditor内では当然ですが、アイトラッキングでユーザーの目を追うことはできません。そのためカメラの向き(顔の向きに相当)に対して追随するアイトラッキングをシュミュレーションすることができます。
providerの[Input]から[InputDataProvider]→[Input Simulation Service]の中の[Simulate Eye Position]のチェックボックスをオンにします。
これでUnityEditor内でアイトラッキングのシュミュレーションを行うことができす。
以上でアイトラッキングを使用するための準備が完了しました。