Zeigen und Ausführen mit den HändenPoint and commit with hands

Cursor

Das Zeigen und Ausführen mit den Händen ist ein Eingabemodell, mit dem Benutzer auf 2D- und 3D-Inhalte außerhalb ihrer Reichweite zielen, sie auswählen und sie bearbeiten können.Point and commit with hands is an input model that lets users target, select, and manipulate out of reach 2D and 3D content. Diese „ferne“ Interaktionstechnik gibt es nur in der Mixed Reality-Umgebung, denn Menschen interagieren mit der realen Welt natürlicherweise nicht so.This "far" interaction technique is unique to mixed reality because humans don't naturally interact with the real world that way. Im Superhelden-Film X-Men beispielsweise kann die Figur Magneto ferne Objekte mit ihren Händen manipulieren.For example, in the super hero movie, X-Men, the character Magneto can manipulate far objects in the distance with his hands. Dies ist etwas, was Menschen in der Realität nicht können.This isn't something humans can do in reality. Sowohl in HoloLens (AR) als auch in Mixed Reality (MR) werden Benutzer mit dieser magischen Fähigkeit ausgestattet, um die physische Einschränkung der realen Welt zu durchbrechen.In both HoloLens (AR) and Mixed Reality (MR), we equip users with this magical power to break the physical constraint of the real world. Nicht nur macht diese Art von holografischem Erleben Spaß, es macht Benutzerinteraktionen zugleich effektiver und effizienter.Not only is it a fun holographic experience, but it also makes user interactions more effective and efficient.

GeräteunterstützungDevice support

EingabemodellInput model HoloLens (1. Generation)HoloLens (1st gen) HoloLens 2HoloLens 2 Immersive HeadsetsImmersive headsets
Zeigen und Ausführen mit den HändenPoint and commit with hands ❌ Nicht unterstützt❌ Not supported ✔️ Empfohlen✔️ Recommended ✔️ Empfohlen✔️ Recommended

„Zeigen und Ausführen mit Händen“ ist eines der neuen Features, welches das neue bewegliche Handverfolgungssystem verwendet."Point and commit with hands" is one of the new features that use the new articulated hand-tracking system. Dieses Eingabemodell ist auch das primäre Eingabemodell bei immersiven Headsets mithilfe von Motion-Controllern.This input model is also the primary input model on immersive headsets by using motion controllers.



HandlichtstrahlHand rays

In HoloLens 2 haben wir einen Lichtstrahl erzeugt, der aus der Mitte der Handfläche des Benutzers schießt.On HoloLens 2, we created a hand ray that shoots out from the center of the user's palm. Dieser Lichtstrahl wird als Erweiterung der Hand behandelt.This ray is treated as an extension of the hand. Ein ringförmiger Cursor befindet sich am Ende des Strahls, um den Punkt anzugeben, an dem der Strahl das Zielobjekt schneidet.A donut-shaped cursor is attached to the end of the ray to indicate the location where the ray intersects with a target object. Das Objekt, auf dem der Cursor landet, kann dann gestische Befehle von der Hand empfangen.The object that the cursor lands on can then receive gestural commands from the hand.

Dieser grundlegende gestische Befehl wird mit dem Daumen und dem Zeigefinger ausgelöst, um das Tippen in die Luft auszuführen.This basic gestural command is triggered by using the thumb and index finger to do the air-tap action. Mithilfe des Handstrahls zum Zeigen und dem Tippen in die Luft zum Ausführen kann der Benutzer eine Schaltfläche oder einen Link aktivieren.By using the hand ray to point and air tap to commit, users can activate a button or a hyperlink. Mit weiteren zusammengesetzten Gesten können Benutzer durch Webinhalte navigieren und 3D-Objekte aus der Entfernung bearbeiten.With more composite gestures, users can navigating web content and manipulating 3D objects from a distance. Das visuelle Design des Handlichtstrahls sollte auch auf die Zustände beim Zeigen und Ausführen reagieren, wie nachstehend beschrieben und gezeigt:The visual design of the hand ray should also react to these point and commit states, as described and shown below:

Zeigen mit Handstrahlenhand rays pointing
Status „Zeigen“Pointing state
Im Status Zeigen ist der Lichtstrahl eine gestrichelte Linie, und der Cursor hat die Form eines Rings.In the pointing state, the ray is a dash line and the cursor is a donut shape.

Ausführen mit Handstrahlenhand rays commit
Status „Ausführen“Commit state
Im Status Ausführen wird der Lichtstrahl zu einer durchgezogenen Linie, und der Cursor wird auf einen Punkt verkleinert.In the commit state, the ray turns into a solid line and the cursor shrinks to a dot.



Übergang zwischen nah und fernTransition between near and far

Anstatt spezifische Gesten wie „Zeigen mit dem Zeigefinger“ zum Lenken des Strahls zu verwenden, haben wir den Strahl so ausgelegt, dass er aus der Mitte der Handfläche des Benutzers entspringt.Instead of using specific gestures like "pointing with index finger" to direct the ray, we designed the ray to comout out from the center of the users' palm. Auf diese Weise haben wir die fünf Finger für stärker manipulative Gesten wie Zusammendrücken und Greifen freigestellt.This way, we've released and reserved the Five Fingers for more manipulative gestures like pinch and grab. Mit diesem Entwurf erstellen wir nur ein mentales Modell. Derselbe Satz von Gesten wird für nahe und ferne Interaktionen verwendet.With this design, we create only one mental model - the same set of hand gestures are used for both near and far interaction. So können Sie die gleiche Greifgeste zum Bearbeiten von Objekten aus unterschiedlichen Entfernungen verwenden.You can use the same grab gesture to manipulate objects at different distances. Der Aufruf des Lichtstrahls erfolgt automatisch und basiert auf der Entfernung, wie folgt:The invocation of the rays is automatic and proximity-based as follows:

Manipulation in der NäheNear manipulation
Manipulation in der NäheNear manipulation
Wenn sich ein Objekt in Armeslänge befindet (ungefähr 50 cm), wird der Lichtstrahl automatisch deaktiviert und regt so die Interaktion aus der Nähe an.When an object is within arm's length (roughly 50 cm), the rays are turned off automatically, encouraging near interaction.

Manipulation in der FerneFar manipulation
Manipulation in der FerneFar manipulation
Wenn das Objekt mehr als 50 cm entfernt ist, wird der Lichtstrahl aktiviert.When the object is farther than 50 cm, the rays are turned on. Der Übergang sollte reibungslos und nahtlos erfolgen.The transition should be smooth and seamless.



2D-Tafel – Interaktion2D slate interaction

Eine 2D-Tafel ist ein holografischer Container, der 2D-App-Inhalte hostet (z. B. einen Webbrowser).A 2D slate is a holographic container hosting 2D app contents, such as a web browser. Das Entwurfskonzept für die ferne Interaktion mit einer 2D-Tafel verwendet den Handlichtstrahl zum Zielen und das Tippen in die Luft zum Auswählen.The design concept for far interacting with a 2D slate is to use hand rays to target and air tap to select. Nach dem Zielen mit dem Handlichtstrahl kann der Benutzer in die Luft tippen, um einen Link oder eine Schaltfläche auszulösen.After targeting with a hand ray, users can air tap to trigger a hyperlink or a button. Sie können eine Hand zum „Tippen in die Luft und Ziehen“ verwenden, um den Inhalt einer Tafel nach oben und unten zu scrollen.They can use one hand to "air tap and drag" to scroll slate content up and down. Mit der relativen Bewegung und der Verwendung von zwei Händen zum „Tippen in die Luft und Ziehen“ können Sie den Inhalt der Tafel vergrößern und verkleinern.The relative motion of using two hands to air tap and drag can zoom in and out the slate content.

Wenn Sie mit dem Handlichtstrahl in die Ecken und auf die Kanten zielen, wird das naheliegendste Bearbeitungsangebot angezeigt.Targeting the hand ray at the corners and edges reveals the closest manipulation affordance. Mit den Bearbeitungsangeboten „Greifen und Ziehen“ kann der Benutzer über das Eckenangebot eine einheitliche Skalierung ausführen und über das Kantenangebot die Tafel neu formatieren.By "grab and drag" manipulation affordances, users can do uniform scaling through the corner affordances, and can reflow the slate via the edge affordances. Durch Greifen und Ziehen der Hololeiste im oberen Bereich der 2D-Tafel kann der Benutzer die gesamte Tafel verschieben.Grabbing and dragging the holobar at the top of the 2D slate lets users move the entire slate.

2D-Tafel – Interaktion „Klicken“2d slate interaction click
KlickenClick

2D-Tafel – Interaktion „Scrollen“2d slate interaction scroll
ScrollenScroll

2D-Tafel – Interaktion „Zoomen“2d slate interaction zoom
ZoomenZoom


So bearbeiten Sie die 2D-TafelFor manipulating the 2D slate

  • Der Benutzer zeigt mit dem Handlichtstrahl in die Ecken oder auf die Kanten, um das naheliegendste Bearbeitungsangebot anzuzeigen.Users point the hand ray at the corners or edges to reveal the closest manipulation affordance.
  • Durch das Anwenden einer Bearbeitungsgeste kann der Benutzer über das Eckenangebot eine einheitliche Skalierung und über das Kantenangebot eine Formatierung der Tafel vornehmen.By applying a manipulation gesture on the affordance, users can do uniform scaling through the corner affordance, and can reflow the slate via the edge affordance.
  • Durch das Anwenden einer Bearbeitungsgeste auf die Hololeiste im oberen Bereich der 2D-Tafel kann der Benutzer die gesamte Tafel verschieben.By applying a manipulation gesture on the holobar at the top of the 2D slate, users can move the entire slate.


3D-Objektbearbeitung3D object manipulation

Bei der direkten Bearbeitung hat der Benutzer zwei Möglichkeiten zum Bearbeiten von 3D-Objekten: angebotsbasierte Bearbeitung und Bearbeitung ohne Angebot.In direct manipulation, there are two ways for users to manipulate 3D objects: affordance-based manipulation and non-affordance based manipulation. Beim Modell „Zeigen und Ausführen“ kann der Benutzer genau die gleichen Aufgaben mithilfe des Handlichtstrahls ausführen.In the point and commit model, users can achieve exactly the same tasks through the hand rays. Es ist kein zusätzlicher Lernaufwand erforderlich.No extra learning is needed.

Angebotsbasierte BearbeitungAffordance-based manipulation

Der Benutzer verwendet den Handlichtstrahl zum Zeigen und Anzeigen des Begrenzungsrahmens und der Bearbeitungsangebote.Users use hand rays to point and reveal the bounding box and manipulation affordances. Der Benutzer kann die Bearbeitungsgeste auf den Begrenzungsrahmen anwenden, um das gesamte Objekt zu verschieben, auf die Kantenangebote, um das Objekt zu drehen, und auf die Eckenangebote, um eine einheitliche Skalierung vorzunehmen.Users can apply the manipulation gesture on the bounding box to move the whole object, on the edge affordances to rotate, and on the corner affordances to scale uniformly.

3D-Objektbearbeitung – Verschieben aus größerer Entfernung3d object manipulation far move
VerschiebenMove

3D-Objektbearbeitung – Drehen aus größerer Entfernung3d object manipulation far rotate
DrehenRotate

3D-Objektbearbeitung – Skalieren aus größerer Entfernung3d object manipulation far scale
SkalierenScale

Bearbeitung ohne AngebotNon-affordance-based manipulation

Der Benutzer zeigt mit dem Handlichtstrahl, um den Begrenzungsrahmen anzuzeigen, und wendet dann direkt Bearbeitungsgesten darauf an.Users point with hand rays to reveal the bounding box then directly apply manipulation gestures on it. Mit einer Hand sind Verschiebung und Drehung des Objekts der Bewegung und Ausrichtung der Hand zugeordnet.With one hand, the translation and rotation of the object are associated to motion and orientation of the hand. Mit zwei Händen kann der Benutzer Verschiebung, Drehung und Skalierung entsprechend der relativen Bewegung der beiden Hände vornehmen.With two hands, users can translate, scale, and rotate it according to relative motions of two hands.



Instinktive GestenInstinctual gestures

Das Konzept der instinktiven Gesten für „Zeigen und Ausführen“ entspricht dem für die direkte Bearbeitung mit den Händen.The concept of instinctual gestures for point and commit is similar to that for direct manipulation with hands. Die Gesten, die der Benutzer bei einem 3D-Objekt ausführt, werden über das Design der Benutzeroberflächenangebote gesteuert.The gestures users do on a 3D object are guided by the design of UI affordances. Ein kleiner Steuerpunkt beispielsweise kann den Benutzer motivieren, Daumen und Zeigefinger zusammenzuführen, während ein anderer Benutzer möglicherweise alle fünf Finger verwenden möchte, um ein größeres Objekt zu greifen.For example, a small control point might motivate users to pinch with their thumb and index finger, while a user might want to use all Five Fingers to grab a larger object.

Instinktive Gesten – Kleines Objekt aus größerer Entfernunginstinctual gestures far small object
Kleines ObjektSmall object

Instinktive Gesten – Mittelgroßes Objekt aus größerer Entfernunginstinctual gestures far medium object
Mittelgroßes ObjektMedium object

Instinktive Gesten – Großes Objekt aus größerer Entfernunginstinctual gestures far large object
Großes ObjektLarge object



Symmetrisches Design für Händen und Controller mit 6 FreiheitsgradenSymmetric design between hands and 6 DoF controller

Das Konzept des Zeigens und Ausführens für die ferne Interaktion wurde für das Mixed Reality-Portal (MRP) erstellt und definiert.The concept of point and commit for far interaction was created and defined for the Mixed Reality Portal (MRP). In diesem Szenario trägt ein Benutzer ein immersives Headset und interagiert mit 3D-Objekten über Motion Controller.In this scenario, a user wears an immersive headset and interacts with 3D objects via motion controllers. Zum Zeigen auf und Bearbeiten von fernen Objekten schießen die Motion-Controller einen Lichtstrahl ab.The motion controllers shoot out rays for pointing and manipulating far objects. zum Ausführen weiterer unterschiedlicher Aktionen gibt es Tasten auf den Controllern.There are buttons on the controllers for further committing different actions. Wir wenden das Interaktionsmodell des Lichtstrahls an und haben diese mit beiden Händen verbunden.We apply the interaction model of rays and attached them to both hands. Bei diesem symmetrischen Entwurf braucht der Benutzer, der sich mit MRP auskennt, kein anderes Interaktionsmodell für das Zeigen auf und Bearbeiten von fernen Objekten zu lernen, wenn er HoloLen 2 verwendet (und umgekehrt).With this symmetric design, users who are familiar with MRP won't need to learn another interaction model for far pointing and manipulation when they use HoloLens 2, and the other way around.

Symmetrischer Entwurf für Lichtstrahlen mit Controllernsymmetric design for rays with controllers
ControllerlichtstrahlenController rays

Symmetrischer Entwurf für Lichtstrahlen mit Händensymmetric design for rays with hands
HandlichtstrahlHand rays



Handlichtstrahl in MRTK (Mixed Reality Toolkit) für UnityHand ray in MRTK (Mixed Reality Toolkit) for Unity

Standardmäßig stellt das MRTK einen vorkonfigurierten Handlichtstrahl (DefaultControllerPointer.prefab) zur Verfügung, der den gleichen visuellen Status wie der System-Handlichtstrahl der Shell aufweist.By default, MRTK provides a hand ray prefab (DefaultControllerPointer.prefab) which has the same visual state as the shell's system hand ray. Es wird im Eingabeprofil des MRTK unter „Zeiger“ zugewiesen.It's assigned in MRTK's Input profile, under Pointers. In einem immersiven Headset werden dieselben Strahlen für die Motion-Controller verwendet.In an immersive headset, the same rays are used for the motion controllers.


Weitere InformationenSee also