Condividi tramite


Panoramica dell'input - MRTK2

Il sistema di input in MRTK consente di:

  • Utilizza input da diverse origini di input, ad esempio 6 controller DOF, mani o voce articolati, tramite eventi di input.
  • Definire azioni astratte, ad esempio Select o Menu, e associarle a input diversi.
  • Impostare i puntatori collegati ai controller per guidare i componenti dell'interfaccia utente tramite eventi di messa a fuoco e puntatore.
Panoramica del sistema di inputdi MRTK

Gli input vengono generati da provider di dati di input (Gestione dispositivi). Ogni provider corrisponde a una determinata origine di input: Open VR, Windows Mixed Reality (WMR), Unity Joystick, Windows Speech e così via. I provider vengono aggiunti al progetto tramite il profilo Provider di servizi registrati nel componente Realtà mista Toolkit e produrranno automaticamente eventi di input quando sono disponibili le origini di input corrispondenti, ad esempio quando viene rilevato un controller WMR o un gamepad connesso.

Le azioni di input sono astrazioni sugli input non elaborati che consentono di isolare la logica dell'applicazione dalle origini di input specifiche che producono un input. Può essere utile, ad esempio, per definire un'azione Select e eseguirne il mapping al pulsante sinistro del mouse, un pulsante in un gamepad e un trigger in un controller DOF 6. È quindi possibile avere l'ascolto della logica dell'applicazione per Selezionare gli eventi di azione di input anziché dover essere consapevoli di tutti gli input diversi che possono produrre. Le azioni di input vengono definite nel profilo azioni di input, disponibili all'interno del profilo di sistema di input nel componente Realtà mista Toolkit.

I controller vengono creati dai provider di input quando i dispositivi di input vengono rilevati e eliminati quando vengono persi o disconnessi. Il provider di input WMR, ad esempio, creerà controller WMR per 6 dispositivi DOF e controller di mano articolati WMR per mani articolate . Gli input del controller possono essere mappati alle azioni di input tramite il profilo di mapping controller, all'interno del profilo di sistema di input. Gli eventi di input generati dai controller includono l'azione di input associata, se presente.

I controller possono avere puntatori collegati a loro che esegue una query sulla scena per determinare l'oggetto gioco con lo stato attivo e generare eventi puntatori su di esso. Ad esempio, il puntatore alla linea esegue un raycast sulla scena usando il controller posa per calcolare l'origine e la direzione del raggio. I puntatori creati per ogni controller vengono configurati nel profilo puntatore, nel profilo di sistema di input.

Flussodi eventi Flusso di eventi.

Anche se è possibile gestire gli eventi di input direttamente nei componenti dell'interfaccia utente, è consigliabile usare gli eventi puntatore per mantenere indipendente l'implementazione del dispositivo.

MRTK offre anche diversi metodi pratici per eseguire query sullo stato di input direttamente in modo indipendente dal dispositivo. Per altre informazioni, vedere Accesso allo stato di input in MRTK .