Bewegungscontroller

Bewegungscontroller sind Hardwarezubehör , mit dem Benutzer Aktionen in Mixed Reality ausführen können. Ein Vorteil von Bewegungscontrollern gegenüber Gesten besteht darin, dass die Controller eine präzise Position im Raum haben und eine feinkörnende Interaktion mit digitalen Objekten ermöglichen. Für Windows Mixed Reality immersive Headsets sind Bewegungscontroller die primäre Art und Weise, wie Benutzer Aktionen in ihrer Welt ergreifen.

Abbildung: Ein Windows Mixed Reality Bewegungscontroller

Windows Mixed Reality motion controllers



Geräteunterstützung

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

Hardwaredetails

Windows Mixed Reality Bewegungscontroller bieten präzise und reaktionsfähige Bewegungsverfolgung in Ihrem Ansichtsbereich mithilfe der Sensoren im immersiven Headset. Es ist nicht erforderlich, Hardware auf den Wänden in Ihrem Raum zu installieren. Diese Bewegungscontroller bieten dieselbe Einfache Einrichtung und Portabilität wie Windows Mixed Reality immersive Headsets. Unsere Gerätepartner planen den Markt und verkaufen diese Controller in Einzelhandelsregalen diesen Feiertag.

Get to know your controller
Lernen Sie Ihren Controller kennen

Funktionen:

  • Optische Nachverfolgung
  • Trigger
  • Schaltfläche 'Suchen'
  • Thumbstick
  • Touchpad

Einrichten

Vorbereitungen

Sie benötigen Folgendes:

  • Eine Reihe von zwei Bewegungscontrollern.
  • Vier AA-Batterien.
  • Ein PC mit Bluetooth 4.0-Unterstützung.

Suchen Sie nach updates für Windows, Unity und Treiber

Kopplungscontroller

Bewegungscontroller können mit Host-PC verbunden werden, indem Windows Einstellungen wie jedes andere Bluetooth Gerät verwendet werden.

  1. Fügen Sie zwei AA-Batterien in die Rückseite des Controllers ein. Lassen Sie die Akkuabdeckung jetzt deaktiviert.
  2. Wenn Sie einen externen USB-Bluetooth Adapter anstelle eines integrierten Bluetooth Radios verwenden, überprüfen Sie die Bluetooth bewährten Methoden, bevor Sie fortfahren. Stellen Sie für die Desktopkonfiguration mit integriertem Radio sicher, dass die Antenne angeschlossen ist.
  3. Öffnen Sie Windows Einstellungen ->Devices ->Add Bluetooth or other device ->Bluetooth, und entfernen Sie alle früheren Instanzen von "Motion Controller – Right" und "Motion Controller – Left". Überprüfen Sie auch die Kategorie "Andere Geräte" am Ende der Liste.
  4. Wählen Sie "Bluetooth oder ein anderes Gerät hinzufügen" aus, und sehen Sie, ob Bluetooth Geräte erkannt werden.
  5. Halten Sie die Windows Taste des Controllers gedrückt, um den Controller zu aktivieren, und halten Sie ihn gedrückt, sobald er geklickt hat.
  6. Halten Sie die Kopplungstaste gedrückt (Tabstopp im Akkufach), bis die LEDs mit dem Pulsieren beginnen.
  1. Warten Sie "Bewegungscontroller - Links" oder "Bewegungscontroller - Rechts", um am Ende der Liste anzuzeigen. Wählen Sie zum Koppeln aus. Der Controller vibriert einmal, wenn er angeschlossen ist.

    Bild: Wählen Sie "Bewegungscontroller" aus, um zu koppeln; Wenn mehrere Instanzen vorhanden sind, wählen Sie eine aus der unteren Liste aus.

Select Motion controller to pair, if multiple instances select one from appearing bottom of the list

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

Nachdem beide Controller erfolgreich gekoppelt wurden, sollten Ihre Einstellungen wie folgt aussehen: unter "Maus, Tastatur, & Stift" Kategorie

Abbildung: Verbundene Bewegungscontroller

Motion controllers connected

Wenn die Controller nach der Kopplung deaktiviert sind, wird ihr Status als gekoppelt angezeigt. Für Controller, die dauerhaft unter der Kategorie "Andere Geräte" stehen, kann die Kopplung nur teilweise abgeschlossen sein. Führen Sie in diesem Fall die Kopplungsschritte erneut aus, um controllerfunktionell zu erhalten.

Aktualisieren der Controller-Firmware

  • Wenn ein immersives Headset mit ihrem PC mit neuer Controller-Firmware verbunden ist, wird die Firmware automatisch an Ihre Bewegungscontroller übertragen, wenn Sie sie das nächste Mal aktivieren. Controller-Firmwareupdates werden durch ein Muster der Beleuchtung von LED-Quadranten in einer kreisförmigen Bewegung angegeben und dauern 1-2 Minuten.
  • Nach Abschluss des Firmwareupdates werden die Controller neu gestartet und erneut verbunden. Beide Controller sollten jetzt angeschlossen werden.

    Abbildung: In Bluetooth Einstellungen verbundene Controller

Controllers connected

  • Ü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 Fehler ist, schauen Sie sich die Problembehandlung für Bewegungscontroller an.

Blicken und Zeigen

Windows Mixed Reality unterstützt zwei Schlüsselmodelle für die Interaktion; Blick und Commit und Punkt und Commit:

  • Mit Blick und Commit zielen Benutzer auf ein Objekt mit ihrem Blick ab, und wählen Sie dann Objekte mit Handluft tippen, 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 Auslöser des Controllers auswählen.

Apps, die das Zeigen mit Bewegungscontrollern unterstützen, sollten auch blickgesteuerte Interaktionen aktivieren, um Benutzern die Wahl zu geben, welche Eingabegeräte sie verwenden.

Verwalten von Rückstrichen beim Zeigen

Wenn Sie Bewegungscontroller verwenden, um zu zeigen und zu übernehmen, verwenden Ihre Benutzer den Controller zum Ziel und interagieren, indem Sie den Auslöser ziehen. Benutzer, die den Trigger kräftig ziehen, können den Controller am Ende des Trigger-Pulls höher als beabsichtigt erreichen.

Um eine solche Recoil zu verwalten, die auftreten kann, wenn Benutzer den Trigger ziehen, kann Ihre App den Zielstrahl ausrichten, wenn der Analogachsenwert des Triggers über 0,0 steigt. Anschließend können Sie maßnahmen ausführen, indem Sie ein paar Frames später verwenden, sobald der Auslöserwert 1,0 erreicht hat, solange die endgültige Presse innerhalb eines kurzen Zeitfensters auftritt. Wenn Sie die zusammengesetzte Geste "Tippen auf höherer Ebene" verwenden, verwaltet Windows diese Zielstrahlaufnahme und -timeout für Sie.

Griffpose vs. Zeigepose

Windows Mixed Reality unterstützt Bewegungscontroller in unterschiedlichen Formfaktoren, wobei sich jedes Controllerdesign 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 Griffpose und die Zeigerpose.

Griff-Pose

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 Griffpose am besten verwendet, um die Hand des Benutzers oder ein Objekt zu rendern, das in der Hand des Benutzers gehalten wird, z. B. ein Schwert oder eine Waffe. Die Griffpose wird auch beim Visualisieren eines Bewegungscontrollers verwendet, da das renderbare Modell, das von Windows für einen Bewegungscontroller bereitgestellt wird, die Griffpose als Ursprung und Drehzentrum verwendet.

Die Griffpose wird speziell wie folgt definiert:

  • Die Griffposition: Das Palmzentriert, wenn der Controller natürlich hält, nach links oder rechts, um die Position innerhalb des Griffs zu zentrieren. Auf dem Windows Mixed Reality Bewegungscontroller richtet sich diese Position in der Regel an der Schaltfläche "Greif" aus.
  • Die Rechte Achse des Griffs: Wenn Sie Ihre Hand vollständig öffnen, um eine flache Fünf-Finger-Pose zu bilden, ist der Strahl normal für Ihre Handfläche (vorwärts von der linken Hand, rückwärts von der rechten Handfläche)
  • Die Vorwärtsachse der Griffausrichtung: Wenn Sie ihre Hand teilweise schließen (wie wenn Sie den Controller halten), zeigt der Strahl, der durch die Röhre durch Ihre Finger ohne Daumen "vorwärts" zeigt.
  • Die Up-Achse des Griffs: Die up-Achse, die von den Definitionen "Rechts" und "Vorwärts" impliziert wird.

Zeigerpose

Die Zeigerposition stellt die Spitze des Controllers dar, der vorwärts 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 mit einem Ray zeigen, der am natürlichsten für dieses virtuelle Objekt ist, z. B. einen Ray, der entlang des Laufs des app-definierten Waffenmodells reist. Da Benutzer das virtuelle Objekt und nicht den physischen Controller sehen können, ist das Zeigen mit dem virtuellen Objekt wahrscheinlich natürlicher für diejenigen, die Ihre App verwenden.

Controllerverfolgungsstatus

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

Wenn der Benutzer die Controller aus dem Sichtfeld des Headsets verschiebt, werden in den meisten Fällen Windows weiterhin Controllerpositionen ableiten und der App bereitstellen. Wenn der Controller die visuelle Nachverfolgung für lange genug verloren hat, wird die Position des Controllers auf ungefähre Genauigkeitspositionen abgesetzt.

An diesem Punkt sperrt das System den Controller an den Benutzer, verfolgt die Position des Benutzers, während er sich bewegt, während er weiterhin die wahre Ausrichtung des Controllers mithilfe seiner internen Ausrichtungssensoren verfügbar macht. Viele Apps, die Controller verwenden, um auf UI-Elemente zu zeigen und zu aktivieren, können normal ausgeführt werden, während dies in ungefährer Genauigkeit erfolgt, ohne dass der Benutzer nicht benachrichtigt wird.


Gründe für den Status der Nachverfolgung explizit

Apps, die Positionen basierend auf dem Nachverfolgungszustand anders behandeln möchten, können weiter gehen und Eigenschaften des Controllerstatus überprüfen, z. B. SourceLossRisk und PositionAccuracy:

Nachverfolgungsstatus SourceLossRisk PositionAccuracy TryGetPosition
Hohe Genauigkeit < 1.0 High true
Hohe Genauigkeit (Risiko eines Verlusts) == 1.0 High true
Ungefähre Genauigkeit == 1.0 Ungefähr true
Keine Position == 1.0 Ungefähr false

Diese Bewegungscontrollernachverfolgungszustände werden wie folgt definiert:

  • Hohe Genauigkeit: Während sich der Bewegungscontroller innerhalb des Ansichtsfelds des Headsets befindet, stellt er in der Regel hohe Genauigkeitspositionen bereit, basierend auf visueller Nachverfolgung. Ein Bewegungscontroller, der das Sichtfeld momentariell verlässt oder momentariell von den Headsetsensoren verdeckt wird (z. B. durch die andere Hand des Benutzers), wird weiterhin hochgenaue Posen für eine kurze Zeit zurückgeben, basierend auf der inertialen Nachverfolgung des Controllers selbst.
  • Hohe Genauigkeit (Risiko eines Verlusts): Wenn der Benutzer den Bewegungscontroller an den Rand des Sichtfelds des Headsets bewegt, kann das Headset bald die Position des Controllers nicht visuell nachverfolgen. Die App weiß, wann der Controller diese FOV-Grenze erreicht hat, indem der SourceLossRisk 1.0 erreicht. An diesem Punkt kann die App festlegen, dass Controllergesten angehalten werden, die einen stetigen Datenstrom von qualitativ hochwertigen Posen erfordern.
  • Ungefähre Genauigkeit: Wenn der Controller die visuelle Nachverfolgung für lange genug verloren hat, wird die Position des Controllers auf ungefähre Genauigkeitspositionen abgesetzt. An diesem Punkt sperrt das System den Controller an den Benutzer, verfolgt die Position des Benutzers, während er sich bewegt, während er weiterhin die wahre Ausrichtung des Controllers mithilfe seiner internen Ausrichtungssensoren verfügbar macht. Viele Apps, die Controller verwenden, um auf UI-Elemente zu zeigen und zu aktivieren, können normal ausgeführt werden, während sie ungefähr korrekt sind, ohne dass der Benutzer notiert wird. Apps mit schwereren Eingabeanforderungen können sich entscheiden, diesen Abbruch von hoher Genauigkeit bis zur ungefähren Genauigkeit zu spüren, indem sie die PositionAccuracy-Eigenschaft überprüfen, z. B. dem Benutzer einen großzügigeren Hitbox auf off-screen-Zielen während dieser Zeit zu geben.
  • Keine Position: Während der Controller eine ungefähre Genauigkeit für lange Zeit ausführen kann, weiß das System manchmal, dass sogar eine körpersperrte Position derzeit nicht sinnvoll ist. Beispielsweise wurde ein Controller, der aktiviert wurde, möglicherweise nie visuell beobachtet, oder ein Benutzer kann einen Controller ablegen, 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 Kerninteraktionen zwischen Händen und Bewegungscontrollern sind Select, Menu, Grasp, Touchpad, Thumbstick und Home.

  • Select ist die primäre Interaktion zum Aktivieren eines Hologramms, bestehend aus einer Presse gefolgt von einer Veröffentlichung. Bei Bewegungscontrollern führen Sie mithilfe des Auslösers eine Select-Taste aus. Weitere Möglichkeiten zum Ausführen einer Auswahl sind die Sprachbefehle "Auswählen". Die gleiche Auswahlinteraktion kann innerhalb einer beliebigen App verwendet werden. Stellen Sie sich die Option als Entsprechung eines Mausklicks vor; eine universelle Aktion, die Sie einmal lernen und dann auf alle Ihre Apps anwenden.
  • Das Menü ist die sekundäre Interaktion für das Handeln auf einem Objekt, das zum Abrufen eines Kontextmenüs oder zum Ausführen anderer sekundärer Aktionen verwendet wird. Mit Bewegungscontrollern können Sie mithilfe der Menüschaltfläche des Controllers eine Menüaktion ausführen. (das heißt, die Schaltfläche mit dem Hamburger "Menü"-Symbol darauf)
  • Das Verständnis ist, wie Benutzer direkt Aktionen auf Objekten auf ihrer Hand ergreifen können, um sie zu bearbeiten. Mit Bewegungscontrollern können Sie eine Greifaktion ausführen, indem Sie Ihre Faust eng zwingen. Ein Bewegungscontroller erkennt möglicherweise eine Ziehtaste, einen Handflächenauslöser oder einen anderen Sensor.
  • Mit Touchpad kann der Benutzer eine Aktion in zwei Dimensionen auf der Oberfläche des Touchpads eines Bewegungscontrollers anpassen, indem er auf das Touchpad klickt. Touchpads stellen einen gedrückten Zustand, einen touchierten Zustand und normalisierte XY-Koordinaten bereit. X und Y reichen von -1 bis 1 über den Bereich des kreisförmigen Touchpads mit einer Mitte bei (0, 0). Bei X befindet sich -1 auf der linken Seite und 1 befindet sich rechts. Für Y befindet sich -1 am unteren Rand und 1 befindet sich oben.
  • Mit dem Fingerabdruckstick kann der Benutzer eine Aktion in zwei Dimensionen anpassen, indem er den Daumenstick eines Bewegungscontrollers innerhalb seines kreisförmigen Bereichs bewegt, indem er auf den Daumenstick klickt. Daumensticks bieten auch einen gedrückten Zustand und normalisierte XY-Koordinaten. X und Y reichen von -1 bis 1 über den Bereich des kreisförmigen Touchpads mit einer Mitte bei (0, 0). Bei X befindet sich -1 auf der linken Seite und 1 befindet sich rechts. Für Y befindet sich -1 am unteren Rand und 1 befindet sich 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 nach Hause navigieren, indem Sie auf einem Bewegungscontroller die Schaltfläche Windows drücken. Hinweis: Sie können jederzeit zu "Start" zurückkehren, indem Sie "Hey Cortana, Go Home" sagen. Apps können nicht speziell auf Home-Aktionen reagieren, da diese vom System behandelt werden.

Zusammengesetzte Gesten: Räumliche Eingabe auf hoher Ebene

Sowohl Handgesten als auch Bewegungscontroller können im Laufe der Zeit nachverfolgt werden, um eine gemeinsame Gruppe von zusammengesetzten Gesten auf hoher Ebene zu erkennen. Auf diese Weise kann Ihre App Tippen, Halten, Manipulation und Navigationsgesten erkennen, unabhängig davon, ob Benutzer 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. Durch dynamisches Laden und Formulieren dieser vom System bereitgestellten Controllermodelle zur Laufzeit können Sie sicherstellen, dass Ihre App mit zukünftigen Controllerdesigns vorwärts kompatibel ist.

Es wird empfohlen, alle renderbaren Modelle an der Griffpose 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 dann von der Zeiger-Pose aus in Ihre Szene strahlen, die den Ray darstellt, auf dem Benutzer natürlich erwarten, dass er zeigen wird, da der physische Entwurf des Controllers.

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

2D-Controller-Linienart Es wird zwar empfohlen, In-App-Controllertipps und -befehle an die In-App-Controllermodelle selbst anzufügen, einige Entwickler möchten jedoch 2D-Linienartdarstellungen der Bewegungscontroller in flacher "Lernprogramm" oder "How-to"-Benutzeroberfläche verwenden. Für diese Entwickler haben wir .png Bewegungscontroller-Linienartdateien in Schwarzweiß unten verfügbar gemacht (klicken Sie mit der rechten Maustaste, um zu speichern).

Preview of motion controllers line art

Vollauflösungs-Bewegungscontroller linienart in '''Weiß''

Vollauflösungs-Bewegungscontroller linienart in ''''Schwarz''

Häufig gestellte Fragen

Kann ich Bewegungscontroller mit mehreren PCs koppeln?

Bewegungscontroller unterstützen die Kopplung mit einem einzelnen PC. Folgen Sie den Anweisungen zum Setup des Bewegungscontrollers , um Ihre Controller zu koppeln.

Gewusst wie Die Firmware des Bewegungscontrollers aktualisieren?

Die Bewegungscontroller-Firmware ist Teil des Headsettreibers und wird bei Bedarf automatisch bei der Verbindung aktualisiert. Firmwareupdates dauern in der Regel 1-2 Minuten, je nach Bluetooth Radio- und Linkqualität. In seltenen Fällen können Controller-Firmwareupdates bis zu 10 Minuten dauern, was auf schlechte Bluetooth Konnektivität oder Funkstörungen hinweisen kann. Weitere Informationen finden Sie unter Bluetooth bewährten Methoden im Enthusiast Guide zur Behandlung von Verbindungsproblemen. Nach einem Firmwareupdate werden Controller neu gestartet und mit dem Host-PC verbunden (möglicherweise sehen Sie, dass die LEDs für die Nachverfolgung hell sind). Wenn ein Firmwareupdate unterbrochen wird (z. B. verlieren die Controller Strom), wird es erneut versucht, wenn die Controller das nächste Mal eingeschaltet sind.

Wie kann ich den Akkustand überprüfen?

Im Windows Mixed Reality Zuhause können Sie ihren Controller umstellen, um den Akkustand auf der umgekehrten Seite des virtuellen Modells anzuzeigen. Es gibt keine Anzeige für den physischen Akkustand.

Können Sie diese Controller ohne Headset verwenden? Nur für den Joystick/Trigger/etc-Eingabe?

Nicht für universelle Windows Anwendungen.

Problembehandlung

Weitere Informationen finden Sie in der Problembehandlung für Bewegungscontroller im Enthusiast Guide.

Einreichen von Bewegungscontroller-Feedback/Fehlern

Geben Sie uns Feedback im Feedback-Hub mithilfe der Kategorie "Mixed Reality -> Eingabe" an.

Siehe auch