Eye Tracking (アイ トラッキング) サンプル
このトピックでは、MRTK アイ トラッキング サンプル (Assets/MRTK/Examples/Demos/EyeTracking) を基に、MRTK でアイ トラッキングを素早く使用する方法を説明します。 これらのサンプルでは、新しいマジカルな入力機能の1つである アイ トラッキング を体験できます! このデモには、視線による暗黙的なアクティブ化から、見ているものに関する情報を 音声 および ハンド 入力とシームレスに組み合わせる方法まで、さまざまな使用例が含まれています。 これにより、ターゲットを見て 「選択」 と発話するか、ハンド ジェスチャを実行するだけで、ビュー内のホログラフィック コンテンツをすばやく簡単に選択して移動することができます。 デモには、Slate (スレート) に表示されたテキストや画像に対して、視線によるスクロール、パン、ズームを行う例も含まれています。 最後に、2D スレート上でユーザーの注視点を記録し可視化する例が提供されています。 次のセクションでは、MRTK アイ トラッキング サンプル パッケージ (Assets/MRTK/Examples/Demos/EyeTracking) に含まれている各サンプルの詳細がわかります。
次のセクションは、個々のアイ トラッキングのデモ シーンがどのようなものかという簡単な概要です。 MRTK アイ トラッキングのデモ シーンは、追加でロードされるので、そのセット アップ方法をその次に説明します。
アイ トラッキング デモ サンプルの概要
目で支援するターゲット選択
このチュートリアルでは、視線データに簡単にアクセスしてターゲットを選択できることを示します。 これには、ターゲットがフォーカスされていることを圧倒することなくユーザーに確信させるための、繊細かつ強力なフィードバックの例が含まれています。 さらに、読んだ後に自動的に消えるスマートな通知の簡単な例もあります。
概要: 目、音声、ハンドの入力を組み合わせた、素早く簡単なターゲット選択。
目で支援するナビゲーション
離れた場所にあるディスプレイや電子書籍リーダーで情報を読んでいるときに、表示されているテキストの末尾に達すると、テキストが自動的にスクロール アップしてより多くのコンテンツが表示されることを想像してください。 あるいは、見ていた方向に直接、魔法のようにズームできたらどうでしょうか? このチュートリアルでは、目で支援するナビゲーションの例をいくつか紹介します。 さらに、現在のフォーカスに基づいて 3D ホログラムを自動的に回転させ、ハンズフリーで回転させる例もあります。
概要: 目、音声、ハンドの入力の組み合わせた、スクロール、パン、ズーム、3D 回転。
目で支援する配置
このチュートリアルでは、Put-That-There と呼ばれる入力シナリオを示します。これは、目、ハンド、および音声による入力を使用した、1980年代初頭に MIT メディア ラボで行われた研究に遡るものです。 そのアイデアは単純で、目線を使ってターゲットの選択と配置を素早く行うことができます。 単純に、ホログラムを見て 'put this'、置きたい場所を見て 'there!' と言ってください。 ホログラムをより正確に配置するために、ハンド、音声、またはコントローラからの追加入力を使用できます。
概要: 目、音声、ハンド入力 (ドラッグ&ドロップ) を使ったホログラムの配置。目 + ハンドを使用する目で支援するスライダー。
注視点の可視化
ユーザーが見ている場所に基づくデータは、設計のユーザビリティを評価し、効率的な作業ストリームにおける問題を見極めるための非常に強力なツールです。 このチュートリアルでは、さまざまなアイ トラッキングの可視化と、それらがさまざまなニーズにどのように適合するかについて説明します。 アイ トラッキング データの記録とロードのための基本的な例とそれらを可視化する方法の例を提供しています。
概要: スレート上の二次元注意マップ(ヒートマップ)。アイ トラッキング データの記録と再生。
MRTK アイ トラッキング サンプルのセット アップ
前提条件
デバイス上でアイ トラッキング サンプルを使用するには、HoloLens 2 と、パッケージの AppXManifest で "Gaze Input (視線入力)" の機能を有効にしてビルドしたサンプル アプリ パッケージが必要なことに注意してください。
これらのアイ トラッキング サンプルをデバイスで使用するには、Visual Studio でアプリをビルドする前に、 これらのステップ に従ってください。
1. EyeTrackingDemo-00-RootScene.unity をロード
EyeTrackingDemo-00-RootScene は、すべてのコア MRTK コンポーネントを含むベース (ルート) シーンです。 これは最初にロードする必要があるシーンで、ここからアイ トラッキングのデモを実行します。 グラフィカルなシーン メニューがあり、さまざまなアイ トラッキング サンプルを追加でロードして簡単に切り替えることができます。
ルート シーンには、MRTK の設定プロファイルやシーン カメラなど、追加でロードするシーン全体で存続するいくつかのコア コンポーネントが含まれています。 MixedRealityBasicSceneSetup (以下のスクリーンショット参照) には、起動時に参照されたシーンを自動的にロードするスクリプトが含まれています。 デフォルトでは、EyeTrackingDemo-02-TargetSelection です。
2. ビルド メニューへのシーン追加
追加のシーンを実行時にロードするには、最初にこれらのシーンを Build Settings -> Scenes in Build メニューに追加する必要があります。 ルート シーンがリストの最初のシーンとして表示されていることが重要です。
3. Unity Editor でアイ トラッキング サンプルを再生
[Build Settings] にアイ トラッキング シーンを追加し、 EyeTrackingDemo-00-RootScene をロードした後、最後に確認することがあります。MixedRealityBasicSceneSetup ゲームオブジェクトにアタッチされている 'OnLoadStartScene' スクリプトは有効でしょうか? このスクリプトは、最初にロードするデモ シーンをルート シーンに知らせます。
さあ、 "Play" ボタンをクリックしましょう! 複数の宝石が表示され、上部にシーン メニューが表示されます。
また、ゲーム ビューの中央に小さな半透明の円が表示されます。 これは、シミュレートされた視線 のインジケーター (カーソル) として動作します。 マウスの右ボタン を押し、マウスを移動してその位置を変更するだけです。 カーソルを宝石の上に移動すると、現在見ている宝石の中心にスナップすることに気づくでしょう。 これは、ターゲットを "見ている" ときに、期待した通りにイベントがトリガーされるかどうかをテストするのにとても良い方法です。 注意してほしいのは、マウス操作による シミュレートされた視線 は、我々の迅速で意図しない目の動きを補うにはかなり不十分であるということです。 しかし、HoloLens 2 デバイスにデプロイしてデザインを繰り返す前に、基本的な機能をテストするのは素晴らしいことです。 アイ トラッキングのサンプル シーンに話を戻します。宝石は見ている限り回転し、「見ながら」以下を行うことで破壊されます。
- Enter キーを押す ("select" という発話をシミュレートしています)
- マイクに向かって "select" と言う
- シミュレートされたハンド入力を表示するため Spece キーを押している間に、シミュレートのピンチを実行するために左マウス ボタンをクリックする
これらの操作を実現する方法については、目で支援するターゲット選択 チュートリアルで詳しく説明します。
カーソルをシーンのトップ メニュー バーに移動すると、現在ホバーしている項目が微妙にハイライト表示されます。 上記のいずれかのコミット方法 (例: Enter キーを押す) を使用すると、現在ハイライト表示されている項目を選択できます。 このようにして、異なるアイ トラッキング サンプル シーンを切り替えることができます。
4. 特定のサブ シーンをテストする方法
特定のシナリオで作業しているときに、毎回シーン メニューを経由したくない場合があります。 代わりに、Play ボタンを押したときに、現在作業しているシーンから直接開始したい場合があります。 問題ありません! 次のようにしてください。
- root シーンをロードします。
- root シーンで、 'OnLoadStartScene' スクリプトを無効にします。
- 以下に説明するアイ トラッキング テスト シーンのいずれか(またはその他のシーン) を下のスクリーンショットに示すように Hierarchy ビューに ドラッグ & ドロップ します。
- Play を押します。
このようなサブ シーンのロードは永続的ではないことに注意してください。 つまり、アプリを HoloLens 2 デバイスにデプロイすると、ルート シーンのみがロードされます (Build Settings の一番上にルート シーンが表示されているものとします)。 また、プロジェクトを他のユーザと共有する場合、サブ シーンは自動的にはロードされません。
MRTK によるアイ トラッキングのサンプル シーンを機能させる方法を理解したところで、次は目でホログラムを選択する方法について詳しく見ていきましょう: Eye-supported target selection。