ハンド メニューHand menu

Ulnar side location

このメニューは、HoloLens 2 の最も一意な UX パターンの1つです。The hand menu is one of the most unique UX patterns in HoloLens 2. これにより、ハンドアタッチされた UI をすばやく表示できます。It allows you to quickly bring up hand-attached UI. いつでもアクセスできるため、簡単に表示および非表示にすることができます。Since it's accessible anytime and can be shown and hidden easily, it's great for quick actions.

以下の一覧で、メニューを使用するための推奨されるベストプラクティスを紹介します。You'll find our recommended best practices for working with hand menus in the list below. また、 Mrtkの手の形を示すシーンの例も見つかります。You can also find an example scene demonstrating the hand menu in MRTK.

ベスト プラクティスBest practices

ボタンの数を小さくするKeep the number of buttons small

ハンドロックされたメニューと目の間には距離が近づいているのに対して、比較的小さな視覚面に焦点を当てるという傾向があるため (attentional コーンは約10度)、ボタンの数を小さくしておくことをお勧めします。Due to the close distance between a hand-locked menu and the eyes and also the user's tendency to focus on a relatively small visual area at any time (the attentional cone of vision is roughly 10 degrees), we recommend keeping the number of buttons small. この探索に基づいて、3つのボタンがある1つの列は、ユーザーが視界の中央に移動した場合でも、ビューのフィールド (視界) 内のすべてのコンテンツを保持することで効果的に機能します。Based on our exploration, one column with three buttons works well by keeping all the content within the field of view (FOV) even when a user moves their hands to the center of the FOV.

クイックアクションに手のメニューを使用するUtilize hand menu for quick action

Arm を持ち上げて位置を維持すると、arm の疲労が簡単に生じる可能性があります。Raising an arm and maintaining the position could easily cause arm fatigue. 短い対話を必要とするメニューには、ハンドロックされたメソッドを使用します。Use a hand-locked method for the menu requiring a short interaction. メニューが複雑で、対話時間の延長が必要な場合は、代わりにワールドロックまたは本体ロックを使用することを検討してください。If your menu is complex and requires extended interaction times, consider using world-locked or body-locked instead.

ボタン/パネルの角度Button / Panel angle

メニューは、両端が反対のショルダーと真ん中になるようにする必要があります。これにより、自然な移動は反対の手でメニューと対話し、ボタンをタッチするときに不快または不快な針を回避できます。Menus should billboard towards the opposite shoulder and middle of the head: This allows a natural hand move to interact with the menu with the opposite hand and avoids any awkward or uncomfortable hand positions when touching buttons.

1ききまたはハンズフリー操作のサポートを検討するConsider supporting one-handed or hands-free operation

両方のユーザーが常に使用できるとは限りません。Do not assume both of the user's hands are always available. 一方または両方のハンズオンが使用できない場合は、さまざまなコンテキストを検討し、そのような状況に合わせて設計アカウントを確認します。Consider a wide range of contexts when one or both hands are not available, and make sure your design accounts for those situations. 片手メニューをサポートするには、手動でロックしたときに、メニューの配置を手動でロックしてみてください。To support a one-handed hand menu, you can try transitioning the menu placement from hand-locked to world-locked when the hand flips (goes palm down). ハンドフリーのシナリオでは、音声コマンドを使用して手の形のメニューを呼び出すことを検討してください。For hands-free scenarios, consider using a voice command to invoke the hand menu.

手首 (システムホームボタン) の近くにボタンが追加されないようにするAvoid adding buttons near the wrist (system home button)

手の形のボタンが [ホーム] ボタンの近くに置かれている場合は、メニューを操作しているときに誤ってトリガーされることがあります。If the hand menu buttons are placed too close to the home button, it may accidentally trigger while interacting with the hand menu.

大規模で複雑な UI コントロールを持つ手のメニューHand menu with large and complex UI controls

HoloLens perspective of a menu system that always faces the user 手動でアタッチしたメニューでは、ボタンまたは UI コントロールの数を制限することをお勧めします。It's recommended to limit the number of buttons or UI controls on hand-attached menus. これは、多数の UI 要素との拡張操作によって arm の疲労が発生する可能性があるためです。This is because extended interaction with a large number of UI elements can cause arm fatigue. エクスペリエンスに大きなメニューが必要な場合は、ユーザーがメニューをロックするための簡単な方法を提供します。If your experience requires a large menu, provide an easy way for the user to world lock the menu. 1つの方法として、ユーザーを手に入れたり、逆にしたりするときに、メニューを使うことをお勧めします。One technique we recommend is to world-lock then menu when the hand drops or flips away from the user. もう1つの方法は、ユーザーが直接メニューを取得できるようにすることです。A second technique is to allow the user to directly grab the menu with the other hand. ユーザーがメニューを離すと、メニューがロックされます。When the user releases the menu, the menu should world lock. こうすることで、ユーザーはさまざまな UI 要素との対話を長時間にわたって容易に行うことができます。This way, a user can interact with various UI elements comfortably and confidently over an extended period of time.

メニューが世界中にロックされている場合は、メニューを移動する方法を用意して、不要になったときにメニューを閉じるようにしてください。When the menu is world-locked, make sure to provide a way to move the menu, and close the menu when it's no longer needed. メニューの横または上部にハンドルを入力して、メニューを移動できるようにします。Make the menu movable by providing handles on the sides or top of menu. [閉じる] ボタンを追加して、メニューを閉じることができるようにします。Add a close button to allow the menu to close. ユーザーがユーザーを手にしたときに、メニューを手動で再アタッチできるようにします。Allow for the menu to re-attach to the hand when the user hand faces the user. また、誤ったアクティベーションを防ぐために、ユーザーが手動で gazes するように要求することもお勧めします (下記参照)。We also recommend requiring that the users gazes at their hand to prevent false activations (see below).

ユーザビリティの問題を示す大きなメニューLarge menu that shows a usability issue

手の形でロックされたメニューWorld-locked menu on hand drop

手動によるグラブ & [ワールドにプル]-メニューをロックするManual grab & pull to world-lock the menu

偽のアクティベーションを防止する方法How to prevent false activation

ポップアップをイベントとしてのみ使用して、メニューをトリガーすると、不要になったときに誤って表示されることがあります (偽陽性)。これは、ユーザーが (通信とオブジェクトの操作のために) 意図的に移動し、意図せずに移動するためです。If you use just palm-up as an event to trigger the hand menu, it may accidentally appear when you don't need it (false-positive), because people move their hands both intentionally (for communication and object manipulation) and unintentionally. 偽のライセンス認証を減らすには、手のひらイベント以外に追加の手順を追加して、手のひら (完全に開いた指など) を呼び出すか、ユーザーが意図的に整理します。To reduce false activations, add an additional step besides the palm-up event to invoke the hand menu (such as fully opened fingers, or the user intentionally gazing at their hand).

フラットなパームが必要Require Flat Palm

フラットなオープンハンドを要求することで、ユーザーが環境内で通信中にオブジェクトやジェスチャを操作するときに、偽のアクティブ化を防ぐことができます。By requiring a flat open hand, you can prevent false activation that might occur as the user manipulates objects or gestures while communicating within an environment.

宝石が必要Require Gaze

ユーザーが自分の手を見つめ (目を見つめているか、頭を見つめている) ことを要求することで、誤ったライセンス認証を防ぐことができます。これは、ユーザーが補助的なアクティブ化の手順として手動で注意を向ける必要があるためですBy requiring the user to gaze at their hand (either with eye gaze or head gaze), it prevents false activations due to the user having to intentionally direct their attention to the hand as a secondary activation step (with a tunable distance threshold used to allow for user comfort).

手動によるメニューの配置のベストプラクティスHand menu placement best practices

人間の構造では、ulnar は ulnar のボーンの近くで実行されます。In human anatomy, the ulnar nerve is a nerve that runs near the ulna bone. Ulna は、l 肘から最小の指まで伸縮する長い骨の中にあります。The ulna is a long bone found in the forearm that stretches from the elbow to the smallest finger.

次に、探索に基づく2つの推奨される配置を示します。Below are 2 recommended placements based on our explorations:

Ulnar side locationUlnar side hand location
Palm 内部の UlnarA. Ulnar inside palm
この位置は、両手が互いに重ならないため、信頼性が高くなります。This position is reliable because the hands do not overlap each other. これは、正確な手動検出と追跡に不可欠です。This is critical for accurate hand detection and tracking.

Ulnar side locationUlnar side hand location
B. Ulnar (手動)B. Ulnar above hand
この場所はユーザーにとって使いやすいものです。ユーザーは arm を起動して、手のメニューと対話する必要がないからです。This location is comfortable for users because they don't need to raise their arm too much to interact with the hand menu. メニュー 13cmをパームの上に配置し、ボタンを ulnar palm の内側に配置することをお勧めします。We recommend placing menus 13cm above the palm and align the buttons inside the ulnar palm. 最適なボタンサイズの詳細を確認するRead more about the optimal button size

技術的な理由により、この場所は1つの必須の実装にすることをお勧めします。開発者は、ユーザーの反対側がこのメニューを操作するために終了した後で、メニューを固定する必要があります。For technical reasons we recommend this location with one required implementation: the developer will need to freeze the menu once the user's opposite hand gets close to interacting with it. これにより、jitteriness が重複しないようにすることができ、ボタンをより高速にターゲット設定できるようになります。This will avoid jitteriness from overlapping hands and also allows for a faster targeting of the buttons.

HoloLens 2 カメラは、互いに独立しているときに正確に識別します。HoloLens 2 cameras identify hands accurately when they are separate from each other. 両手が重なると、メニューがアンカー位置から離れてしまう可能性があります。Any overlapping hands can cause hand menus move away from the anchor location.

さまざまなメニューのレイアウトや場所を使用したユーザーの調査を行っていますが、次のメニューの場所は推奨されていません。以下の各研究の欠点を確認してください。We have done user research with different menus layouts and locations, the following menu locations are NOT recommended, find the cons of each study below:

Arm より上Above arm
Arm の上Above the arm
1-適切な追跡を維持することが困難1 - Difficult to maintain good hand tracking
2-不自然な位置が原因でユーザーの疲労が発生する2 - Causes user fatigue due to unnatural position

上の指Above fingers
上の指Above fingers
長い時間が経過したことによる1つの疲労1 - Hand fatigue due to holding out hand for a long time
インデックスと中段指に関する2つの問題の追跡2 - Hand tracking issues on index and middle fingers

中央の上にあるパームAbove center palm
上-中央のパームAbove-center palm
両手が重なっているために問題を追跡する1 - Hand tracking issues due to overlapping hands
メニューと対話するためにハンドを長時間保持することによる2ハンドの疲労2 - Hand fatigue due to holding hands for long time in order to interact with menus

Top 指先 top 指先Top Fingertip Top fingertip
1ハンドトラッキングの問題1 - Hand tracking issues
通常の姿勢を超えたままの2ハンドの疲労2 - Hand fatigue from holding hand above normal posture
3-指間のスペースが限られているために偶発的に他の指でボタンを押す問題3 - Issues pressing buttons with other fingers by accident due to limited space between fingers

Arm の背面Back of the Arm
Arm の背面Back of the arm
1-事故によってホームボタンをトリガーできる1 - Can trigger home button by accident
2-自然または快適な位置2 - Not a natural or comfortable position

Unity の MRTK (Mixed Reality Toolkit) の手の形のメニューHand menu in MRTK (Mixed Reality Toolkit) for Unity

Mrtk には、ハンドメニューのスクリプトとサンプルシーンが用意されています。MRTK provides scripts and example scenes for the hand menu. HandConstraintPalmUp ソルバースクリプトを使用すると、さまざまな構成可能なオプションを使用して、任意のオブジェクトをハンドにアタッチできます。The HandConstraintPalmUp solver script allows you to attach any objects to the hands with various configurable options. MRTK の手の形のメニューの例には、誤ったアクティベーションを防止するためのフラットなパームや宝石の要件などの便利なオプションが含まれています。MRTK's hand menu examples include useful options such as flat palm and gaze requirement for preventing false activation.

MRTK サンプルハブアプリを使用して、HoloLens 2 でメニューの例を試すことができます。You can try hand menu examples in HoloLens 2 with MRTK Examples Hub app.

関連項目See also