Översikt över indata – MRTK2

Med indatasystemet i MRTK kan du:

  • Använd indata från en mängd olika indatakällor, till exempel 6 DOF-styrenheter, ledade händer eller tal, via indatahändelser.
  • Definiera abstrakta åtgärder, till exempel Välj eller Meny, och associera dem med olika indata.
  • Installationspekare som är kopplade till kontrollanter för att driva UI-komponenter via fokus- och pekarhändelser.
Input SystemÖversikt över indatasystem för MRTK-indatasystem

Indata produceras av indataleverantörer (Enhetshanteraren). Varje leverantör motsvarar en viss källa för indata: Open VR, Windows Mixed Reality (WMR), Unity Joystick, Windows Speech osv. Leverantörer läggs till i projektet via profilen för registrerade tjänstleverantörer i komponenten Mixed Reality Toolkit och skapar indatahändelser automatiskt när motsvarande indatakällor är tillgängliga (t.ex. när en WMR-kontrollant identifieras eller en spelplatta är ansluten).

Indataåtgärder är abstraktioner över råa indata som är avsedda att hjälpa till att isolera programlogik från de specifika indatakällor som genererar indata. Det kan till exempel vara användbart att definiera en Select-åtgärd och mappa den till den vänstra musknappen, en knapp i en spelplatta och en utlösare i en 6 DOF-kontrollant. Du kan sedan låta din programlogik lyssna efter Select input action events ( Välj indataåtgärdshändelser) i stället för att behöva vara medveten om alla olika indata som kan producera den. Indataåtgärder definieras i profilen för indataåtgärder som finns i indatasystemprofilen i komponenten Mixed Reality Toolkit.

Kontrollanter skapas av indataprovidrar när indataenheter identifieras och förstörs när de tappas bort eller kopplas från. WMR-indataprovidern skapar till exempel WMR-styrenheter för 6 DOF-enheter och WMR-ledade handstyrenheter för ledade händer. Kontrollantindata kan mappas till indataåtgärder via styrenhetsmappningsprofilen i indatasystemprofilen. Indatahändelser som genereras av kontrollanter inkluderar den associerade indataåtgärden, om det finns några.

Kontrollanter kan ha pekare kopplade till sig som frågar scenen för att fastställa spelobjektet med fokus och höja pekarhändelser på det. Till exempel utför vår linjepekare en raycast mot scenen med hjälp av kontrollantens pose för att beräkna strålens ursprung och riktning. Pekarna som skapas för varje kontrollant konfigureras i pekarprofilen under indatasystemprofilen.

Händelseflöde Händelseflöde.

Även om du kan hantera indatahändelser direkt i UI-komponenter rekommenderar vi att du använder pekarhändelser för att hålla implementeringen enhetsoberoende.

MRTK tillhandahåller också flera bekvämlighetsmetoder för att fråga indatatillstånd direkt på ett enhetsoberoende sätt. Mer information finns i Åtkomst till indatatillstånd i MRTK .