ジェスチャGestures

手のジェスチャは、複合現実でのユーザー アクションの実行を許可します。Hand gestures allow users take action in mixed reality. 相互作用が上に構築された視線をターゲットとジェスチャまたは音声にどのような要素が対象となって動作します。Interaction is built on gaze to target and gesture or voice to act upon whatever element has been targeted. 手のジェスチャでは、空間における正確な場所は提供しませんが、HoloLens に配置して、すぐにコンテンツを操作するがわかりやすくするためには、[アクセサリ]、せずに作業を取得するユーザーができるようにします。Hand gestures do not provide a precise location in space, but the simplicity of putting on a HoloLens and immediately interacting with content allows users to get to work without any other accessories.


デバイスのサポートDevice support

機能Feature HoloLens (第 1 世代)HoloLens (1st gen) HoloLens 2HoloLens 2 イマーシブ ヘッドセットImmersive headsets
ジェスチャGestures ✔️✔️ ✔️✔️
関節手Articulated hands ✔️✔️

注意

HoloLens 2 に固有のガイダンスについて近日します。More guidance specific to HoloLens 2 coming soon.

視線の先コミットGaze-and-commit

アクションを実行し、手のジェスチャの使用をヘッド注視ターゲット メカニズムとして。To take actions, hand gestures use head gaze as the targeting mechanism. 組み合わせ視線エア タップジェスチャで結果を視線の先コミット相互作用します。The combination of Gaze and the Air tap gesture results in a gaze-and-commit interaction. 視線の先にコミットする代わりにポイント-コミットによって有効になっている、コント ローラーのモーションします。An alternative to gaze-and-commit is point-and-commit, enabled by motion controllers. HoloLens で実行されるアプリのみ、HoloLens でモーションのコント ローラーがサポートされていないために、視線の先にコミットをサポートする必要があります。Apps that run on HoloLens only need to support gaze-and-commit since HoloLens does not support motion controllers. HoloLens、イマーシブ ヘッドセットの両方で実行されるアプリは、入力デバイスでユーザーが選択をできるようにする、視線の先に基づくし、ポイントに基づく相互作用をサポートする必要があります。Apps that run on both HoloLens and immersive headsets should support both gaze-driven and pointing-driven interactions, to give users choice in what input device they use.

2 つのコア HoloLens のジェスチャThe two core gestures of HoloLens

HoloLens を現在 2 つのコア コンポーネントのジェスチャの認識エア タップブルームします。HoloLens currently recognizes two core component gestures - Air tap and Bloom. これら 2 つのコアの相互作用は、開発者がアクセスできる空間の入力データの最下位のレベルです。These two core interactions are the lowest level of spatial input data that a developer can access. これらは、さまざまなユーザーの操作の基盤を形成します。They form the foundation for a variety of possible user actions.

エア タップAir tap

エア タップは、マウス クリックのように垂直に保持されている手でタップ ジェスチャは、または選択します。Air tap is a tapping gesture with the hand held upright, similar to a mouse click or select. これは、エクスペリエンスで使用ほとんど HoloLens"click"と同等の UI 要素を対象にすることで後視線します。This is used in most HoloLens experiences for the equivalent of a "click" on a UI element after targeting it with Gaze. 1 回を説明し、すべてのアプリ間で、適用する汎用的な操作になります。It is a universal action that you learn once and then apply across all your apps. 1 つのボタンを押しての選択を実行するには、その他の方法は、 HoloLens Clickerまたは音声を話すことによってコマンドが"Select"。Other ways to perform select are by pressing the single button on a HoloLens Clicker or by speaking the voice command "Select".

HoloLens の手のジェスチャの準備完了状態Ready state for hand gestures on HoloLens
HoloLens のエア タップの準備完了状態。Ready state for Air tap on HoloLens.

エア タップは、不連続のジェスチャです。Air tap is a discrete gesture. 選択範囲が終了したか、またはでないと、アクションまたはエクスペリエンス内では区別されません。A selection is either completed or it is not, an action is or is not taken within an experience. できますが、主要なコンポーネント (例: シングル タップとは異なる意味をダブルタップ ジェスチャ) の組み合わせから他の個別のジェスチャを作成するいくつかの特定の目的のことをお勧めします。It is possible, though not recommended without some specific purpose, to create other discrete gestures from combinations of the main components (e.g. a double-tap gesture to mean something different than a single-tap).

準備が位置し、タップまたはクリック モーション指Finger in the ready position and then a tap or click motion
エア タップを実行する方法。準備が位置する際、人差し指をさせて、指をタップまたは選択してキーを押して解放し、バックアップします。How to perform an Air tap: Raise your index finger to the ready position, press your finger down to tap or select and then back up to release.

「BloomBloom

「Bloom「ホーム」ジェスチャは、と用に予約されているだけで。Bloom is the "home" gesture and is reserved for that alone. [スタート] メニューに戻るに使用されるシステムの特別な操作になります。It is a special system action that is used to go back to the Start Menu. これは、キーボードまたは Xbox コント ローラーでは、Xbox ボタンの Windows キーを押してと同じです。It is equivalent to pressing the Windows key on a keyboard or the Xbox button on an Xbox controller. ユーザーは、いずれかの手を使用できます。The user can use either hand.

HoloLens のブルーム ジェスチャ

HoloLens にブルーム ジェスチャには、手を押しながら、palm、思い通りにまとめて。To do the bloom gesture on HoloLens, hold out your hand, palm up, with your fingertips together. 次に、手を開きます。Then open your hand. メモすることができますも常にスタートに戻る言っておきたい」「コルタナさん、Go ホームNote, you can also always return to Start by saying "Hey Cortana, Go Home". アプリは、これらのシステムによって処理されますホームのアクションに具体的には対応ことはできません。Apps cannot react specifically to a home action, as these are handled by the system.

「Bloom ジェスチャBloom gesture
HoloLens のブルーム ジェスチャを実行する方法。How to perform the bloom gesture on HoloLens.

複合のジェスチャComposite gestures

アプリでは、複数の個々 のタップを認識できます。Apps can recognize more than just individual taps. 結合をタップして保持して、リリース、手の動きより複雑な複合ジェスチャを実行できます。By combining tap, hold and release with the movement of the hand, more complex composite gestures can be performed. これらの複合または高レベルのジェスチャは、低レベル空間からの入力データ (エア タップと Bloom) 開発者がアクセスできるに作成します。These composite or high-level gestures build on the low-level spatial input data (from Air tap and Bloom) that developers have access to.

複合のジェスチャComposite gesture 適用する方法How to apply
エア タップAir tapエア タップのジェスチャ (およびその他のジェスチャは以下) は、特定のタップにのみ対応します。The Air tap gesture (as well as the other gestures below) reacts only to a specific tap. メニューや把握などの他のタップを検出するために、アプリは、上記 2 つの重要なコンポーネントのジェスチャのセクションで説明されている下位レベルの相互作用を直接使用する必要があります。To detect other taps, such as Menu or Grasp, your app must directly use the lower-level interactions described in two key component gestures section above.
タップ アンド ホールドTap and hold

保留中のエア タップの下向きの指の位置だけ維持です。Hold is simply maintaining the downward finger position of the air tap. エア タップ アンド ホールドの組み合わせによりより複雑なのさまざまな" をクリックし、ドラッグ"相互作用と組み合わせたときにアクティブ化することではなくオブジェクトの選択などの移動を arm または"mousedown"コンテキスト メニューを表示するなどのセカンダリの相互作用します。The combination of air tap and hold allows for a variety of more complex "click and drag" interactions when combined with arm movement such as picking up an object instead of activating it or "mousedown" secondary interactions such as showing a context menu.

任意拡張のジェスチャの実行中に、手の形の姿勢を緩和しやすいユーザーとしてただし、このジェスチャの設計にできる場合に、注意を使用してください。Caution should be used when designing for this gesture however, as users can be prone to relaxing their hand postures during the course of any extended gesture.

操作Manipulation

移動、サイズを変更する場合、ユーザーに 1 対 1 の対応するホログラム ホログラムを回転操作のジェスチャを使用できる's 手の動きです。Manipulation gestures can be used to move, resize or rotate a hologram when you want the hologram to react 1:1 to the user's hand movements. このような 1 対 1 の動きの 1 つの用途は、描画またはペイントの世界では、ユーザーにです。One use for such 1:1 movements is to let the user draw or paint in the world.

操作のジェスチャの初期ターゲットは、視線入力または参照によって行う必要があります。The initial targeting for a manipulation gesture should be done by gaze or pointing. タップ アンド ホールドの開始、オブジェクトのすべての操作が、処理を手動で移動すると、操作中にユーザーを解放します。Once the tap and hold starts, any manipulation of the object is then handled by hand movements, freeing the user to look around while they manipulate.

ナビゲーションNavigation

ナビゲーションのジェスチャでは、仮想ジョイスティックのように動作し、放射状メニューなどの UI ウィジェットを移動に使用できます。Navigation gestures operate like a virtual joystick, and can be used to navigate UI widgets, such as radial menus. タップし、ジェスチャが開始され、手を中心に最初のキーを押して、正規化された 3D キューブ内に保持します。You tap and hold to start the gesture and then move your hand within a normalized 3D cube, centered around the initial press. 0 の開始点の 1 に、値-1 から X、Y、Z 軸に沿った手を移動できます。You can move your hand along the X, Y or Z axis from a value of -1 to 1, with 0 being the starting point.

ナビゲーションは、velocity ベースの継続的なスクロールまたはズーム ジェスチャ、マウスの中央ボタンをクリックし、マウスを上下に移動して 2D の UI をスクロールすると同様の作成に使用できます。Navigation can be used to build velocity-based continuous scrolling or zooming gestures, similar to scrolling a 2D UI by clicking the middle mouse button and then moving the mouse up and down.

レールを使用したナビゲーションは、その軸で特定のしきい値に達するまでは、特定の軸での動きを認識する機能を指します。Navigation with rails refers to the ability of recognizing movements in certain axis until certain threshold is reached on that axis. 1 つ以上の軸での移動が有効な場合、アプリケーションで、開発者など、便利ですが、これはのみ、アプリケーションが X、Y 軸の間でナビゲーション ジェスチャを認識するように構成が指定されても場合 rails 軸 X。This is only useful, when movement in more than one axis is enabled in an application by the developer, e.g. if an application is configured to recognize navigation gestures across X, Y axis but also specified X axis with rails. ここでシステムが認識手の動きで X 軸の X 軸の rails (ガイド) が虚数部内にある限り、手の形の移動には、Y 軸もが発生した場合。In this case system will recognize hand movements across X axis as long as they remain within an imaginary rails (guide) on X axis, if hand movement also occurs Y axis.

2D のアプリ内でユーザーは、スクロール、ズーム、またはアプリ内でドラッグ縦型ナビゲーション ジェスチャを使用できます。Within 2D apps, users can use vertical navigation gestures to scroll, zoom, or drag inside the app. これは、同じ種類のタッチ ジェスチャをシミュレートするためにアプリを仮想指タッチを挿入します。This injects virtual finger touches to the app to simulate touch gestures of the same type. ボタンを選択するか、というアプリ上にあるバー上のツール間で切り替えることで行われますがこれらのアクションのユーザーが選択できる'<スクロール/ドラッグ/ズーム>ツール'します。Users can select which of these actions take place by toggling between the tools on the bar above the app, either by selecting the button or saying '<Scroll/Drag/Zoom> Tool'.

ジェスチャ レコグナイザーGesture recognizers

ジェスチャ認識を使用して 1 つの利点は、現在のターゲット ホログラムが受け入れることができるジェスチャのジェスチャ認識エンジンを構成することができます。One benefit of using gesture recognition is that you can configure a gesture recognizer just for the gestures the currently targeted hologram can accept. プラットフォームでは、これらの特定のサポートされているジェスチャを区別するために必要な曖昧のみを行います。The platform will do only the disambiguation necessary to distinguish those particular supported gestures. そうすることだけエア タップをサポートするホログラムは任意の長さのキーを押してからリリースまでの時間を受け入れることができます、ホログラム中をサポートしています をタップし、の両方を保持できます後を昇格させる保留をタップして、ホールド時間のしきい値。That way, a hologram that just supports air tap can accept any length of time between press and release, while a hologram that supports both tap and hold can promote the tap to a hold after the hold time threshold.

手の形の認識Hand recognition

HoloLens では、デバイスに表示されているいずれかまたは両方のハンドの位置を追跡して手のジェスチャを認識します。HoloLens recognizes hand gestures by tracking the position of either or both hands that are visible to the device. いずれかの場合、HoloLens は手を表示、準備状態(背面人差し指をに向けてして手のアイコン)、または状態の押された(背面インデックス指でに向けてして手のアイコン)。HoloLens sees hands when they are in either the ready state (back of the hand facing you with index finger up) or the pressed state (back of the hand facing you with the index finger down). 手が他が発生する場合、それら、HoloLens は無視されます。When hands are in other poses, the HoloLens will ignore them.

各ハンドの HoloLens を検出すると、(向き) なしの位置と、押された状態にアクセスすることができます。For each hand that HoloLens detects, you can access its position (without orientation) and its pressed state. して手のアイコンは、ジェスチャのフレームの端に近いが再び HoloLens が表示できる場所を取得するには、その手を移動する方法を把握できるように、ユーザーに表示できる方向ベクトルも与えられます。As the hand nears the edge of the gesture frame, you're also provided with a direction vector, which you can show to the user so they know how to move their hand to get it back where HoloLens can see it.

ジェスチャ フレームGesture frame

HoloLens のジェスチャは、フレーム内で"ジェスチャ"、(非常に大まかにウェストと肩の間での鼻) からジェスチャ検知カメラが適切に参照できる範囲内でして手のアイコン必要があります。For gestures on HoloLens, the hand must be within a “gesture frame”, in a range that the gesture-sensing cameras can see appropriately (very roughly from nose to waist, and between the shoulders). ユーザーは、認識操作の成功と独自の快適性の両方が (多くのユーザーが最初と仮定ジェスチャ フレームが HoloLens、これにより、ビュー内であるし、対話するには多く自分の腕を保持する必要があります) のこの領域でトレーニングを受ける必要があります。Users need to be trained on this area of recognition both for success of action and for their own comfort (many users will initially assume that the gesture frame must be within their view through HoloLens, and hold their arms up uncomfortably in order to interact). HoloLens Clicker を使用する場合は、手をジェスチャ フレーム内である必要はありません。When using the HoloLens Clicker, your hands do not need to be within the gesture frame.

継続的なジェスチャの場合具体的がユーザーの中には、(中に何らかの holographic オブジェクトを移動するなど) の中間のジェスチャ、ジェスチャのフレームの外部で手に移動し、目的の結果を失うことのリスクです。In the case of continuous gestures in particular, there is some risk of users moving their hands outside of the gesture frame while in mid-gesture (while moving some holographic object, for example), and losing their intended outcome.

考慮すべき 3 つのことがあります。There are three things that you should consider:

  • ジェスチャのフレームの存在とおおよその境界 (これは、HoloLens のセットアップ中については) でユーザー教育します。User education on the gesture frame's existence and approximate boundaries (this is taught during HoloLens setup).
  • ときに、ジェスチャが近づいて/重大な程度失わジェスチャが望ましくない結果に至るまで、アプリケーション内でジェスチャ フレーム境界のユーザーに通知します。Notifying users when their gestures are nearing/breaking the gesture frame boundaries within an application, to the degree that a lost gesture will lead to undesired outcomes. 調査によれば、このような通知システムのキーの品質を評価し、HoloLens のシェルがこの (ビジュアルでは、どの境界の交差が行われて方向を示す、中央のカーソルで) 通知の種類の良い例を提供します。Research has shown the key qualities of such a notification system, and the HoloLens shell provides a good example of this type of notification (visual, on the central cursor, indicating the direction in which boundary crossing is taking place).
  • ジェスチャのフレームの境界線の重大な影響を最小限に抑える必要があります。Consequences of breaking the gesture frame boundaries should be minimized. 一般はジェスチャの結果が、境界で停止していることが逆になっていないを意味します。In general, this means that the outcome of a gesture should be stopped at the boundary, but not reversed. などの場合は、ユーザーが、部屋の holographic によってオブジェクトを移動、移動を停止、ジェスチャのフレームが違反になった場合がいない出発点に返されます。For example, if a user is moving some holographic object across a room, movement should stop when the gesture frame is breached, but not be returned to the starting point. ユーザーは、可能性がありますし、いくつかのストレスが発生するが可能性があります、境界がより迅速に理解していなくてたびに完全な意図した操作を再起動します。The user may experience some frustration then, but may more quickly understand the boundaries, and not have to restart their full intended actions each time.

関連項目See also