Freigeben über


Bewegungscontroller

Motion Controller sind Hardwarezubehör , mit dem Benutzer in Mixed Reality aktiv werden können. Ein Vorteil von Motion Controllern gegenüber Gesten ist, dass die Controller eine präzise Position im Raum haben, was eine fein abgestreifte Interaktion mit digitalen Objekten ermöglicht. Für Windows Mixed Reality immersive Headsets sind Motion-Controller die primäre Methode, mit der Benutzer in ihrer Welt aktiv werden.

Abbildung: Ein Windows Mixed Reality Motion Controller

Windows Mixed Reality Motion Controller



Geräteunterstützung

Feature HoloLens (1. Generation) HoloLens 2 Immersive Headsets
Bewegungscontroller ✔️

Hardwaredetails

Windows Mixed Reality Motion Controller bieten mithilfe der Sensoren im immersiven Headset eine präzise und reaktionsschnelle Bewegungsnachverfolgung in Ihrem Sichtfeld. Es ist nicht erforderlich, Hardware an den Wänden in Ihrem Raum zu installieren. Diese Motion-Controller bieten die gleiche Einfache und Portabilität wie Windows Mixed Reality immersive Headsets. Unsere Gerätepartner planen, diese Controller in diesem Feiertag in den Verkaufsregalen zu vermarkten und zu verkaufen.

Lernen Sie Ihren Controller kennen
Lernen Sie Ihren Controller kennen

Funktionen:

  • Optische Nachverfolgung
  • Trigger
  • Schaltfläche "Greifen"
  • Thumbstick
  • Touchpad

Einrichten

Voraussetzungen

Sie benötigen Folgendes:

  • Ein Satz von zwei Motion-Controllern.
  • Vier AA-Batterien.
  • Ein PC mit Bluetooth 4.0-Unterstützung.

Überprüfen auf Windows-, Unity- und Treiberupdates

Koppeln von Controllern

Motion Controller können wie jedes andere Bluetooth-Gerät über Windows-Einstellungen mit dem Host-PC verbunden werden.

  1. Legen Sie zwei AA-Batterien in die Rückseite des Controllers ein. Lassen Sie die Akkuabdeckung vorerst ausgeschaltet.
  2. Wenn Sie einen externen USB-Bluetooth-Adapter anstelle eines integrierten Bluetooth-Funkgeräts verwenden, lesen Sie die bewährten Bluetooth-Methoden , bevor Sie fortfahren. Stellen Sie bei der Desktopkonfiguration mit integriertem Funk sicher, dass die Antenne angeschlossen ist.
  3. Öffnen Sie Windows-Einstellungen ->Geräte ->Bluetooth oder ein anderes Gerät hinzufügen ->Bluetooth , und entfernen Sie alle früheren Instanzen von "Motion controller – Right" und "Motion controller – Left". Aktivieren Sie auch die Kategorie Sonstige Geräte am Ende der Liste.
  4. Wählen Sie Bluetooth oder ein anderes Gerät hinzufügen aus, und sehen Sie, wie es mit der Ermittlung von Bluetooth-Geräten beginnt.
  5. Halten Sie die Windows-Taste des Controllers gedrückt, um den Controller einzuschalten, und lassen Sie ihn los, sobald er brummt.
  6. Halten Sie die Kopplungstaste (Tabstopp im Akkufach) gedrückt, bis die LEDs zu pulsieren beginnen.
  1. Warten Sie "Bewegungscontroller – Links" oder "Bewegungscontroller – Rechts", um am Ende der Liste zu erscheinen. Wählen Sie aus, um zu koppeln. Der Controller vibriert einmal, wenn er verbunden ist.

    Abbildung: Wählen Sie "Motion Controller" aus, um zu koppeln; Wenn mehrere Instanzen vorhanden sind, wählen Sie eine am Ende der Liste aus.

Wählen Sie den zu koppelnden Motion-Controller aus, wenn mehrere Instanzen am unteren Rand der Liste eine auswählen.

  1. Der Controller wird in den Bluetooth-Einstellungen unter der Kategorie "Maus, Tastatur, & Stift" als Verbunden angezeigt. An diesem Punkt erhalten Sie möglicherweise ein Firmwareupdate – siehe nächster Abschnitt.
  2. Akkuabdeckung erneut anfügen.
  3. Wiederholen Sie die Schritte 1 bis 9 für den zweiten Controller.

Nach dem erfolgreichen Koppeln beider Controller sollten Ihre Einstellungen wie folgt unter der Kategorie "Maus, Tastatur, & Stift" aussehen.

Abbildung: Angeschlossene Motion-Controller

Angeschlossene Motion-Controller

Wenn die Controller nach dem Koppeln deaktiviert sind, wird ihre status als Gekoppelt angezeigt. Bei Controllern, die dauerhaft unter der Kategorie "Andere Geräte" fallen, kann die Kopplung nur teilweise abgeschlossen sein. Führen Sie in diesem Fall die Kopplungsschritte erneut aus, um den Controller funktionsfähig zu machen.

Aktualisieren der Controllerfirmware

  • Wenn ein immersives Headset mit dem PC verbunden ist und neue Controllerfirmware verfügbar ist, wird die Firmware beim nächsten Einschalten automatisch an Ihre Motion-Controller gepusht. Aktualisierungen der Controllerfirmware werden durch ein Muster von LED-Quadranten in kreisförmiger Bewegung angezeigt und dauern 1-2 Minuten.
  • Nach Abschluss des Firmwareupdates werden die Controller neu gestartet und wieder hergestellt. Beide Controller sollten jetzt verbunden sein.

    Abbildung: In Bluetooth-Einstellungen verbundene Controller

Angeschlossene Controller

  • Überprüfen Sie, ob Ihre Controller ordnungsgemäß funktionieren:
    1. Starten Sie Mixed Reality Portal, und geben Sie Ihre Mixed Reality Home ein.
    2. Verschieben Sie Ihre Controller, und überprüfen Sie die Nachverfolgung, testen Sie Schaltflächen und überprüfen Sie, ob die Teleportierung funktioniert. Wenn dies nicht der Fall ist, sehen Sie sich die Problembehandlung für Motion Controller an.

Blicken und Zeigen

Windows Mixed Reality unterstützt zwei Schlüsselmodelle für die Interaktion; Anvisieren und Committen und Zeigen und Committen:

  • Mit Anvisieren und Commit zielen Benutzer auf ein Objekt mit ihrem Blick ab und wählen dann Objekte mit Handluftklicks, einem Gamepad, einem Klicker oder ihrer Stimme aus.
  • Mit Punkt und Commit kann ein Benutzer einen zeigefähigen Bewegungscontroller auf das Zielobjekt ausrichten und dann Objekte mit dem Trigger des Controllers auswählen.

Apps, die das Zeigen mit Bewegungscontrollern unterstützen, sollten nach Möglichkeit auch blickgesteuerte Interaktionen ermöglichen, um Benutzern die Wahl zu geben, welche Eingabegeräte sie verwenden.

Verwalten des Rückstoßes beim Zeigen

Wenn Sie Motion-Controller zum Zeigen und Commit verwenden, verwenden Ihre Benutzer den Controller zum Ziel und zur Interaktion, indem sie den Trigger pullen. Benutzer, die den Trigger kräftig pullen, können den Controller am Ende ihres Trigger-Pullvorgangs höher anvisiert haben, als sie beabsichtigt hätten.

Um solche Rückstoßvorgänge zu verwalten, die auftreten können, wenn Benutzer den Trigger ziehen, kann Ihre App den Zielstrahl ausrichten, wenn der Wert der analogen Achse des Triggers über 0,0 steigt. Sie können dann mit diesem Zielstrahl einige Frames später maßnahmen, sobald der Triggerwert 1,0 erreicht hat, solange der endgültige Druck innerhalb eines kurzen Zeitfensters erfolgt. Wenn Sie die zusammengesetzte Tippen-Geste auf höherer Ebene verwenden, verwaltet Windows diese Zielstrahlaufnahme und das Timeout für Sie.

Grip-Pose vs. Pointing Pose

Windows Mixed Reality unterstützt Motion Controller in unterschiedlichen Formfaktoren, wobei sich der Entwurf jedes Controllers in seiner Beziehung zwischen der Handposition des Benutzers und der natürlichen Vorwärtsrichtung unterscheidet, die Apps beim Rendern des Controllers verwenden sollten.

Um diese Controller besser darzustellen, gibt es zwei Arten von Posen, die Sie für jede Interaktionsquelle untersuchen können. die Halteposition und die Zeigerhaltung.

Halteposition

Die Griffposition stellt die Position der Handfläche dar, die von einer HoloLens erkannt wird, oder die Handfläche, die einen Bewegungscontroller hält.

Bei immersiven Headsets wird die Griffhaltung am besten verwendet, um die Hand des Benutzers oder ein Objekt in der Hand des Benutzers wie ein Schwert oder eine Pistole zu rendern. Die Griffhaltung wird auch bei der Visualisierung eines Bewegungscontrollers verwendet, da das renderbare Modell , das von Windows für einen Bewegungscontroller bereitgestellt wird, die Griffhaltung als Ursprung und Drehzentrum verwendet.

Die Griffhaltung wird spezifisch wie folgt definiert:

  • Die Griffposition: Der Palmenschwerpunkt beim natürlichen Halten des Controllers, eingestellt links oder rechts, um die Position innerhalb des Griffs zu zentrieren. Auf dem Windows Mixed Reality Motion Controller wird diese Position in der Regel an der Taste "Greifen" ausgerichtet.
  • Die rechte Achse der Griffausrichtung: Wenn Sie Ihre Hand vollständig öffnen, um eine flache Fünf-Finger-Pose zu bilden, der Strahl, der für Ihre Handfläche normal ist (vorwärts von der linken Handfläche, rückwärts von der rechten Handfläche)
  • Die Vorwärtsachse des Griffs: Wenn Sie Ihre Hand teilweise schließen (als ob Sie den Controller halten), der Strahl, der "vorwärts" durch die Röhre zeigt, die von Ihren Fingern ohne Daumen gebildet wird.
  • Die Nach oben-Achse der Griffausrichtung: Die Nach-oben-Achse, die von den Definitionen Rechts und Vorwärts impliziert wird.

Zeigerhaltung

Die Zeigerpose stellt die Spitze des Controllers dar, der nach vorne zeigt.

Die vom System bereitgestellte Zeigerpose wird am besten zum Raycast verwendet, wenn Sie das Controllermodell selbst rendern. Wenn Sie ein anderes virtuelles Objekt anstelle des Controllers rendern, z. B. eine virtuelle Waffe, sollten Sie auf einen Strahl zeigen, der für dieses virtuelle Objekt am natürlichsten ist, z. B. einen Strahl, der sich entlang des Laufs des app-definierten Waffenmodells bewegt. Da Benutzer das virtuelle Objekt und nicht den physischen Controller sehen können, ist das Zeigen auf das virtuelle Objekt wahrscheinlich natürlicher für Benutzer, die Ihre App verwenden.

Status der Controllernachverfolgung

Wie die Headsets erfordert auch der Windows Mixed Reality Motion Controller keine Einrichtung externer Nachverfolgungssensoren. Stattdessen werden die Controller durch Sensoren im Headset selbst nachverfolgt.

Wenn der Benutzer die Controller aus dem Sichtfeld des Headsets verschiebt, leitet Windows in den meisten Fällen weiterhin Controllerpositionen ab und stellt sie der App zur Verfügung. Wenn der Controller die visuelle Verfolgung lange genug verloren hat, werden die Positionen des Controllers auf ungefähre Genauigkeitspositionen fallen.

An diesem Punkt sperrt das System den Controller für den Benutzer, verfolgt die Position des Benutzers, während er sich bewegt, während er sich bewegt, während er die wahre Ausrichtung des Controllers mithilfe seiner internen Orientierungssensoren offen legt. Viele Apps, die Controller verwenden, um auf Benutzeroberflächenelemente zu zeigen und diese zu aktivieren, können normal und in ungefährer Genauigkeit funktionieren, ohne dass der Benutzer dies mitbemerkt.


Überlegungen zum expliziten Nachverfolgungsstatus

Apps, die Positionen basierend auf dem Nachverfolgungsstatus unterschiedlich behandeln möchten, gehen möglicherweise noch weiter und überprüfen Eigenschaften für den Status des Controllers, z. B. SourceLossRisk und PositionAccuracy:

Nachverfolgungsstatus SourceLossRisk PositionAccuracy TryGetPosition
Hohe Genauigkeit < 1.0 High true
Hohe Genauigkeit (bei Verlustgefahr) == 1,0 High true
Ungefähre Genauigkeit == 1,0 Ungefähr true
Keine Position == 1,0 Ungefähr false

Diese Bewegungssteuerungszustände werden wie folgt definiert:

  • Hohe Genauigkeit: Während sich der Bewegungscontroller innerhalb des Sichtfelds des Headsets befindet, bietet er in der Regel positionen mit hoher Genauigkeit, basierend auf der visuellen Nachverfolgung. Ein sich bewegender Controller, der vorübergehend das Sichtfeld verlässt oder vorübergehend von den Headsetsensoren verdeckt wird (z. B. durch die andere Hand des Benutzers), gibt weiterhin für kurze Zeit hochgenaue Posen zurück, basierend auf der Trägheitsnachverfolgung des Controllers selbst.
  • Hohe Genauigkeit (bei Verlustgefahr): Wenn der Benutzer den Bewegungscontroller über den Rand des Sichtfelds des Headsets verschiebt, kann das Headset die Position des Controllers bald nicht mehr visuell nachverfolgen. Die App weiß, wann der Controller diese FOV-Grenze erreicht hat, indem die SourceLossRisk 1.0 erreicht. An diesem Punkt kann die App Controllergesten anhalten, die einen stetigen Stream von qualitativ hochwertigen Posen erfordern.
  • Ungefähre Genauigkeit: Wenn der Controller die visuelle Verfolgung lange genug verloren hat, werden die Positionen des Controllers auf ungefähre Genauigkeitspositionen fallen. An diesem Punkt sperrt das System den Controller für den Benutzer, verfolgt die Position des Benutzers, während er sich bewegt, während er sich bewegt, während er die wahre Ausrichtung des Controllers mithilfe seiner internen Orientierungssensoren offen legt. Viele Apps, die Controller verwenden, um auf Benutzeroberflächenelemente zu zeigen und diese zu aktivieren, können normal und in ungefährer Genauigkeit funktionieren, ohne dass der Benutzer dies mitbemerkt. Apps mit höheren Eingabeanforderungen können diesen Rückgang von Hoher Genauigkeit auf Ungefähre Genauigkeit erkennen, indem sie die PositionAccuracy-Eigenschaft überprüfen, um beispielsweise dem Benutzer während dieser Zeit eine großzügigere Trefferbox auf Off-Screen-Zielen zu ermöglichen.
  • Keine Position: Während der Controller lange Zeit mit ungefährer Genauigkeit arbeiten kann, weiß das System manchmal, dass selbst eine körpergesperrte Position derzeit nicht sinnvoll ist. Beispielsweise wurde ein aktivierter Controller möglicherweise nie visuell beobachtet, oder ein Benutzer legt einen Controller ab, der dann von einer anderen Person aufgenommen wird. Zu diesen Zeiten stellt das System keine Position für die App bereit, und TryGetPosition gibt false zurück.

Interaktionen: Räumliche Eingabe auf niedriger Ebene

Die wichtigsten Interaktionen zwischen Händen und Bewegungscontrollern sind Select, Menu, Grasp, Touchpad, Thumbstick und Home.

  • Select ist die primäre Interaktion zum Aktivieren eines Hologramms, das aus einer Drucktaste gefolgt von einer Freigabe besteht. Bei Bewegungscontrollern führen Sie eine Select-Taste mit dem Trigger des Controllers aus. Andere Möglichkeiten zum Ausführen einer Auswahl sind das Sprechen des Sprachbefehls "Select". Die gleiche Auswahlinteraktion kann in jeder App verwendet werden. Stellen Sie sich Select als Äquivalent eines Mausklicks vor. eine universelle Aktion, die Sie einmal lernen und dann auf alle Ihre Apps anwenden.
  • Menü ist die sekundäre Interaktion für das Handeln auf einem Objekt, das verwendet wird, um ein Kontextmenü aufzurufen oder eine andere sekundäre Aktion auszuführen. Mit Bewegungscontrollern können Sie eine Menüaktion über die Menüschaltfläche des Controllers ausführen. (d. a. die Schaltfläche mit dem Hamburger -Menüsymbol)
  • Verstehen ist, wie Benutzer direkt auf Objekte an ihrer Hand aktionen können, um sie zu bearbeiten. Mit Bewegungscontrollern können Sie eine Greifaktion ausführen, indem Sie ihre Faust fest drücken. Ein Bewegungscontroller kann eine Grifftaste mit einer Taste, einem Handflächentrigger oder einem anderen Sensor erkennen.
  • Touchpad ermöglicht es dem Benutzer, eine Aktion in zwei Dimensionen entlang der Oberfläche des Touchpads eines Bewegungscontrollers anzupassen und die Aktion zu übernehmen, indem er auf das Touchpad klickt. Touchpads bieten einen gedrückten Zustand, einen Touchzustand und normalisierte XY-Koordinaten. X und Y liegen zwischen -1 und 1 im Bereich des kreisförmigen Touchpads, wobei die Mitte bei (0, 0) liegt. Bei X befindet sich -1 auf der linken Seite und 1 auf der rechten Seite. Bei Y befindet sich -1 unten und 1 oben.
  • Mit dem Thumbstick kann der Benutzer eine Aktion in zwei Dimensionen anpassen, indem er den Daumenstick eines Bewegungscontrollers innerhalb des kreisförmigen Bereichs bewegt und die Aktion durch Klicken nach unten auf den Fingerabdruckstick committiert. Thumbsticks bieten auch einen gedrückten Zustand und normalisierte XY-Koordinaten. X und Y liegen zwischen -1 und 1 im Bereich des kreisförmigen Touchpads, wobei die Mitte bei (0, 0) liegt. Bei X befindet sich -1 auf der linken Seite und 1 auf der rechten Seite. Bei Y befindet sich -1 unten und 1 oben.
  • Home ist eine spezielle Systemaktion, die verwendet wird, um zum Startmenü zurückzukehren. Es ähnelt dem Drücken der Windows-Taste auf einer Tastatur oder der Xbox-Taste auf einem Xbox-Controller. Sie können zur Startseite wechseln, indem Sie die Windows-Schaltfläche auf einem Bewegungscontroller drücken. Hinweis: Sie können immer zu Start zurückkehren, indem Sie "Hey Cortana, Go Home" sagen. Apps können nicht speziell auf Home-Aktionen reagieren, da diese vom System verarbeitet werden.

Zusammengesetzte Gesten: Allgemeine räumliche Eingabe

Sowohl Handgesten als auch Bewegungscontroller können im Laufe der Zeit nachverfolgt werden, um eine gemeinsame Gruppe von zusammengesetzten Gesten auf allgemeiner Ebene zu erkennen. Dadurch kann Ihre App allgemeine Tippen-, Halte-, Manipulations- und Navigationsgesten erkennen, unabhängig davon, ob Benutzer am Ende Hände oder Controller verwenden.

Rendern des Bewegungscontrollermodells

3D-Controllermodelle Windows stellt Apps ein renderbares Modell jedes Bewegungscontrollers zur Verfügung, der derzeit im System aktiv ist. Wenn Ihre App diese vom System bereitgestellten Controllermodelle zur Laufzeit dynamisch lädt und artikuliert, können Sie sicherstellen, dass Ihre App mit zukünftigen Controllerdesigns vorwärtskompatibel ist.

Es wird empfohlen, alle renderbaren Modelle in der Griffposition des Controllers zu rendern, da der Ursprung des Modells an diesem Punkt in der physischen Welt ausgerichtet ist. Wenn Sie Controllermodelle rendern, möchten Sie möglicherweise von der Zeigerpose in Ihre Szene ein raycasten, die den Strahl darstellt, auf den Benutzer aufgrund des physischen Designs dieses Controllers natürlich zeigen möchten.

Weitere Informationen zum dynamischen Laden von Controllermodellen in Unity finden Sie im Abschnitt Rendern des Bewegungscontrollermodells in Unity .

Linienart für 2D-Controller Es wird zwar empfohlen, In-App-Controller-Tipps und -Befehle an die In-App-Controllermodelle selbst anzufügen, einige Entwickler möchten jedoch möglicherweise 2D-Liniendarstellungen der Bewegungscontroller in einer flachen "Tutorial"- oder "How-to"-Benutzeroberfläche verwenden. Für diese Entwickler haben wir .png Bewegungscontroller-Line-Art-Dateien unten in Schwarz und Weiß verfügbar gemacht (zum Speichern mit der rechten Maustaste klicken).

Vorschau der Bewegungscontroller-Linienart

Motion-Controller mit voller Auflösung linienart in ''''weiß'''

Bewegungscontroller mit voller Auflösung linienart in ''''schwarz'''

Häufig gestellte Fragen

Kann ich Bewegungscontroller mit mehreren PCs koppeln?

Motion Controller unterstützen die Kopplung mit einem einzelnen PC. Befolgen Sie die Anweisungen zum Einrichten des Bewegungscontrollers , um Ihre Controller zu koppeln.

Gewusst wie Die Firmware des Bewegungscontrollers aktualisieren?

Die Firmware des Bewegungscontrollers ist Teil des Headsettreibers und wird bei Bedarf automatisch bei der Verbindung aktualisiert. Firmwareupdates dauern in der Regel 1-2 Minuten, abhängig von der Bluetooth-Funk- und Linkqualität. In seltenen Fällen können Firmwareupdates des Controllers bis zu 10 Minuten dauern, was auf eine schlechte Bluetooth-Konnektivität oder Funkstörungen hinweisen kann. Informationen zur Problembehandlung finden Sie unter Bewährte Methoden für Bluetooth im Enthusiast-Leitfaden . Nach einem Firmwareupdate werden Controller neu gestartet und wieder mit dem Host-PC verbunden (möglicherweise werden die LEDs für die Nachverfolgung hell). Wenn ein Firmwareupdate unterbrochen wird (z. B. verlieren die Controller die Stromversorgung), wird es beim nächsten Einschalten der Controller erneut versucht.

Wie kann ich den Akkustand überprüfen?

Im Windows Mixed Reality Home können Sie Ihren Controller umdrehen, um den Akkustand auf der Rückseite des virtuellen Modells anzuzeigen. Es gibt keine Physische Akkustandsanzeige.

Können Sie diese Controller ohne Headset verwenden? Nur für die Eingabe des Joysticks/Triggers/etc?

Nicht für universelle Windows-Anwendungen.

Problembehandlung

Weitere Informationen finden Sie unter Problembehandlung für Motion Controller im Enthusiast-Leitfaden.

Übermitteln von Motion Controller-Feedback/Fehlern

Geben Sie uns Feedback im Feedback-Hub, indem Sie die Kategorie "Mixed Reality –> Eingabe" verwenden.

Weitere Informationen