本日は MRTK の技術調査枠です。
MRTK 2.5でアイトラッキングの機能とシミュレータを利用する手順を記事にします。
アイトラッキングの設定手順
以前作成したホロモンのプロジェクトを元に、MRTK 2.5 でアイトラッキングの再設定を行います。
MRTK 2.5 でアイトラッキングの機能を利用するには以下の設定が必要です。
Input Data Providersの設定
[MixedRealityToolkit]オブジェクトの[Inspector]ビューを開き、視線入力のデータプロバイダーを設定します。
プロファイルを編集するため、デフォルトプロファイルを選択している場合は[Copy&Customize]で新規プロファイルを作成します。
任意のプロファイル名を設定して[Clone]を実行します。
プロファイルを新規作成したら[Input]タブを開きます。
[InputSystem]のプロファイルから[Clone]で同様に新規プロファイルを作成します。
プロファイルを作成すると[Input Data Providers]が編集できるようになります。
[+ Add Data Provider]をクリックして、データプロバイダーを追加します。
[New data provider]の項目が追加されます。
[Type]のプルダウンを開き、[Microsoft.MixedReality.Toolkit.WindowsMixedReality.Input -> WindowsMixedRealityEyeGazeDataProvider]を選択します。
これで視線入力のデータプロバイダーが設定できました。
視線入力のPointerの設定
次に視線入力のポインターを設定します。
[Input]タブ内の[Pointers]パネルを開き、[InputPointer]のプロファイルから[Clone]で新規プロファイルを作成します。
プロファイルを作成すると[Gaze Settings]が編集できるようになります。
[DefaultCursor]をクリックして、[EyeGazeCursor]を設定します。
更に[Is Eye Tracking Enabled]をチェックして有効化します。
これで視線入力の機能が使えるようになりました。
視線入力イベントの作成
シーンに視線入力のイベントを作成します。
見たときにイベントが発生してほしいオブジェクトに、アタリ判定の Collider と EveTrackingTarget スクリプトを設定します。
今回は、見たときにイベントが発生する[On Look At Start()]と、見るのを止めたときにイベントが発生する[On Look Away()]にイベントを設定しました。
Capabilitiesの設定
ビルド先の HoloLens2 で視線入力の使用を許可するため、Capabilities の設定が必要です。
Unity 2019 では[Edit -> Project Settings..]を開き、[Player]タブの[Publishing Settings -> Capabilities]で[GazeInput]にチェックを入れることで設定できます。
Unity 2018 では[GazeInput]の項目が表示されないので、VisualStudio 側で設定を行う必要があります。
アイトラッキングの試験手順
MRTK 2.5 では Unity エディター上でアイトラッキングの試験を行うことができます。
エディター上でアイトラッキングの機能を試験するには以下の設定が必要です。
Input Data Providersの設定
シミュレータのデータプロバイダーでアイトラッキングを有効化します。
プロファイルを開き、[Input Data Providers]パネル内の[Input Simulation Service]データプロバイダーを開きます。
プロファイルを編集するため、[InputSimulationService]のプロファイルから[Clone]で新規プロファイルを作成します。
プロファイルを作成すると[Eye Gaze Simulation]が編集できるようになります。
プルダウンを開き、[Disabled]を[Camera Forward Axis]を設定します。
これでエディター上ではカメラの向いている方向に視線のレイキャストがとぶようになります。
[再生]ボタンを押して、シーンを再生してみます。
カメラをホロモンの方に向けると、視線入力のイベントが発生して反応します。
マウスによる視線入力
MRTK 2.5 では新機能としてマウスによる視線入力のシミュレートも可能です。
[Eye Gaze Simulation]で、[Camera Forward Axis]ではなく[Mouse]を設定します。
[Game]ビュー上にマウスオーバーしてホロモンにマウスを合わせると、カメラがそちらの方向を向いていなくても視線入力のイベントが発生して反応します。
[Scene]パネルでは赤いラインで視線のレイキャストを確認できます。