Invoeroverzicht — MRTK2
Met het invoersysteem in MRTK kunt u het volgende doen:
- Gebruik invoer uit verschillende invoerbronnen, zoals 6 DOF-controllers, gearticuleerde handen of spraak, via invoergebeurtenissen.
- Definieer abstracte acties, zoals Selecteren of Menu, en koppel deze aan verschillende invoerwaarden.
- Stel aanwijzers in die zijn gekoppeld aan controllers om UI-onderdelen te besturen via focus- en aanwijzer-gebeurtenissen.
Invoer wordt geproduceerd door invoergegevensproviders (Apparaatbeheer). Elke provider komt overeen met een bepaalde invoerbron: Open VR, Windows Mixed Reality (WMR), Unity Joystick, Windows Speech, enzovoort. Providers worden aan uw project toegevoegd via het profiel Geregistreerde serviceproviders in het onderdeel Mixed Reality Toolkit en produceren automatisch invoergebeurtenissen wanneer de bijbehorende invoerbronnen beschikbaar zijn (bijvoorbeeld wanneer een WMR-controller wordt gedetecteerd of een gamepad is verbonden).
Invoeracties zijn abstracties van onbewerkte invoer die bedoeld zijn om toepassingslogica te isoleren van de specifieke invoerbronnen die een invoer produceren. Het kan bijvoorbeeld handig zijn om een actie Selecteren te definiëren en deze toe te wijzen aan de linkermuisknop, een knop in een gamepad en een trigger in een 6 DOF-controller. Vervolgens kunt u uw toepassingslogica laten luisteren naar invoeractie-gebeurtenissen selecteren in plaats van op de hoogte te zijn van alle verschillende invoer die deze kan produceren. Invoeracties worden gedefinieerd in het profiel Voor invoeracties, dat te vinden is in het invoersysteemprofiel in het onderdeel Mixed Reality Toolkit.
Controllers worden gemaakt door invoerproviders wanneer invoerapparaten worden gedetecteerd en vernietigd wanneer ze verloren gaan of de verbinding verbreken. De WMR-invoerprovider maakt bijvoorbeeld WMR-controllers voor 6 DOF-apparaten en WMR-gelede handcontrollers voor gelede handen. Controllerinvoer kan worden toegewezen aan invoeracties via het controllertoewijzingsprofiel, in het invoersysteemprofiel. Invoerevenementen die door controllers worden gegenereerd, bevatten de bijbehorende invoeractie, indien van toepassing.
Aan controllers kunnen aanwijzers zijn gekoppeld die een query uitvoeren op de scène om het gameobject met de focus te bepalen en aanwijzer-gebeurtenissen erop te verhogen. De lijnaanwijzer voert bijvoorbeeld een raycast uit op de scène met behulp van de controllerhouding om de oorsprong en richting van de straal te berekenen. De aanwijzers die voor elke controller zijn gemaakt, worden ingesteld in het aanwijzerprofiel, onder het invoersysteemprofiel.
Gebeurtenisstroom.Hoewel u invoergebeurtenissen rechtstreeks in UI-onderdelen kunt afhandelen, is het raadzaam aanwijzergebeurtenissen te gebruiken om de implementatie apparaatonafhankelijk te houden.
MRTK biedt ook verschillende handige methoden om de invoerstatus rechtstreeks op een apparaatonafhankelijke manier op te vragen. Zie Toegang tot invoerstatus in MRTK voor meer informatie.