Bewegungscontroller

Bewegungscontroller sind Hardware-Zubehör , mit denen Benutzer Aktionen in mixed Reality ausführen können. Ein Vorteil von Bewegungscontrollern über Gesten besteht darin, dass die Controller eine genaue Position im Raum haben, sodass eine feinkörnende Interaktion mit digitalen Objekten möglich ist. Für Windows Mixed Reality immersive Headsets sind Bewegungscontroller die primäre Art und Weise, wie Benutzer aktionen in ihrer Welt ausführen.

Bild: 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 Ansichtsfeld mit den Sensoren im immersiven Headset. Es gibt keine Notwendigkeit, Hardware auf den Wänden in Ihrem Raum zu installieren. Diese Bewegungscontroller bieten dieselbe Einfache Einrichtung und Portierbarkeit wie Windows Mixed Reality immersive Headsets. Unsere Gerätepartner planen, diese Controller auf Einzelhandelsregalen zu marktieren und zu verkaufen.

Get to know your controller
Erfahren Sie, wie Sie Ihren Controller kennen

Funktionen:

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

Einrichten

Voraussetzungen

Sie benötigen Folgendes:

  • Eine Gruppe von zwei Bewegungscontrollern.
  • Vier AA-Batterien.
  • Ein PC mit Bluetooth 4.0-Support.

Suchen Sie nach Windows, Unity- und Treiberupdates

Kopplungscontroller

Bewegungscontroller können mit Host-PC mit Windows Einstellungen wie jedem anderen Bluetooth Gerät verbunden werden.

  1. Fügen Sie zwei AA-Batterien in die Rückseite des Controllers ein. Verlassen Sie die Akkuabdeckung jetzt.
  2. Wenn Sie einen externen USB-Bluetooth Adapter anstelle eines integrierten Bluetooth Radios verwenden, überprüfen Sie die bewährten Methoden Bluetooth, bevor Sie fortfahren. Stellen Sie für die Desktopkonfiguration mit integriertem Radio sicher, dass die Antenne verbunden 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" unten in der Liste.
  4. Wählen Sie "Bluetooth hinzufügen" oder ein anderes Gerät aus, und sehen Sie, dass sie beginnen, Bluetooth Geräte zu entdecken.
  5. Halten Sie die Windows-Taste des Controllers gedrückt, um den Controller zu aktivieren, und halten Sie sie gedrückt, sobald sie gedreht wurde.
  6. Halten Sie die Kopplungsschaltfläche (Registerkarte im Akkufach) gedrückt, bis die LEDs beginnen, zu pulsieren.
  1. Warten Sie auf "Bewegungscontroller - Links" oder "Bewegungscontroller - Rechts", um am unteren Rand der Liste anzuzeigen. Wählen Sie aus, um zu paaren. Der Controller wird einmal beim Verbinden vibrieren.

    Bild: Wählen Sie "Bewegungscontroller" aus, um zu paaren; 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 erneut 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

Bild: Angeschlossene Bewegungscontroller

Motion controllers connected

Wenn die Controller nach der Kopplung deaktiviert sind, wird ihr Status als Paar angezeigt. Für Controller unter der Kategorie "Andere Geräte" kann die Kopplung nur teilweise abgeschlossen sein. Führen Sie in diesem Fall die Paarungsschritte erneut aus, um den Controller funktionsfähig 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 verschoben, wenn Sie sie aktivieren. Controller-Firmwareupdates werden durch ein Muster der Beleuchtung von LED-Quadranten in einer kreisförmigen Bewegung angezeigt und nehmen 1-2 Minuten.
  • Nachdem das Firmwareupdate abgeschlossen ist, wird der Controller neu gestartet und wieder verbunden. Beide Controller sollten jetzt verbunden werden.

    Bild: Controller, die in Bluetooth Einstellungen verbunden sind

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, Testschaltflächen und überprüfen Sie die Teleportierung . Wenn sie nicht sind, überprüfen Sie dann die Problembehandlung des Bewegungscontrollers.

Blicken und Zeigen

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

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

Apps, die mit Bewegungscontrollern zeigen, sollten auch blickgesteuerte Interaktionen aktivieren, um Benutzern eine Wahl zu geben, welche Eingabegeräte sie verwenden.

Verwalten von Rückcoil beim Zeigen

Wenn Sie Bewegungscontroller zum Zeigen und Commit verwenden, verwenden Ihre Benutzer den Controller zum Ziel und interagieren, indem Sie den Trigger ziehen. Benutzer, die den Trigger kräftig ziehen, können das Ziel des Controllers am Ende des Trigger-Pulls erreichen, als sie beabsichtigt haben.

Um eine solche Recoil zu verwalten, die auftreten kann, wenn Benutzer den Trigger ziehen, kann Ihre App seine Zielachse anrasten, wenn der Analogachsenwert des Triggers über 0,0 steigt. Sie können dann aktionen, indem Sie diese Zielstrahle später verwenden, sobald der Triggerwert 1,0 erreicht hat, solange die endgültige Presse innerhalb eines kurzen Zeitfensters auftritt. Wenn Sie die Geste für die zusammengesetzte Tippen auf höherer Ebene verwenden, verwaltet Windows diese Zielstrahlaufnahme und -timeout für Sie.

Grip-Pose vs. Zeiger-Pose

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ärts"-Richtung 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 Griff-Pose und die Zeiger-Pose.

Grip-Pose

Die Griffposition stellt die Position einer Hand dar, die von einem HoloLens erkannt wird, oder die Palme, die einen Bewegungscontroller hält.

Bei immersiven Headsets wird die Grip-Pose 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 Grip-Pose wird auch bei der Visualisierung eines Bewegungscontrollers verwendet, da das renderbare Modell, das von Windows für einen Bewegungscontroller bereitgestellt wird, den Griff als Ursprung und Drehzentrum verwendet.

Die Grip-Pose wird speziell wie folgt definiert:

  • Die Griffposition: Das Palmzentrieren beim Halten des Controllers natürlich, angepasst 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 "Erfassen".
  • Die Rechte Achse des Griffs: Wenn Sie Ihre Hand vollständig öffnen, um eine flache Fünf-Finger-Pose zu bilden, ist der Strahl, der normal für Ihre Palme ist (vorwärts von der linken Hand, rückwärts von der rechten Hand)
  • Die Vorwärtsachse des Griffs: Wenn Sie ihre Hand teilweise schließen (wie beim Halten des Controllers), zeigt der Strahl, der durch die Rohre durch ihre Nicht-Daumen-Finger gebildet wird.
  • Die Nach-oben-Achse des Griffs: Die durch die Rechts- und Vorwärtsdefinitionen implizite Nach-oben-Achse.

Zeiger-Pose

Die Zeigerposition stellt die Spitze des Controllers dar, der vorwärts zeigt.

Die vom System bereitgestellte Zeiger-Pose 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. eine Ray, die entlang des benutzerdefinierten 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

Siehe Bewegungscontroller-Problembehandlung im Enthusiast Guide.

Einreichen von Bewegungscontroller-Feedback/Fehlern

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

Siehe auch