Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Bewegingscontrollers zijn hardware-accessoires 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 fijne interactie met digitale objecten mogelijk is. Voor Windows Mixed Reality insluitende headsets zijn bewegingscontrollers de belangrijkste manier waarop gebruikers actie ondernemen in hun wereld.
Afbeelding: Een Windows Mixed Reality bewegingscontroller
Apparaatondersteuning
| Functie | (/previous-versions/mixed-reality/hololens-1/hololens1-hardware)HoloLens (1e generatie) | HoloLens 2 | Meeslepende headsets |
| Bewegingscontrollers | ❌ | ❌ | ✔️ |
Hardwaredetails
Windows Mixed Reality bewegingscontrollers bieden nauwkeurige en responsieve bewegingstracering in uw gezichtsveld met behulp van de sensoren in de immersive headset. U hoeft geen 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 op de markt te zetten en te verkopen in de detailhandel deze vakantie.
Uw controller leren kennen
Functies:
- Optische tracering
- Trigger
- Knop Vastpakken
- Duimstick
- Touchpad
Configuratie
Voordat u begint
U hebt het volgende nodig:
- Een set van twee bewegingscontrollers.
- Vier AA-batterijen.
- Een pc met ondersteuning voor Bluetooth 4.0.
Controleren op Updates voor Windows, Unity en stuurprogramma's
- Ga naar De hulpprogramma's installeren voor de voorkeursversies van Windows, Unity, enzovoort, voor mixed reality-ontwikkeling.
- Zorg ervoor dat u beschikt over de meest recente stuurprogramma's voor headsets en bewegingscontrollers.
Controllers koppelen
Bewegingscontrollers kunnen worden verbonden met de host-pc met behulp van Windows-instellingen, zoals elk ander Bluetooth-apparaat.
- Plaats twee AA-batterijen in de achterkant van de controller. Laat de batterijklep voorlopig uit.
- 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.
- 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.
- Selecteer Bluetooth- of ander apparaat toevoegen en zie hoe bluetooth-apparaten worden gedetecteerd.
- Als u de controller wilt inschakelen, houdt u de Windows-knop van de controller ingedrukt en laat u deze los zodra deze zoemt.
- Houd de koppelingsknop ingedrukt (tab in het batterijcompartiment) totdat de LED's beginnen te pulseren.
- Wacht tot 'Bewegingscontroller - links' of 'Bewegingscontroller - rechts' wordt weergegeven onder aan de lijst. 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 onderaan de lijst
- 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.
- De batterijklep opnieuw bevestigen.
- 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
Als de controllers na het koppelen zijn uitgeschakeld, wordt hun status weergegeven als Gekoppeld. Voor controllers die permanent onder de categorie 'Andere apparaten' staan, kan het koppelen slechts gedeeltelijk zijn voltooid. Voer in dit geval de koppelingsstappen opnieuw uit om de controller functioneel te maken.
Controllerfirmware bijwerken
- Als er een insluitende headset met nieuwe controllerfirmware op uw pc is aangesloten, wordt de firmware automatisch naar uw bewegingscontrollers gepusht wanneer u ze de volgende keer inschakelt. Een patroon van verlichte LED-kwadranten in een cirkelvormige beweging duidt op firmware-updates van de controller en duurt 1-2 minuten.
- Nadat de firmware-update is voltooid, worden de controllers opnieuw opgestart en opnieuw verbinding gemaakt. Beide controllers moeten nu zijn verbonden.
Afbeelding: Controllers verbonden in Bluetooth-instellingen
- Controleer of uw controllers goed werken:
- Start Mixed Reality Portal en voer uw Mixed Reality Home in.
- Verplaats uw controllers en controleer de tracering, testknoppen en controleer of teleportatie werkt. Als dat niet het probleem is, raadpleegt u problemen met de bewegingscontroller oplossen.
Staren en wijzen
Windows Mixed Reality ondersteunt twee belangrijke modellen voor interactie; staren en doorvoeren en aanwijzen 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 richten op het doelobject en vervolgens objecten selecteren met de trigger van de controller.
Apps die het aanwijzen met bewegingscontrollers ondersteunen, moeten waar mogelijk ook stargestuurde 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, kunnen de controller aan het einde van hun trigger pull hoger richten dan ze van plan waren.
Als u dergelijke terugslag wilt beheren die kan optreden wanneer gebruikers de trigger overhalen, kan uw app de doelstraal uitlijnen wanneer de analoge aswaarde van de trigger hoger is dan 0,0. U kunt vervolgens enkele frames later actie ondernemen met behulp van 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 ray-opname en time-out voor u.
Griphouding versus aanwijzende houding
Windows Mixed Reality ondersteunt bewegingscontrollers in verschillende vormfactoren. 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 te vertegenwoordigen, zijn er twee soorten houdingen die u kunt onderzoeken voor elke interactiebron; de greeppositie en de aanwijzerpositie.
Greeppositie
De greeppositie vertegenwoordigt de locatie van de handpalm die is gedetecteerd door een HoloLens of de palm die een bewegingscontroller vasthoudt.
Op insluitende headsets kan de grippositie 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 greeppositie wordt ook gebruikt bij het visualiseren van een bewegingscontroller, omdat het renderbare model van Windows voor een bewegingscontroller de grippositie als oorsprong en draaipunt gebruikt.
De grippositie wordt specifiek als volgt gedefinieerd:
- De grippositie: De palmcentid bij het natuurlijk vasthouden van de controller, links of rechts om de positie binnen de grip te centreren. Op de Windows Mixed Reality bewegingscontroller wordt deze positie over het algemeen uitgelijnd met de knop Grijpknop.
- De rechteras van de griporiëntatie: wanneer u uw hand volledig opent om een platte vijfvingerpositie 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), wordt de straal die door de buis wordt aangegeven 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.
Aanwijzerpositie
De positie van de aanwijzer vertegenwoordigt de punt van de controller die naar voren wijst.
De door het systeem opgegeven 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 een straal aanwijzen die het meest natuurlijk is voor dat virtuele object, zoals een straal die langs de loop van het door de app gedefinieerde pistoolmodel gaat. Omdat gebruikers het virtuele object kunnen zien en niet de fysieke controller, is het aanwijzen van het virtuele object 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 volgen sensoren de controllers in de headset zelf.
Als de gebruiker de controllers uit het gezichtsveld van de headset verplaatst, blijft Windows in de meeste gevallen de positie van de controller afleiden en deze aan de app verstrekken. Wanneer de controller lang genoeg visuele tracering verliest, nemen de posities van de controller af tot posities met een geschatte nauwkeurigheid.
Op dit punt vergrendelt de hoofdtekst van het systeem de controller voor de gebruiker, waarbij de positie van de gebruiker wordt gevolgd terwijl ze zich verplaatsen, 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 het expliciet bijhouden van de status
Apps die verschillende posities willen behandelen op basis van de traceringsstatus, kunnen verder gaan en eigenschappen van de status van de controller inspecteren, zoals SourceLossRisk en PositionAccuracy:
| Status bijhouden | SourceLossRisk | PositionAccuracy | TryGetPosition |
|---|---|---|---|
| Hoge nauwkeurigheid | < 1.0 | Hoog | Waar |
| Hoge nauwkeurigheid (risico op verlies) | == 1,0 | Hoog | Waar |
| Geschatte nauwkeurigheid | == 1,0 | Geschatte | Waar |
| Geen positie | == 1,0 | Geschatte | Valse |
Deze bewegingscontrollerstatussen worden als volgt gedefinieerd:
- Hoge nauwkeurigheid: Hoewel de bewegingscontroller zich binnen het gezichtsveld van de headset bevindt, biedt deze over het algemeen zeer nauwkeurige posities, op basis van visuele tracking. Een bewegende controller die tijdelijk het gezichtsveld verlaat of tijdelijk wordt verborgen voor de headsetsensoren (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 verplaatst, kan de headset de positie van de controller niet visueel volgen. De app weet wanneer de controller deze FOV-grens bereikt door het SourceLossRisk-bereik 1.0 te zien. Op dat moment kan de app ervoor kiezen om controllerbewegingen te onderbreken waarvoor een gestage stroom van hoogwaardige poses is vereist.
- Nauwkeurigheid bij benadering: Wanneer de controller lang genoeg visuele tracering verliest, nemen de posities van de controller af tot posities met een geschatte nauwkeurigheid. Op dit punt vergrendelt de hoofdtekst van het systeem de controller voor de gebruiker, waarbij de positie van de gebruiker wordt gevolgd terwijl ze zich verplaatsen, 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 het doorheegt. 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 periode een genereuzer hitbox te geven voor doelen buiten het scherm.
- Geen positie: Hoewel de controller lange tijd bij benadering nauwkeurig kan werken, weet het systeem soms dat zelfs een met de body vergrendelde positie op dit moment niet zinvol is. Een controller die is ingeschakeld, kan bijvoorbeeld niet visueel worden 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, Duimstick en Home.
- Selecteren is de primaire interactie om een hologram te activeren, 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. Zie Selecteren 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 hoe gebruikers rechtstreeks actie kunnen ondernemen op objecten bij hun hand 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 status, een aangeraakte status en genormaliseerde XY-coördinaten. X en Y variëren van -1 tot 1 in het 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 bevindt -1 zich aan de onderkant en 1 aan de bovenkant.
- Duimstick stelt de gebruiker in staat om een actie in twee dimensies aan te passen door de duimstick van een bewegingscontroller binnen het cirkelbereik te verplaatsen en de actie vast te zetten 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 in het 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 bevindt -1 zich 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 Start 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
Handbewegingen en 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 op hoog niveau detecteren, ongeacht of gebruikers handen of controllers gebruiken.
Het bewegingscontrollermodel weergeven
3D-controllermodellen Windows stelt 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 laten 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 misschien raycasten naar uw scène vanaf de aanwijzerpositie, die de ray vertegenwoordigt waarover gebruikers natuurlijk moeten 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.
2D-controllerregelafbeelding Hoewel het raadzaam is om in-app controllertips en -opdrachten te koppelen aan de in-app-controllermodellen zelf, willen sommige ontwikkelaars mogelijk 2D-regeltekeningen van de bewegingscontrollers gebruiken in de platte 'zelfstudie' of 'instructie'-gebruikersinterface. Voor deze ontwikkelaars hebben we .png bewegingscontroller line art-bestanden beschikbaar gemaakt in zowel zwart als wit hieronder (klik met de rechtermuisknop om op te slaan).
Schermopname van de regeltekening van de bewegingscontrollers met volledige resolutie in 'wit'
Schermopname van de regeltekening van de 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 zo nodig automatisch bijgewerkt bij de verbinding. Firmware-updates duren meestal 1-2 minuten, afhankelijk van de bluetooth-radio en de kwaliteit van de koppeling. 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 verbinding gemaakt met de host-pc (mogelijk ziet u dat de LED's helder worden voor tracering). Als een firmware-update wordt onderbroken (bijvoorbeeld omdat de controllers stroom verliezen), wordt de volgende keer dat de controllers worden ingeschakeld, opnieuw geprobeerd.
Hoe kan ik het batterijniveau controleren?
In de Windows Mixed Reality thuis kunt u de controller omdraaien om het batterijniveau aan de andere kant van het virtuele model te bekijken. Er is geen fysieke batterijniveau-indicator.
Kunt u deze controllers zonder headset gebruiken? Alleen voor de invoer van de joystick/trigger/etc?
Niet voor Universele Windows-toepassingen.
Problemen oplossen
Zie problemen met bewegingscontrollers oplossen in de Handleiding voor liefhebbers.
Feedback/bugs van de bewegingscontroller indienen
Geef ons feedback in de Feedback-hub, met behulp van de categorie 'Mixed Reality -> Invoer'.