夜風のMixedReality

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

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

今回は前回に引き続きHoloLens 2でアイトラッキングを使用します。

前回はアイトラッキングを使用するための準備をUnity内で行いました。

redhologerbera.hatenablog.com

引き続きMRTKのドキュメントを参考に進めていきます。

microsoft.github.io

〇アイトラッキングのオブジェクトの追加

 前回まででアイトラッキングを使用する準備が完了していますが、シーンにオブジェクトが何もないのではアイトラッキングを行えていることがわかりません。

 まずアイトラッキングに対応したオブジェクトを配置します。

 今回はAssets/MRTK/Examples/Demos/EyeTracking内のサンプルシーン[EyeTrackingDemo-05-Visualizer]から目線をヒートマップとして取得することができる[Live Samples]オブジェクトを配置しました。

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

[Libe Samples]オブジェクトの中で必要なものは[Slate_Content]オブジェクトのみなのでそれ以外はここでは非表示にしました。

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

 これに加えて[EyeCalibrationChecker]オブジェクトを加えています。

 このオブジェクトはscene内でアイキャリブレーションが行われているかを検知して、もし行われていない場合アイトラッキングを行うように誘導する機能があります。

microsoft.github.io

〇アイトラッキングのCapability

HoloLens 2実機にビルドします。

Unityからビルドする場合機能ごとにCapabilityを設定する必要があります。ここで機能の使用を許可しない場合デバイスで該当の機能を用いることができません。

 UnityのPlayerSettingsから行うことができますが、MRTK側でもこれらを行うためのウィンドウが提供されています。

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

 上部タブから[MixedRealityToolKit]→[Utilites]→[Build Window]を開きます。

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

 [Appx Build Option]タブを開き[Gaze Input Capability]のチェックを入れ有効化します。  

〇アイトラッキングのプロジェクトのビルド

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

[BuildSettings]を開き[Bulid]を押し開いたウィンドウ上で右クリックから[新規作成]で[App]という名前のフォルダを作成します。

Appフォルダを選択することでビルドが開始されソリューションファイルが作成されます。

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

ソリューションファイルを開き、[Release][ARM64]にします。

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

 [ARM]でビルドする場合Unity2019.3.9f1の場合バグが残っておりアプリが正常に起動しないことがあります。

redhologerbera.hatenablog.com

USBで実機と接続し[デバック]→[デバッグなしで実行]を選択することでデプロイが始まります。

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

〇実機でアイキャリブレーション

youtu.be

HoloLens 2のアイキャリブレーションは[設定]アプリから行うことができます。

動くジェムを目線で追うことでキャリブレーションが行われます。

〇実機でアプリを確認

デプロイしたアプリを開きます。

目線のヒートマップが表示されます。 これでアイトラッキングを使用したアプリケーションが完成しました。

youtu.be