Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Motion-Controller sind Hardwarezubehör , mit dem Benutzer in Mixed Reality tätig werden können. Ein Vorteil von Motion-Controllern gegenüber Gesten besteht darin, dass die Controller eine präzise Position im Raum haben, was eine differenzierte Interaktion mit digitalen Objekten ermöglicht. Für Windows Mixed Reality immersive Headsets sind Motion-Controller die primäre Art und Weise, wie Benutzer in ihrer Welt maßnahmen.
Abbildung: Ein Windows Mixed Reality Motion Controller
Geräteunterstützung
| Feature | (/previous-versions/mixed-reality/hololens-1/hololens1-hardware)HoloLens (1. Generation) | HoloLens 2 | Immersive Headsets |
| Motion-Controller | ❌ | ❌ | ✔️ |
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 Einrichtung und Portabilität wie Windows Mixed Reality immersive Headsets. Unsere Gerätepartner planen, diese Controller an diesem Feiertag in den Verkaufsregalen zu vermarkten und zu verkaufen.
Lernen Sie Ihren Controller kennen
Features:
- Optische Nachverfolgung
- Auslöser
- Schaltfläche "Greifen"
- Thumbstick
- Touchpad
Setup
Bevor Sie beginnen
Sie benötigen:
- Ein Satz von zwei Motion-Controllern.
- Vier AA-Batterien.
- Ein PC mit Bluetooth 4.0-Unterstützung.
Suchen nach Windows-, Unity- und Treiberupdates
- Besuchen Sie Installieren der Tools für die bevorzugten Versionen von Windows, Unity usw. für die Mixed Reality-Entwicklung.
- Stellen Sie sicher, dass Sie über die aktuellsten Headset- und Motion-Controller-Treiber verfügen.
Koppeln von Controllern
Motion-Controller können wie jedes andere Bluetooth-Gerät mithilfe von Windows-Einstellungen mit dem Host-PC verbunden werden.
- Setzen Sie zwei AA-Batterien in die Rückseite des Controllers ein. Lassen Sie die Akkuabdeckung vorerst aus.
- 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 für die Desktopkonfiguration mit integriertem Funkgerät sicher, dass die Antenne angeschlossen ist.
- Ö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 Andere Geräte am Ende der Liste.
- Wählen Sie Bluetooth oder ein anderes Gerät hinzufügen aus, und sehen Sie, wie es beginnt, Bluetooth-Geräte zu ermitteln.
- Halten Sie die Windows-Taste des Controllers gedrückt, um den Controller einzuschalten. Lassen Sie ihn los, sobald er brummt.
- Halten Sie die Kopplungstaste (tab im Batteriefach) gedrückt, bis die LEDs zu pulsieren beginnen.
- Warten Sie "Motion controller - Left" oder "Motion controller - Right", damit am Ende der Liste angezeigt wird. Wählen Sie zum Koppeln aus. Der Controller vibriert einmal, wenn er verbunden ist.
Bild: Wählen Sie "Motion Controller" zum Koppeln aus. Wenn mehrere Instanzen vorhanden sind, wählen Sie eine am Ende der Liste aus.
- 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).
- Akkuabdeckung erneut anfügen.
- Wiederholen Sie die Schritte 1 bis 9 für den zweiten Controller.
Nach dem erfolgreichen Koppeln beider Controller sollten Ihre Einstellungen in der Kategorie "Maus, Tastatur, & Stift" wie folgt aussehen.
Abbildung: Verbundene 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, ist die Kopplung möglicherweise nur teilweise abgeschlossen. 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 auf Ihre Motion-Controller übertragen. Controller-Firmwareupdates werden durch ein Muster von beleuchteten LED-Quadranten in kreisförmiger Bewegung angezeigt und dauern 1-2 Minuten.
- Nach Abschluss des Firmwareupdates werden die Controller neu gestartet und erneut verbunden. Beide Controller sollten jetzt verbunden sein.
Bild: In Bluetooth-Einstellungen verbundene Controller
- Überprüfen Sie, ob Ihre Controller ordnungsgemäß funktionieren:
- Starten Sie Mixed Reality Portal, und geben Sie Ihre Mixed Reality Home ein.
- 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 den 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 mit ihrem Anvisieren auf ein Objekt ab und wählen dann Objekte mit Handluftklicks, einem Gamepad, einem Clicker 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 Motion-Controllern unterstützen, sollten nach Möglichkeit auch anvisierende 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, um den Trigger per Pull als Ziel festzulegen und zu interagieren. Benutzer, die den Trigger kräftig ziehen, können den Controller am Ende ihres Trigger-Pulls höher als beabsichtigt erreichen.
Um solche Rückstoße zu verwalten, die auftreten können, wenn Benutzer den Trigger ziehen, kann Ihre App ihren Zielstrahl andocken, wenn der Wert der analogen Achse des Triggers über 0,0 steigt. Sie können dann mit diesem Strahl einige Frames später Maßnahmen ergreifen, sobald der Triggerwert 1,0 erreicht, 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 verschiedenen 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 Griffhaltung und die Zeigerhaltung.
Griffhaltung
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 Griffposition 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 Ziehposition wird auch bei der Visualisierung eines Bewegungscontrollers verwendet, da das renderbare Modell , das von Windows für einen Motion Controller bereitgestellt wird, die Ziehposition als Ursprung und Mittelpunkt der Drehung verwendet.
Die Greifhaltung ist wie folgt definiert:
- Die Griffposition: Der Handflächenschwerpunkt beim natürlichen Halten des Controllers, nach links oder rechts eingestellt, um die Position innerhalb des Griffs zu zentrieren. Auf dem Windows Mixed Reality Motion Controller wird diese Position in der Regel an der Taste "Greif" ausgerichtet.
- Die rechte Achse der Griffausrichtung: Wenn Sie Ihre Hand vollständig öffnen, um eine flache Fünf-Finger-Pose zu bilden, ist 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 der Griffausrichtung: Wenn Sie Ihre Hand teilweise schließen (als ob Sie den Controller halten), wird 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.
Zeigerposition
Die Zeigerposition stellt die Spitze des Controllers dar, der nach vorne zeigt.
Die vom System bereitgestellte Zeigerposition 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 Strahl zeigen, der für dieses virtuelle Objekt am natürlichsten ist, z. B. ein 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 Verweisen auf das virtuelle Objekt für Benutzer Ihrer App wahrscheinlich natürlicher.
Controllernachverfolgungsstatus
Wie die Headsets erfordert auch der Windows Mixed Reality Motion Controller keine Einrichtung externer Tracking-Sensoren. Stattdessen werden die Controller von 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 Nachverfolgung lange genug verloren hat, werden die Positionen des Controllers auf ungefähre Genauigkeitspositionen sinken.
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 die wahre Ausrichtung des Controllers mithilfe seiner internen Ausrichtungssensoren weiterhin verfügbar ist. Viele Apps, die Controller verwenden, um auf Benutzeroberflächenelemente zu zeigen und diese zu aktivieren, können normal und mit ungefährer Genauigkeit funktionieren, ohne dass der Benutzer es davon bemerkt.
Explizite Überlegungen zum Nachverfolgungsstatus
Apps, die Positionen basierend auf dem Nachverfolgungsstatus unterschiedlich behandeln möchten, können weiter gehen und Eigenschaften für den Zustand des Controllers überprüfen, z. B. SourceLossRisk und PositionAccuracy:
| Nachverfolgungsstatus | SourceLossRisk | PositionAccuracy | TryGetPosition |
|---|---|---|---|
| Hohe Genauigkeit | < 1.0 | Hoch | true |
| Hohe Genauigkeit (bei Verlustgefahr) | == 1,0 | Hoch | true |
| Ungefähre Genauigkeit | == 1,0 | Ungefähre | true |
| Keine Position | == 1,0 | Ungefähre | false |
Diese Bewegungscontroller-Nachverfolgungszustände sind wie folgt definiert:
- Hohe Genauigkeit: Während sich der Motion-Controller 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 Headset-Sensoren 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 (mit Verlustgefahr): Wenn der Benutzer den Motion Controller über den Rand des Sichtfelds des Headsets bewegt, kann das Headset die Position des Controllers bald nicht mehr visuell nachverfolgen. Die App weiß, wann der Controller diese FOV-Grenze erreicht hat, indem sie sieht, dass 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 Nachverfolgung lange genug verloren hat, werden die Positionen des Controllers auf ungefähre Genauigkeitspositionen sinken. 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 die wahre Ausrichtung des Controllers mithilfe seiner internen Ausrichtungssensoren weiterhin verfügbar ist. Viele Apps, die Controller verwenden, um auf UI-Elemente zu zeigen und diese zu aktivieren, können normal und in ungefährer Genauigkeit funktionieren, ohne dass der Benutzer es aufmerkt. Apps mit höheren Eingabeanforderungen können diesen Rückgang von "Hohe Genauigkeit" auf "Ungefähre Genauigkeit" erkennen, indem sie die PositionAccuracy-Eigenschaft untersuchen, z. B. um dem Benutzer während dieser Zeit eine großzügigere Hitbox für Ziele außerhalb des Bildschirms zu bieten.
- Keine Position: Während der Controller für eine lange Zeit mit ungefährer Genauigkeit arbeiten kann, weiß das System manchmal, dass selbst eine körpergebundene Position im Moment nicht sinnvoll ist. Beispielsweise kann ein aktivierter Controller noch nie visuell beobachtet worden sein, 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 Motion-Controllern sind Select, Menu, Grasp, Touchpad, Thumbstick und Home.
- Select ist die primäre Interaktion zum Aktivieren eines Hologramms, das aus einem Drücken gefolgt von einer Freigabe besteht. Für Motion-Controller führen Sie eine Select-Taste mithilfe des Triggers 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 "Auswählen" als Äquivalent eines Mausklicks vor. eine universelle Aktion, die Sie einmal erlernen und dann auf alle Ihre Apps anwenden.
- Menü ist die sekundäre Interaktion für die Aktion auf einem Objekt, das zum Abrufen eines Kontextmenüs oder zum Ausführen einer anderen sekundären Aktion verwendet wird. Mit Motion-Controllern 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 aktionen auf Objekte an ihrer Hand ergreifen können, um sie zu manipulieren. Mit Motion-Controllern können Sie eine Greifaktion ausführen, indem Sie ihre Faust fest zusammendrücken. Ein Bewegungscontroller kann einen Greifer mit einem Greifknopf, 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 Motion-Controllers anzupassen und die Aktion zu committen, indem er auf das Touchpad nach unten klickt. Touchpads bieten einen gedrückten Zustand, einen berührten Zustand und normalisierte XY-Koordinaten. X und Y liegen im Bereich des kreisförmigen Touchpads zwischen -1 und 1, wobei die Mitte bei (0, 0) liegt. Bei X befindet sich -1 auf der linken Seite und 1 auf der rechten Seite. Für Y befindet sich -1 unten und 1 oben.
- Der Thumbstick ermöglicht es dem Benutzer, eine Aktion in zwei Dimensionen anzupassen, indem er den Ministick eines Bewegungscontrollers innerhalb seines kreisförmigen Bereichs bewegt und die Aktion durch Klicken nach unten auf den Ministick committ. Ministicks bieten auch einen gedrückten Zustand und normalisierte XY-Koordinaten. X und Y liegen im Bereich des kreisförmigen Touchpads zwischen -1 und 1, wobei die Mitte bei (0, 0) liegt. Bei X befindet sich -1 auf der linken Seite und 1 auf der rechten Seite. Für Y befindet sich -1 unten und 1 oben.
- Home ist eine spezielle Systemaktion, die verwendet wird, um zum Startmenü zurückzukehren. Dies ä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-Taste auf einem Motion-Controller 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 verarbeitet werden.
Zusammengesetzte Gesten: Allgemeine räumliche Eingabe
Sowohl Handgesten als auch Bewegungscontroller können im Laufe der Zeit nachverfolgt werden, um einen allgemeinen Satz zusammengesetzter Gesten zu erkennen. Dadurch kann Ihre App allgemeine Tipp-, Halte-, Manipulations- und Navigationsgesten erkennen, unabhängig davon, ob Benutzer am Ende Hände oder Controller verwenden.
Rendern des Motion Controller-Modells
3D-Controllermodelle Windows stellt Apps ein renderbares Modell jedes Bewegungscontrollers zur Verfügung, der derzeit im System aktiv ist. Indem 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 an 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 einen Raycast in Ihre Szene aus der Zeigerhaltung durchführen, 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 Motion Controller-Modells 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, aber einige Entwickler möchten möglicherweise 2D-Linienartdarstellungen der Motion-Controller in einer flachen "Tutorial"- oder "Anleitungsbenutzeroberfläche" verwenden. Für diese Entwickler haben wir .png Bewegungscontroller-LineArt-Dateien in schwarz und weiß unten verfügbar gemacht (rechtsklick zum Speichern).
Screenshot der Lineart der Motion-Controller mit voller Auflösung in "weiß"
Screenshot der Lineart der Motion-Controller mit voller Auflösung in "Schwarz"
Häufig gestellte Fragen
Kann ich Motion-Controller mit mehreren PCs koppeln?
Motion-Controller unterstützen die Kopplung mit einem einzelnen PC. Befolgen Sie die Anweisungen zum Einrichten des Motion-Controllers , um Ihre Controller zu koppeln.
Gewusst wie die Firmware des Motion-Controllers aktualisieren?
Die Motion-Controller-Firmware ist Teil des Headsettreibers und wird bei Bedarf automatisch aktualisiert. Firmwareupdates dauern in der Regel 1-2 Minuten, je nach Bluetooth-Funk- und Linkqualität. In seltenen Fällen können Updates der Controllerfirmware bis zu 10 Minuten dauern, was auf eine schlechte Bluetooth-Konnektivität oder Funkstörungen hinweisen kann. Informationen zur Behandlung von Konnektivitätsproblemen finden Sie unter Bewährte Methoden für Bluetooth im Enthusiast-Handbuch . Nach einem Firmwareupdate werden Die Controller neu gestartet und stellen wieder eine Verbindung mit dem Host-PC her (möglicherweise stellen Sie fest, dass die LEDs für die Nachverfolgung hell sind). Wenn ein Firmwareupdate unterbrochen wird (z. B. wenn die Controller stromlos sind), wird es beim nächsten Einschalten der Controller erneut versucht.
Wie kann ich den Akkustand überprüfen?
In der 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 den Joystick / Trigger / etc Eingabe?
Nicht für universelle Windows-Anwendungen.
Problembehandlung
Weitere Informationen finden Sie unter Problembehandlung für Motion-Controller im Enthusiast-Leitfaden.
Einreichen von Motion Controller-Feedback/Fehlern
Geben Sie uns Feedback im Feedback-Hub, indem Sie die Kategorie "Mixed Reality –> Eingabe" verwenden.