夜風のMixedReality

xRと出会って変わった人生と出会った技術を書き残すためのGeekなHoloRangerの居場所

HoloLens 2でアイトラッキングを使用する 準備

本日はHoloLensの機能調査枠です。

HoloLens 2ではユーザーの目線を取得することができます。

これによってユーザーが文字を目で追うだけで自動的に文字がスクロールすることやユーザーがどこを見ているかをアプリ側で取得することができます。

今回はUnityでアイトラッキングを使用するアプリを作成します。

〇アイトラッキングでなにができるか?

www.youtube.com

現在アイトラッキングは主に3種の場面で使用することができます。

①ログイン

 f:id:Holomoto-Sumire:20200716103514j:plain

 HoloLens 2 ではIris認証によって装着するだけでユーザーを認識してログインすることができます。

docs.microsoft.com

②ホームメニューの表示

 HoloLens 2では手のひらを自身に向けることで手首にWindowsのマークが表示されます。もう片手で手首に表示されているボタンを触れることでホームメニューを開くことができます。

 この方法では両手を使用することになります。

 そこでもう一つのアイトラッキングを使用した方法があります。

 最初の方法同様自身に手のひらを向けることでWindowsのマークが現れます。 そのマークを目線で見つめ親指と人差し指を引っ付けてマネーポーズのようなジェスチャーを取ることで同様にホームメニューが開きます。

③アプリケーション内で使用

HoloLens 2アプリケーション内での使用法です。

アプリケーションによって使用方法は分かれます。

これらアイトラッキングの機能を使用するためにはキャリブレーションを行う必要があります。 これは一度フリップアップすることでリセットできるようです。

〇Unityでアイトラッキングを使用する

 Unityでアイトラッキングを使用する方法は下記のMRTKのドキュメントにあります。今回これに倣ってUnityでアイトラッキングを実装します。

microsoft.github.io

〇シーンの設定

Unity2019.3.9f1で今回作業します。 

f:id:Holomoto-Sumire:20200716105159j:plain

上部タグから[MixedRealityToolkit]→[Add to Scene and Configure...]を選択します。

f:id:Holomoto-Sumire:20200716105431j:plain

これでHoloLensやMixedRealityデバイス用のシーン構成が完了します。

〇profileの設定

f:id:Holomoto-Sumire:20200716105602j:plain

 [hierarchy]ウィンドウの[MixedRealityToolkitToolkit]オブジェクトを選択し[Inspector]ウィンドウからMixedRealityToolkitのprofileをCloneします。

f:id:Holomoto-Sumire:20200716110601j:plain

同様にサイドタブの[Input]のprofileもCloneします。

f:id:Holomoto-Sumire:20200716111311j:plain

次に[InputDataProvider]に[Add Data Probider]で新しいProviderを加えます。

f:id:Holomoto-Sumire:20200716111555j:plain

新しく追加したproviderの[Type]を[Microsoft.MixedReality.Tpplkit.WindowsMixedReality.Input]→[WindowsMixedRealitEyeGazeDataProvider]に変更します。

f:id:Holomoto-Sumire:20200716111830j:plain

これでアイトラキングを使用するためのproviderの設定が終わりました。

〇Unity内でアイトラッキングをシュミュレーションする

 次にアイトラッキングをUnityEditor内でシュミュレーションできるようにします。

 UnityEditor内では当然ですが、アイトラッキングでユーザーの目を追うことはできません。そのためカメラの向き(顔の向きに相当)に対して追随するアイトラッキングをシュミュレーションすることができます。

providerの[Input]から[InputDataProvider]→[Input Simulation Service]の中の[Simulate Eye Position]のチェックボックスをオンにします。

 f:id:Holomoto-Sumire:20200716112716j:plain

これでUnityEditor内でアイトラッキングのシュミュレーションを行うことができす。

以上でアイトラッキングを使用するための準備が完了しました。