HoloLens 2 での目の視線入力ベースの対話式操作

Eye tracking demo in MRTK

HoloLens 2 の優れた新機能の 1 つは視線追跡です。 「HoloLens 2 での視線追跡」のページでは、各ユーザーが調整を行う必要性について説明し、開発者向けガイダンスを示し、視線追跡のユースケースを特に取り上げました。 目の視線入力は、まだ新しい種類のユーザー入力であり、学ぶことがたくさんあります。

目の視線入力は、ホログラフィック シェル エクスペリエンス (HoloLens 2 の起動時に表示されるユーザー インターフェイス) ではわずかしか使用されませんが、いくつかのアプリ ("HoloLens プレイグラウンド" など) は、目の視線入力によって魔法のようなホログラフィック エクスペリエンスが拡大される好例です。 このページでは、ホログラフィック アプリケーションの対話式操作を行う目の視線入力を統合するための設計上の考慮事項について説明します。

目の視線入力に伴う主要な利点と固有の課題について説明します。 それらに基づいて、目の視線入力がサポートされる満足のいくユーザー インターフェイスを作成するために役立つ設計上の推奨事項をいくつか示します。

デバイス サポート

機能 HoloLens (第 1 世代) HoloLens 2 イマーシブ ヘッドセット
目の視線入力 ✔️

頭と目の追跡の設計概念デモ

動作している頭と目の追跡の設計概念を確認する場合は、下の「Designing Holograms - 頭の追跡と目の追跡」のビデオ デモをご覧ください。 終わったら、続けて特定のトピックについて詳しく見ていきます。

このビデオは、"Designing Holograms" HoloLens 2 アプリから撮影されました。 完全なエクスペリエンスをダウンロードしてご利用いただくには、ここから入手できます。

目の視線入力の設計ガイドライン

高速に動く目のターゲット設定を利用した対話式操作を構築することは、やりがいのあるものとなり得ます。 このセクションでは、アプリケーションの設計時に考慮すべき主な利点と課題をまとめます。

目の視線入力のベネフィット

  • 高速ポインティング。 眼筋は、人体で最も速く反応する筋肉です。

  • 低労力。 身体の動きがほとんど必要ありません。

  • 暗黙。 ユーザーから "読心術" と言われることもしばしばであり、ユーザーの目の動きの情報から、ユーザーが操作しようと思っているターゲットがシステムに伝わります。

  • 代替入力チャネル。 目の視線入力は、手と音声による入力を強力にサポートできます。これは、手と目の協調を基にしたユーザーの長年の経験に立脚したものです。

  • 視覚的注意。 もう 1 つの重要なベネフィットは、ユーザーが注目しているものを推測できる可能性です。 これはさまざまな適用分野に役立つ可能性があり、その範囲は、さまざまなデザインを効率よく評価することから、よりスマートなユーザー インターフェイスの補助や遠隔コミュニケーションのためのソーシャル キューの強化にまで及びます。

つまり、目の視線を入力として使用することで、すばやく苦労せずにコンテキスト入力信号を提供することができます。 これは、ユーザーの意図を確認するために "音声" や "手動" 入力など他の入力と組み合わせると強力です。

目の視線の入力としての課題

目の視線入力を使用して満足できるユーザー エクスペリエンスを作成できると、スーパーヒーローのように感じますが、その欠点についても知っておくことも、正しく説明する責任を果たす上で重要です。 次に、考慮すべきいくつかの "課題" と、目の視線入力を扱うときに対処する方法について説明します。

  • 目の視線入力は "常にオン" まぶたを開いた瞬間から、目は環境にあるものを見つめ始めます。 見たものすべてに反応したり、長く見続けたせいで偶発的なアクションが発行されたりすると、満足できるエクスペリエンスにはなりません。 ターゲットの選択をトリガーするには、目の視線入力を、"音声コマンド"、"手のジェスチャ"、"ボタンのクリック"、または長時間の凝視と組み合わせることをお勧めします (詳細については、「目の視線入力とコミット」を参照してください)。 また、この解決策によって、ユーザーは自由に周囲を見回せるようになり、無意識に何かをトリガーして驚かずにすむようになります。 ターゲットを見ているときの視覚的フィードバックと聴覚的フィードバックを設計するときにも、この問題を考慮する必要があります。 すぐにポップアウト効果やホバー音を発生させてユーザーを驚かせないようにしてください。 控えめにすることが重要です。 これに関するベスト プラクティスについても、後で設計推奨事項を示すときに説明します。

  • 観察と制御 壁の写真をまっすぐにしようとしていると想像してください。 写真の縁と周囲を見て、揃っているかどうかを確認します。 今度は、自分の目の視線を入力として使用して写真を動かすときはどうするかを想像してみてください。 難しいのではないでしょうか。 これは、目の視線が入力と制御の両方で必要になると役割が 2 倍になることを意味しています。

  • クリックする前に離れる: 迅速なターゲット選択の場合、ユーザーの目の視線入力が動いてから手動でのクリック (エアタップなど) が行われることが研究によって明らかになりました。 目の視線入力による高速の信号と、それよりも遅い制御入力 (音声、手、コントローラーなど) を同期することに特に注意してください。

  • 小さいターゲット: 少し小さすぎて読みづらい文字を読もうとするときの感覚がわかりますか。 目にこの負担を感じると、疲れ果ててしまうことがあります。これは、目の焦点をうまく合わせようとして再調整しているためです。 アプリケーションで目のターゲット設定を使用して小さすぎるターゲットをユーザーに選択させると、このような感覚をユーザーにもたらす場合があります。 設計に際しては、ユーザーにとって楽しく快適なエクスペリエンスを作るため、ターゲットを視角で 2 度以上にする (さらに大きい方が好ましい) ことをお勧めします。

  • 不規則な目の視線入力の動き 目はすばやく動いて、次から次へとあらゆるものを見ていきます。 記録された目の動きのスキャン パスを見ると、視線が不規則に動いていることがわかります。 "頭の視線入力" や "手の動き" に比べて、目の動きはすばやく、無意識のうちに突然動くことがあります。

  • 追跡の信頼性: 視線追跡の精度は、光が変化すると目が新しい条件に合わせて調整するため、少し低下する可能性があります。 精度を 2 度の制限内に収めればよいため、これは必ずしもアプリケーション設計に影響しませんが、ユーザーは再調整が必要になることがあります。

設計の推奨事項

次に、説明してきた目の視線入力の利点と課題に基づいて設計に関する特定の推奨事項を一覧表示します。

  1. 目の視線入力は頭の視線入力と同じではない:

    • 高速かつ不規則な目の動きが入力タスクに適しているかを考慮する: 高速かつ不規則な目の動きは視野にあるターゲットをすばやく選択するには優れていますが、スムーズな入力軌道を必要とするタスク (線を引くことや注釈を囲むことなど) には向いていません。 この場合は、手または頭によるポインティングをお勧めします。

    • ユーザーの目の視線入力に何か (スライダーやカーソルなど) を直接取り付けることは避けます。 カーソルの場合は、投影された目の視線入力信号のわずかなオフセットのせいで "逃げるカーソル" 効果が発生する可能性があります。 スライダーの場合は、目でスライダーを制御する一方で、オブジェクトが正しい位置にあるかどうかを確認する必要もあるという二重の役割に矛盾が生じることがあります。 スライダーの例では、目の視線入力を手のジェスチャと組み合わせて使用する方が理にかなっています。 つまり、ユーザーは、多数のスライダーをすばやく簡単に切り替え、手を上げて、親指と人差し指でつまんで動かすことができます。 つまんでいる指を離すと、スライダーの動きが止まります。 特に、ユーザーが驚いたり気が散ったりするのは、信号がそのユーザーにとって不正確な場合です。

  2. 目の視線入力と他の入力を組み合わせる: 視線追跡と他の入力 (手のジェスチャ、音声コマンド、ボタン押下など) を統合することで、いくつかの利点が得られます。

    • 自由に観察できる: 目の主要な役割が環境を観察することであると考えると、ユーザーがフィードバック (視覚や聴覚など) またはアクションをトリガーせずに周囲を見回せることは重要です。 視線追跡ともう 1 つの入力制御を組み合わせることで、視線追跡観察と入力制御のモードをスムーズに切り替えることができます。

    • 強力なコンテキスト プロバイダー: ユーザーが音声コマンドを発音したり、手のジェスチャを使用したりするときに、どこで何を見ているかという情報を使用すると、視野全体での入力のチャネル処理をシームレスに行うことができます。 たとえば、「それをそこに置いて」と発音して、ターゲットとそれを置く場所を見ることで、シーンの中ですばやくスムーズにホログラムを選択して位置づけることができます。

    • 多様な入力を同期する必要性: 迅速な目の動きをさらに複雑な入力 (音声コマンドや手のジェスチャ) と組み合わせると、ユーザーは既に周りを見ているのに、その後で追加の入力コマンドが完了して認識されるというリスクが生じます。 独自の入力制御 (手によるカスタムのジェスチャなど) を作成した場合は、その入力の開始またはおおよその継続時間を記録して、ユーザーが過去に見ていたものと関連付けるようにしてください。

  3. 視線追跡入力の控えめなフィードバック: ターゲットが見られたときにはフィードバックを提供して、システムが予定どおりに機能していることを示すと役立ちますが、控えめにする必要があります。 これには、ゆっくりしたブレンドインやブレンドアウト、視覚的強調表示、または他の控えめなターゲット動作 (スロー モーションやターゲット サイズのわずかな増大など) が含まれます。 これによって、ユーザーの現在のワークフローを不要に中断することなく、ユーザーがターゲットを見ていることがシステムによって正しく検出されたことが示されます。

  4. 不自然な目の動きを入力として使用することを避ける: アプリケーションのアクションをトリガーするためにユーザーに特別な目の動き (視線入力のジェスチャ) の使用を強制しないようにします。

  5. 不正確さに対応する: ユーザーが気づく不正確さにはオフセットとジッターの 2 種類があります。 オフセットに対処する最も簡単な方法は、操作に十分な大きさのターゲットを提供することです。 2 度を超える視角を参考として使用することをお勧めします。 たとえば、手を伸ばしたときの親指の爪の視角が約 2 度です。 これが次のガイダンスにつながります。

    • ユーザーに小さいターゲットの選択を強制しないでください。 ターゲットの大きさが十分でありシステムが適切に設計されていれば、ユーザーは操作が簡単で魔法のようだったと答えていることが調査で明らかになっています。 ターゲットを小さくしすぎると、ユーザーはエクスペリエンスを疲れる、いらだたしいものと表現します。

このページでは、Mixed Reality の入力としての目の視線入力に理解を深める上で適切な概要を説明しました。 開発を開始するには、Unity における目の視線入力DirectX における目の視線入力に関する情報を確認してください。

関連項目