Bewegingscontrollers

Bewegingscontrollers zijn hardwareaccessoires waarmee gebruikers actie kunnen ondernemen in mixed reality. Een voordeel van bewegingscontrollers ten opzichte van bewegingen is dat de controllers een nauwkeurige positie in de ruimte hebben, waardoor fijnmazige interactie met digitale objecten mogelijk is. Voor Windows Mixed Reality immersive headsets zijn bewegingscontrollers de belangrijkste manier waarop gebruikers actie ondernemen in hun wereld.

Afbeelding: Een Windows Mixed Reality bewegingscontroller

Windows Mixed Reality bewegingscontrollers



Ondersteuning voor apparaten

Functie HoloLens (1e generatie) HoloLens 2 Immersive headsets
Bewegingscontrollers ✔️

Hardwaredetails

Windows Mixed Reality bewegingscontrollers bieden nauwkeurige en responsieve bewegingstracering in uw gezichtsveld met behulp van de sensoren in de immersive headset. Het is niet nodig om hardware op de wanden in uw ruimte te installeren. Deze bewegingscontrollers bieden hetzelfde installatiegemak en dezelfde draagbaarheid als Windows Mixed Reality immersive headsets. Onze apparaatpartners zijn van plan deze controllers deze vakantie in de winkelschappen op de markt te zetten en te verkopen.

Uw controller leren kennen
Uw controller leren kennen

Functies:

  • Optische tracking
  • Trigger
  • Knop Vastpakken
  • Duimstick
  • Touchpad

Instellen

Voordat u begint

U hebt het volgende nodig:

  • Een set van twee bewegingscontrollers.
  • Vier AA-batterijen.
  • Een pc met Bluetooth 4.0-ondersteuning.

Controleren op Updates voor Windows, Unity en stuurprogramma's

Controllers koppelen

Bewegingscontrollers kunnen worden verbonden met de host-pc met behulp van Windows-instellingen, net als elk ander Bluetooth-apparaat.

  1. Plaats twee AA-batterijen aan de achterkant van de controller. Laat het batterijdeksel voorlopig uitgeschakeld.
  2. Als u een externe USB Bluetooth-adapter gebruikt in plaats van een ingebouwde Bluetooth-radio, raadpleegt u de best practices voor Bluetooth voordat u doorgaat. Voor desktopconfiguratie met ingebouwde radio moet u ervoor zorgen dat de antenne is aangesloten.
  3. Open Windows-instellingen ->Apparaten ->Bluetooth- of ander apparaat toevoegen ->Bluetooth en verwijder eventuele eerdere exemplaren van 'Bewegingscontroller – rechts' en 'Bewegingscontroller - links'. Controleer ook de categorie Andere apparaten onderaan de lijst.
  4. Selecteer Bluetooth- of ander apparaat toevoegen en zie hoe het bluetooth-apparaten worden gedetecteerd.
  5. Houd de Windows-knop van de controller ingedrukt om de controller in te schakelen en laat los zodra deze zoemt.
  6. Houd de koppelingsknop (tab in het batterijvak) ingedrukt totdat de LED's beginnen te pulseren.
  1. Wacht 'Bewegingscontroller - links' of 'Bewegingscontroller - rechts' om onder aan de lijst weer te geven. Selecteer om te koppelen. De controller trilt eenmaal wanneer deze is verbonden.

    Afbeelding: Selecteer 'Bewegingscontroller' om te koppelen; als er meerdere exemplaren zijn, selecteert u er een onder aan de lijst

Selecteer Bewegingscontroller om te koppelen, als meerdere exemplaren er een selecteren die onder aan de lijst wordt weergegeven

  1. De controller wordt weergegeven in de Bluetooth-instellingen onder de categorie Muis, toetsenbord & pen als Verbonden. Op dit moment krijgt u mogelijk een firmware-update. Zie de volgende sectie.
  2. Bevestig het batterijdeksel opnieuw.
  3. Herhaal stap 1-9 voor de tweede controller.

Nadat beide controllers zijn gekoppeld, moeten uw instellingen er als volgt uitzien, onder de categorie Muis, toetsenbord & pen

Afbeelding: Bewegingscontrollers verbonden

Bewegingscontrollers verbonden

Als de controllers zijn uitgeschakeld na het koppelen, wordt hun status weergegeven als Gekoppeld. Voor controllers die permanent onder de categorie 'Andere apparaten' zijn, is de koppeling mogelijk slechts gedeeltelijk voltooid. Voer in dit geval de koppelingsstappen opnieuw uit om de controller functioneel te krijgen.

Controllerfirmware bijwerken

  • Als er een immersive headset is aangesloten op uw pc met nieuwe controllerfirmware, wordt de firmware automatisch naar uw bewegingscontrollers gepusht wanneer u ze de volgende keer inschakelt. Updates van controllerfirmware worden aangegeven door een patroon van verlichte LED-kwadranten in een cirkelvormige beweging en duren 1-2 minuten.
  • Nadat de firmware-update is voltooid, worden de controllers opnieuw opgestart en opnieuw verbinding gemaakt. Beide controllers moeten nu worden aangesloten.

    Afbeelding: Controllers verbonden in Bluetooth-instellingen

Aangesloten controllers

  • Controleer of uw controllers goed werken:
    1. Start Mixed Reality Portal en voer uw Mixed Reality Home in.
    2. Verplaats uw controllers en controleer of tracering, testknoppen en of teleportatie werkt. Als dat niet het probleem is, raadpleegt u problemen met bewegingscontrollers oplossen.

Staren en wijzen

Windows Mixed Reality ondersteunt twee belangrijke modellen voor interactie; staren en doorvoeren en wijzen en doorvoeren:

  • Met staren en doorvoeren richten gebruikers zich op een object met hun blik en selecteren ze vervolgens objecten met hand-air-tikken, een gamepad, een clicker of hun stem.
  • Met punt en doorvoer kan een gebruiker een aanwijsbare bewegingscontroller op het doelobject richten en vervolgens objecten selecteren met de trigger van de controller.

Apps die het aanwijzen met bewegingscontrollers ondersteunen, moeten waar mogelijk ook gazegestuurde interacties mogelijk maken, zodat gebruikers kunnen kiezen welke invoerapparaten ze gebruiken.

Terugslag beheren bij het aanwijzen

Wanneer u bewegingscontrollers gebruikt om aan te wijzen en door te voeren, gebruiken uw gebruikers de controller om te richten en te communiceren door de trigger over te halen. Gebruikers die de trigger krachtig overhalen, richten de controller mogelijk hoger aan het einde van hun trigger-pull dan ze bedoeld hebben.

Als u een dergelijke terugslag wilt beheren die kan optreden wanneer gebruikers de trigger overhalen, kan uw app de doelstraal vastmaken wanneer de waarde van de analoge as van de trigger hoger is dan 0,0. U kunt vervolgens enkele frames later actie ondernemen met die doelstraal zodra de triggerwaarde 1,0 bereikt, zolang de laatste druk binnen een kort tijdvenster plaatsvindt. Wanneer u de samengestelde tikbeweging op een hoger niveau gebruikt, beheert Windows deze gerichte ray-opname en time-out voor u.

Griphouding versus wijzende houding

Windows Mixed Reality ondersteunt bewegingscontrollers in verschillende vormfactoren, waarbij het ontwerp van elke controller verschilt in de relatie tussen de positie van de hand van de gebruiker en de natuurlijke 'voorwaartse' richting die apps moeten gebruiken om te wijzen bij het weergeven van de controller.

Om deze controllers beter weer te geven, zijn er twee soorten poses die u kunt onderzoeken voor elke interactiebron; de greephouding en de aanwijzerhouding.

Greephouding

De griphouding vertegenwoordigt de locatie van de palm van een hand die wordt gedetecteerd door een HoloLens of de palm die een bewegingscontroller vasthoudt.

Op immersive headsets kan de griphouding het beste worden gebruikt om de hand van de gebruiker of een object in de hand van de gebruiker weer te geven, zoals een zwaard of pistool. De griphouding wordt ook gebruikt bij het visualiseren van een bewegingscontroller, omdat het renderbare model van Windows voor een bewegingscontroller de griphouding als oorsprong en draaipunt gebruikt.

De griphouding wordt specifiek als volgt gedefinieerd:

  • De positie van de greep: De palmcentid bij het natuurlijk vasthouden van de besturing, links of rechts aangepast om de positie binnen de grip te centreren. Op de Windows Mixed Reality bewegingscontroller wordt deze positie over het algemeen uitgelijnd met de knop Grip.
  • De rechteras van de gripstand: Wanneer u uw hand volledig opent om een platte houding van vijf vingers te vormen, de straal die normaal is voor uw palm (vooruit van linkerpalm, achteruit van rechterpalm)
  • De voorwaartse as van de gripstand: wanneer u uw hand gedeeltelijk sluit (alsof u de controller vasthoudt), de straal die "vooruit" wijst door de buis die wordt gevormd door uw niet-duimvingers.
  • De as Omhoog van de gripstand: de as Omhoog die wordt geïmpliceerd door de definities Rechts en Vooruit.

Aanwijzerhouding

De aanwijzerpositie vertegenwoordigt de punt van de controller die naar voren wijst.

De door het systeem geleverde aanwijzerpositie kan het beste worden gebruikt om te raycasten wanneer u het controllermodel zelf weergeeft. Als u een ander virtueel object weergeeft in plaats van de controller, zoals een virtueel pistool, moet u wijzen met een straal die het meest natuurlijk is voor dat virtuele object, zoals een straal die langs de loop van het door de app gedefinieerde pistoolmodel reist. Omdat gebruikers het virtuele object kunnen zien en niet de fysieke controller, is het aanwijzen met het virtuele object waarschijnlijk natuurlijker voor degenen die uw app gebruiken.

Status van controllertracering

Net als bij de headsets vereist de Windows Mixed Reality bewegingscontroller geen installatie van externe volgsensoren. In plaats daarvan worden de controllers gevolgd door sensoren in de headset zelf.

Als de gebruiker de controllers uit het weergaveveld van de headset verplaatst, blijft Windows in de meeste gevallen controllerposities afleiden en deze aan de app verstrekken. Wanneer de controller de visuele tracering lang genoeg heeft verloren, nemen de posities van de controller af naar posities met een geschatte nauwkeurigheid.

Op dit moment vergrendelt het systeem de controller voor de gebruiker, waarbij de positie van de gebruiker wordt bijgehouden terwijl deze zich verplaatst, terwijl de werkelijke richting van de controller nog steeds wordt weergegeven met behulp van de interne oriëntatiesensoren. Veel apps die gebruikmaken van controllers om UI-elementen aan te wijzen en te activeren, kunnen normaal werken terwijl ze bij benadering nauwkeurig zijn zonder dat de gebruiker het doorheegt.


Redenering over expliciete traceringsstatus

Apps die posities verschillend willen behandelen op basis van de traceringsstatus, kunnen verder gaan en eigenschappen van de status van de controller inspecteren, zoals SourceLossRisk en PositionAccuracy:

Traceringsstatus SourceLossRisk PositionAccuracy TryGetPosition
Hoge nauwkeurigheid < 1.0 Hoog true
Hoge nauwkeurigheid (risico op verlies) == 1,0 Hoog true
Nauwkeurigheid bij benadering == 1,0 Geschatte true
Geen positie == 1,0 Geschatte onjuist

Deze bewegingscontrollerstatussen worden als volgt gedefinieerd:

  • Hoge nauwkeurigheid: Hoewel de bewegingscontroller zich binnen het gezichtsveld van de headset bevindt, biedt deze over het algemeen een hoge nauwkeurigheid op basis van visuele tracking. Een bewegende controller die tijdelijk het beeldveld verlaat of tijdelijk wordt verborgen door de sensoren van de headset (bijvoorbeeld door de andere hand van de gebruiker), blijft gedurende korte tijd zeer nauwkeurige houdingen retourneren op basis van inertiële tracering van de controller zelf.
  • Hoge nauwkeurigheid (risico op verlies): Wanneer de gebruiker de bewegingscontroller voorbij de rand van het gezichtsveld van de headset beweegt, kan de headset binnenkort de positie van de controller niet meer visueel volgen. De app weet wanneer de controller deze FOV-grens heeft bereikt door te zien dat SourceLossRisk 1.0 bereikt. Op dat moment kan de app ervoor kiezen om controllerbewegingen te onderbreken waarvoor een gestage stroom van poses van hoge kwaliteit is vereist.
  • Nauwkeurigheid bij benadering: Wanneer de controller de visuele tracering lang genoeg heeft verloren, nemen de posities van de controller af naar posities met een geschatte nauwkeurigheid. Op dit moment vergrendelt het systeem de controller voor de gebruiker, waarbij de positie van de gebruiker wordt bijgehouden terwijl deze zich verplaatst, terwijl de werkelijke richting van de controller nog steeds wordt weergegeven met behulp van de interne oriëntatiesensoren. Veel apps die gebruikmaken van controllers om UI-elementen aan te wijzen en te activeren, kunnen bij benadering nauwkeurig werken zonder dat de gebruiker dit op de voortekening heeft. Apps met zwaardere invoervereisten kunnen ervoor kiezen om deze daling van Hoge nauwkeurigheid naar Geschatte nauwkeurigheid te herkennen door de eigenschap PositionAccuracy te inspecteren, bijvoorbeeld om de gebruiker in deze tijd een ruimer hitbox te geven op doelen buiten het scherm.
  • Geen positie: Hoewel de controller lange tijd met een geschatte nauwkeurigheid kan werken, weet het systeem soms dat zelfs een vergrendelingspositie op het lichaam op dit moment niet zinvol is. Een controller die is ingeschakeld, is bijvoorbeeld mogelijk nooit visueel waargenomen of een gebruiker kan een controller neerzetten die vervolgens door iemand anders wordt opgehaald. Op die momenten biedt het systeem geen positie aan de app en retourneert TryGetPosition false.

Interacties: ruimtelijke invoer op laag niveau

De belangrijkste interacties tussen handen en bewegingscontrollers zijn Select, Menu, Grasp, Touchpad, Thumbstick en Home.

  • Selecteren is de primaire interactie voor het activeren van een hologram, bestaande uit een druk op gevolgd door een release. Voor bewegingscontrollers voert u een select-druk uit met behulp van de trigger van de controller. Andere manieren om een Selectie uit te voeren, zijn door de spraakopdracht 'Selecteren' uit te spreken. Dezelfde selectie-interactie kan binnen elke app worden gebruikt. U kunt Selecteren zien als het equivalent van een muisklik; een universele actie die u eenmaal leert en vervolgens toepast op al uw apps.
  • Menu is de secundaire interactie voor het uitvoeren van een object, dat wordt gebruikt om een contextmenu op te halen of een andere secundaire actie uit te voeren. Met bewegingscontrollers kunt u een menuactie uitvoeren met behulp van de menuknop van de controller. (dat wil gezegd, de knop met het hamburger "menu" pictogram erop)
  • Begrijpen is hoe gebruikers rechtstreeks actie kunnen ondernemen op objecten die ze bij de hand hebben om ze te manipuleren. Met bewegingscontrollers kunt u een greepactie uitvoeren door uw vuist strak te knijpen. Een bewegingscontroller kan een greep detecteren met een grijpknop, handpalmtrigger of een andere sensor.
  • Met touchpad kan de gebruiker een actie in twee dimensies aanpassen langs het oppervlak van het touchpad van een bewegingscontroller, waarbij de actie wordt doorgevoerd door op het touchpad te klikken. Touchpads bieden een ingedrukt toestand, een aanraaktoestand en genormaliseerde XY-coördinaten. X en Y variëren van -1 tot 1 over het hele bereik van het ronde touchpad, met een midden op (0, 0). Voor X staat -1 aan de linkerkant en 1 aan de rechterkant. Voor Y staat -1 aan de onderkant en 1 aan de bovenkant.
  • Met duimstick kan de gebruiker een actie in twee dimensies aanpassen door de duimstick van een bewegingscontroller binnen het cirkelvormige bereik te verplaatsen en de actie door op de duimstick omlaag te klikken. Duimsticks bieden ook een ingedrukt toestand en genormaliseerde XY-coördinaten. X en Y variëren van -1 tot 1 over het hele bereik van het ronde touchpad, met een midden op (0, 0). Voor X staat -1 aan de linkerkant en 1 aan de rechterkant. Voor Y staat -1 aan de onderkant en 1 aan de bovenkant.
  • Start is een speciale systeemactie die wordt gebruikt om terug te gaan naar het Startmenu. Het is vergelijkbaar met het indrukken van de Windows-toets op een toetsenbord of de Xbox-knop op een Xbox-controller. U kunt naar start gaan door op de Windows-knop op een bewegingscontroller te drukken. Opmerking: u kunt altijd terugkeren naar het startscherm door 'Hey Cortana, Go Home' te zeggen. Apps kunnen niet specifiek reageren op startacties, omdat deze worden verwerkt door het systeem.

Samengestelde bewegingen: ruimtelijke invoer op hoog niveau

Zowel handbewegingen als bewegingscontrollers kunnen in de loop van de tijd worden bijgehouden om een algemene set samengestelde bewegingen op hoog niveau te detecteren. Hierdoor kan uw app tikken, vasthouden, manipuleren en navigatiebewegingen op hoog niveau detecteren, ongeacht of gebruikers handen of controllers gebruiken.

Het bewegingscontrollermodel weergeven

3D-controllermodellen Windows maakt voor apps een renderbaar model beschikbaar van elke bewegingscontroller die momenteel actief is in het systeem. Door uw app deze door het systeem geleverde controllermodellen tijdens runtime dynamisch te laden en te verwoorden, kunt u ervoor zorgen dat uw app compatibel is met toekomstige controllerontwerpen.

U wordt aangeraden alle renderbare modellen in de grippositie van de controller weer te geven, omdat de oorsprong van het model is afgestemd op dit punt in de fysieke wereld. Als u controllermodellen weergeeft, wilt u mogelijk raycasten naar uw scène vanuit de aanwijzerpositie, die de straal vertegenwoordigt waarover gebruikers natuurlijk verwachten te wijzen, gezien het fysieke ontwerp van die controller.

Zie de sectie Het bewegingscontrollermodel weergeven in Unity voor meer informatie over het dynamisch laden van controllermodellen in Unity.

Lijnillustratie voor 2D-controller Hoewel we u aanraden om tips en opdrachten voor in-app-controller te koppelen aan de in-app controllermodellen zelf, willen sommige ontwikkelaars mogelijk 2D-regelillustraties van de bewegingscontrollers gebruiken in de platte gebruikersinterface voor zelfstudies of procedures. Voor deze ontwikkelaars hebben we .png motion controller lineart-bestanden beschikbaar gemaakt in zowel zwart als wit hieronder (klik met de rechtermuisknop om op te slaan).

Voorbeeld van regelillustratie voor bewegingscontrollers

Regelillustratie van bewegingscontrollers met volledige resolutie in ''''wit'''

Regelillustratie van bewegingscontrollers met volledige resolutie in zwart

Veelgestelde vragen

Kan ik bewegingscontrollers koppelen aan meerdere pc's?

Bewegingscontrollers ondersteunen koppelen met één pc. Volg de instructies voor het instellen van de bewegingscontroller om uw controllers te koppelen.

Hoe kan ik de firmware van de bewegingscontroller bijwerken?

De firmware van de bewegingscontroller maakt deel uit van het stuurprogramma van de headset en wordt, indien nodig, automatisch bijgewerkt bij de verbinding. Firmware-updates duren meestal 1-2 minuten, afhankelijk van de Bluetooth-radio en de verbindingskwaliteit. In zeldzame gevallen kunnen updates van controllerfirmware tot 10 minuten duren, wat kan duiden op een slechte Bluetooth-verbinding of radiostoring. Zie Best practices voor Bluetooth in de Handleiding voor liefhebbers om verbindingsproblemen op te lossen. Na een firmware-update worden controllers opnieuw opgestart en opnieuw verbonden met de host-pc (mogelijk merkt u dat de LED's helder worden voor tracering). Als een firmware-update wordt onderbroken (bijvoorbeeld als de controllers stroom verliezen), wordt de volgende keer dat de controllers worden ingeschakeld, opnieuw geprobeerd.

Hoe kan ik het batterijniveau controleren?

In het Windows Mixed Reality huis kunt u de controller omdraaien om het batterijniveau aan de achterkant van het virtuele model te bekijken. Er is geen indicator voor het fysieke batterijniveau.

Kunt u deze controllers gebruiken zonder headset? Alleen voor de invoer van de joystick/trigger/etc?

Niet voor universele Windows-toepassingen.

Problemen oplossen

Zie problemen met bewegingscontrollers oplossen in de Enthusiast Guide.

Feedback/bugs van bewegingscontroller indienen

Geef ons feedback in de Feedback-hub met behulp van de categorie 'Mixed Reality -> Invoer'.

Zie ook