Overzicht van invoer

Met het invoersysteem in MRTK kunt u het volgende doen:

  • Gebruik invoer van verschillende invoerbronnen, zoals 6 DOF-controllers, verwoorde handen of spraak, via invoergebeurtenissen.
  • Definieer abstracte acties, zoals Selecteren of Menu, en koppel deze aan verschillende invoer.
  • Setup-aanwijzers die zijn gekoppeld aan controllers om UI-onderdelen te maken via focus- en aanwijzergebeurtenissen.
Input System Overzicht van MRTK-invoersysteem

Invoer wordt geproduceerd door Invoergegevensproviders (Apparaatbeheer). Elke provider komt overeen met een bepaalde invoerbron: Open VR, Windows Mixed Reality (WMR), Unity Unity Unity, 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 is bedoeld 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 wijs aan de linkermuisknop, een knop in een gamepad en een trigger in een 6 DOF-controller. Vervolgens kunt u uw toepassingslogica laten luisteren naar Actiegebeurtenissen voor invoer selecteren in plaats van dat u zich bewust moet zijn van alle verschillende invoer die de actie kan produceren. Invoeracties worden gedefinieerd in het profiel Voor invoeracties, te vinden in het invoersysteemprofiel in het Mixed Reality Toolkit onderdeel.

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-handcontrollers voor verwoorde handen. Controllerinvoer kan worden toegewezen aan invoeracties via het controllertoewijzingsprofiel in het invoersysteemprofiel. Invoergebeurtenissen die worden verhoogd door controllers bevatten de bijbehorende invoeractie, indien aanwezig.

Aan controllers kunnen pointers zijn gekoppeld die een query uitvoeren op de scène om het gameobject met focus te bepalen en pointergebeurtenissen te verhogen. Als voorbeeld voert onze lijnwijzer 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.

Event Flow Gebeurtenisstroom.

Hoewel u invoergebeurtenissen rechtstreeks in UI-onderdelenkunt verwerken, is het raadzaam om pointergebeurtenissen te gebruiken om de implementatie apparaat-onafhankelijk te houden.

MRTK biedt ook verschillende handige methoden om de invoertoestand rechtstreeks op een apparaat-onafhankelijke manier op te vragen. Zie Toegang tot de invoertoestand in MRTK voor meer informatie.