Bewegingscontrollers

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

Afbeelding: Een Windows Mixed Reality bewegingscontroller

Windows Mixed Reality motion controllers



Ondersteuning voor apparaten

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

Hardwaredetails

Windows Mixed Reality bewegingscontrollers bieden nauwkeurige en responsieve bewegingen bijhouden in uw veld van weergave met behulp van de sensoren in de insluitende headset. U hoeft geen hardware op de muren in uw ruimte te installeren. Deze bewegingscontrollers bieden hetzelfde gemak van installatie en draagbaarheid als Windows Mixed Reality insluitende headsets. Onze apparaatpartners zijn van plan deze controllers op de markt te brengen en te verkopen op winkelschappen deze vakantie.

Get to know your controller
Kennismaken met uw controller

Functies:

  • Optische tracering
  • 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 host-pc met behulp van Windows instellingen zoals elk ander Bluetooth apparaat.

  1. Plaats twee AA-batterijen in de achterkant van de controller. Laat het batterijdeksel voorlopig uit.
  2. Als u een externe USB Bluetooth Adapter gebruikt in plaats van een ingebouwde Bluetooth radio, raadpleegt u de aanbevolen procedures voor Bluetooth voordat u doorgaat. Voor desktopconfiguratie met ingebouwde radio moet u ervoor zorgen dat antenne is aangesloten.
  3. Open Windows Instellingen ->Devices ->Add Bluetooth or other device ->Bluetooth and remove any earlier instances of "Motion controller – Right" en "Motion controller – Left". Controleer ook de categorie Andere apparaten onder aan de lijst.
  4. Selecteer Bluetooth of een ander apparaat toevoegen en zie dat het begint met het detecteren van Bluetooth apparaten.
  5. Houd de Windows-knop van de controller ingedrukt om de controller in te schakelen, laat los zodra het zoemt.
  6. Houd de koppelingsknop (tab in het batterijcompartiment) ingedrukt totdat de LED's beginnen te pulseren.
  1. Wacht tot 'Bewegingscontroller - links' of 'Bewegingscontroller - Rechts' wordt weergegeven onder aan de lijst. Selecteer deze optie 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 in de lijst

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

  1. U ziet dat 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. Accuhoes opnieuw bij elkaar leggen.
  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

Motion controllers connected

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

Controllerfirmware bijwerken

  • Als er een insluitende 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 nemen 1-2 minuten in beslag.
  • Nadat de firmware-update is voltooid, worden de controllers opnieuw opgestart en opnieuw verbonden. Beide controllers moeten nu zijn verbonden.

    Afbeelding: Controllers verbonden in Bluetooth-instellingen

Controllers connected

  • Controleer of uw controllers goed werken:
    1. Start Mixed Reality Portal en voer uw Mixed Reality Start in.
    2. Verplaats uw controllers en controleer het bijhouden, testen van knoppen en controleer of teleportatie werkt. Als dat niet het probleem is, bekijkt u het oplossen van problemen met de bewegingscontroller.

Gazing en wijzend

Windows Mixed Reality ondersteunt twee belangrijke modellen voor interactie; ga kijken en doorvoeren enwijzen en doorvoeren:

  • Met blik en doorvoer richten gebruikers zich op een object met hun blik en selecteren ze vervolgens objecten met handluchttikjes, 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 verwijzen met bewegingscontrollers moeten waar mogelijk ook aangestuurde interacties mogelijk inschakelen om gebruikers een keuze te geven in welke invoerapparaten ze gebruiken.

Terugslag beheren bij het aanwijzen

Wanneer u bewegingscontrollers gebruikt om te wijzen en door te voeren, gebruiken uw gebruikers de controller om zich te richten en te communiceren door de trigger op te halen. Gebruikers die de trigger krachtig trekken, kunnen uiteindelijk de controller hoger richten aan het einde van hun trigger pull dan ze bedoeld hebben.

Als u een dergelijke terugslag wilt beheren die zich kan voordoen wanneer gebruikers de trigger trekken, kan uw app de doelstraal uitlijnen wanneer de waarde van de analoge as van de trigger hoger is dan 0,0. Vervolgens kunt u actie ondernemen met behulp van die gerichte ray een paar frames later zodra de triggerwaarde 1.0 bereikt, zolang de laatste druk plaatsvindt binnen een kort tijdvenster. Wanneer u de samengestelde tikbeweging op een hoger niveau gebruikt, beheert Windows deze gerichte ray-opname en time-out voor u.

Grip pose vs. pointing pose

Windows Mixed Reality ondersteunt bewegingscontrollers in verschillende vormfactoren, waarbij het ontwerp van elke controller verschilt in de relatie tussen de handpositie van de gebruiker en de natuurlijke richting 'doorsturen' die apps moeten gebruiken voor het aanwijzen bij het weergeven van de controller.

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

Grip pose

De griphouding vertegenwoordigt de locatie van de handpalm die door een HoloLens is gedetecteerd, of de handpalm die een bewegingscontroller vasthoudt.

Op insluitende headsets wordt de griphouding het beste 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 gebruikt als oorsprong en het midden van de draaiing.

De griphouding wordt als volgt gedefinieerd:

  • De grippositie: De palm centraal wanneer de controller natuurlijk vasthoudt, 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 Greep.
  • De rechteras van de gripstand: Wanneer u uw hand volledig opent om een platte vijfvingerhouding te vormen, is de straal die normaal is voor uw palm (vanaf linkerpalm, achteruit van rechterpalm)
  • De as Voor de gripstand: Wanneer u uw hand gedeeltelijk sluit (alsof u de controller vasthoudt), wijst de straal die 'vooruit' wijst door de buis die door uw niet-duimvingers wordt gevormd.
  • De as Omhoog van de gripstand: De up-as die wordt geïmpliceerd door de definities Van rechts en Vooruit.

Aanwijzerpositie

De aanwijzerpositie vertegenwoordigt de punt van de controller die vooruit wijst.

De door het systeem geleverde aanwijzerpositie wordt het beste gebruikt voor raycast 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 het vat van het door de app gedefinieerde wapenmodel reist. Omdat gebruikers het virtuele object en niet de fysieke controller kunnen zien, is het wijzen met het virtuele object waarschijnlijk natuurlijker voor degenen die uw app gebruiken.

Status van controllertracering

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

Als de gebruiker de controllers uit het weergaveveld van de headset verplaatst, blijven Windows in de meeste gevallen controllerposities afleiden en deze aan de app verstrekken. Wanneer de controller al lang genoeg visuele tracering heeft verloren, zullen de posities van de controller dalen tot geschatte nauwkeurigheidsposities.

Op dit moment vergrendelt het systeem de controller naar de gebruiker, houdt de positie van de gebruiker bij terwijl deze zich beweegt, terwijl de werkelijke stand 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 iets ziet.


Redenering over traceringsstatus expliciet

Apps die posities verschillend willen behandelen op basis van de traceringsstatus, kunnen verder gaan en eigenschappen van de status van de controller controleren, 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 statussen voor het bijhouden van bewegingscontrollers worden als volgt gedefinieerd:

  • Hoge nauwkeurigheid: Hoewel de bewegingscontroller zich in het weergaveveld van de headset bevindt, biedt het over het algemeen hoge nauwkeurigheidsposities, op basis van visuele tracering. Een bewegende controller die het weergaveveld tijdelijk verlaat of tijdelijk verborgen is van de headsetsensoren (bijvoorbeeld door de andere gebruiker) blijft een korte tijd hoge nauwkeurigheidsposities retourneren, op basis van inertiale tracering van de controller zelf.
  • Hoge nauwkeurigheid (risico op verlies): Wanneer de gebruiker de bewegingscontroller voorbij de rand van het weergaveveld van de headset verplaatst, kan de headset binnenkort de positie van de controller niet visueel volgen. De app weet wanneer de controller deze FOV-grens heeft bereikt door de SourceLossRisk 1.0 te zien bereiken. Op dat moment kan de app ervoor kiezen om controllerbewegingen te onderbreken waarvoor een constante stroom van hoge kwaliteit houdingen vereist is.
  • Nauwkeurigheid bij benadering: Wanneer de controller al lang genoeg visuele tracering heeft verloren, zullen de posities van de controller dalen tot geschatte nauwkeurigheidsposities. Op dit moment vergrendelt het systeem de controller naar de gebruiker, houdt de positie van de gebruiker bij terwijl deze zich beweegt, terwijl de werkelijke stand 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 iets ziet. Apps met zwaardere invoervereisten kunnen ervoor kiezen om deze daling van hoge nauwkeurigheid in geschatte nauwkeurigheid te begrijpen door de eigenschap PositionAccuracy te inspecteren, bijvoorbeeld om de gebruiker gedurende deze tijd een royalere hitbox op off-screen-doelen te geven.
  • Geen positie: Hoewel de controller lange tijd op geschatte nauwkeurigheid kan werken, weet het systeem soms dat zelfs een lichaamsvergrendelingspositie op dit moment niet zinvol is. Een controller die is ingeschakeld, is bijvoorbeeld nooit visueel waargenomen of een gebruiker kan een controller neerzetten die vervolgens door iemand anders wordt opgehaald. Op die momenten geeft het systeem geen positie aan de app en retourneert TryGetPosition onwaar.

Interacties: ruimtelijke invoer op laag niveau

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

  • Select is de primaire interactie voor het activeren van een hologram, bestaande uit een druk, gevolgd door een release. Voor bewegingscontrollers voert u een Select-druk uit met behulp van de trigger van de controller. Andere manieren om een select uit te voeren, zijn door de spraakopdracht 'Selecteren' te spreken. Dezelfde selectie-interactie kan in 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.
  • Het menu is de secundaire interactie voor het handelen op 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 hoe gebruikers rechtstreeks actie kunnen ondernemen op objecten die ze bij de hand hebben om ze te manipuleren. Met bewegingscontrollers kunt u een actie uitvoeren door uw vuist strak te knijpen. Een bewegingscontroller kan een Grab-knop, palmtrigger of een andere sensor detecteren.
  • Met touchpad kan de gebruiker een actie in twee dimensies aanpassen aan het oppervlak van de touchpad van een bewegingscontroller, door de actie door te voeren door op de touchpad te klikken. Touchpads bieden een ingedrukt status, aanraakstatus en genormaliseerde XY-coördinaten. X en Y variëren van -1 tot 1 over het bereik van de ronde touchpad, met een midden op (0, 0). Voor X staat -1 aan de linkerkant en bevindt 1 zich aan de rechterkant. Voor Y staat -1 onderaan en staat 1 bovenaan.
  • Met duimstick kan de gebruiker een actie in twee dimensies aanpassen door de duimstick van een bewegingscontroller binnen het cirkelbereik te verplaatsen en de actie door op de duimstick te klikken. Duimsticks bieden ook een ingedrukt toestand en genormaliseerde XY-coördinaten. X en Y variëren van -1 tot 1 over het bereik van de ronde touchpad, met een midden op (0, 0). Voor X staat -1 aan de linkerkant en bevindt 1 zich aan de rechterkant. Voor Y staat -1 onderaan en staat 1 bovenaan.
  • Home is een speciale systeemactie die wordt gebruikt om terug te gaan naar het Startmenu Menu. Het is vergelijkbaar met het drukken op de Windows-toets op een toetsenbord of de Xbox-knop op een Xbox-controller. U kunt naar Home gaan door op de Windows knop op een bewegingscontroller te drukken. Let op: je kunt altijd terugkeren naar Startmenu door 'Hey Cortana, Go Home' te zeggen. Apps kunnen niet specifiek reageren op startacties, omdat deze worden verwerkt door het systeem.

Samengestelde gebaren: ruimtelijke invoer op hoog niveau

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

Het bewegingscontrollermodel weergeven

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

We raden u aan om alle renderbare modellen op de grippositie van de controller weer te geven, omdat de oorsprong van het model is uitgelijnd met dit punt in de fysieke wereld. Als u controllermodellen weergeeft, wilt u mogelijk raycasten naar uw scène vanuit de aanwijzerhouding, die de ray vertegenwoordigt die gebruikers natuurlijk zullen verwachten te wijzen, gezien het fysieke ontwerp van die controller.

Zie de sectie Rendering the motion controller model in Unity(Rendering the motion controller model in Unity ) voor meer informatie over het dynamisch laden van controllermodellen in Unity.

2D controller line art Hoewel we aanraden om in-app controller tips en opdrachten te koppelen aan de in-app controller modellen zelf, sommige ontwikkelaars kunnen 2D line art representaties van de bewegingscontrollers gebruiken in platte "zelfstudie" of "instructie" UI. Voor deze ontwikkelaars hebben we .png motion controller line art bestanden beschikbaar gemaakt in zowel zwart als wit hieronder (klik met de rechtermuisknop om op te slaan).

Preview of motion controllers line art

Regelaars voor volledige resolutie lijnen in '''wit''

Regelaars voor volledige resolutie line art in '''black''

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 headsetstuurprogramma en wordt indien nodig automatisch bijgewerkt op de verbinding. Firmware-updates duren doorgaans 1-2 minuten, afhankelijk van Bluetooth radio- en koppelingskwaliteit. In zeldzame gevallen kunnen firmware-updates van de controller tot 10 minuten duren, wat kan duiden op slechte Bluetooth connectiviteit of radiointerferentie. Zie Bluetooth aanbevolen procedures in de Gids voor liefhebbers om verbindingsproblemen op te lossen. Na een firmware-update worden controllers opnieuw opgestart en opnieuw verbinding gemaakt met de host-pc (u ziet mogelijk dat de LED's helder zijn voor het bijhouden). Als een firmware-update wordt onderbroken (bijvoorbeeld dat de controllers stroom verliezen), wordt er opnieuw geprobeerd de volgende keer dat de controllers worden ingeschakeld.

Hoe kan ik het batterijniveau controleren?

In de Windows Mixed Reality thuis kunt u de controller omdraaien om het batterijniveau aan de omgekeerde kant van het virtuele model te zien. Er is geen indicator voor het fysieke batterijniveau.

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

Niet voor Universele Windows-toepassingen.

Problemen oplossen

Bekijk het oplossen van problemen met bewegingscontrollers in de Gids voor liefhebbers.

Feedback/bugs van bewegingscontroller indienen

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

Zie ook