Condividi tramite


Azioni di input - MRTK2

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, definire un'azione Select ed eseguirne il mapping al pulsante sinistro del mouse, un pulsante in un game pad e un trigger in un controller DOF 6. È quindi possibile restare in ascolto della logica dell'applicazione per Selezionare gli eventi di azione di input invece di dover essere consapevoli di tutti i diversi input che possono produrlo.

Creazione di un'azione di input

Le azioni di input vengono configurate nel profilo delle azioni di input, all'interno del profilo di sistema di input nel componente Realtà mista Toolkit, specificando un nome per l'azione e il tipo di input (vincolo asse) a cui è possibile eseguire il mapping:

Azione di input

Questi sono i valori più comunemente usati per vincolo asse:

Vincolo asse Descrizione
Digitale Input attivato/disattivato come un pulsante binario in un game pad o mouse.
Asse singolo Input analogico ad asse singolo come un trigger analogico in un game pad.
Asse doppio Input analogico dell'asse doppio come una levetta.
Sei Dof Posa 3D con traslazione e rotazione come quella prodotta da 6 controller DOF.

È possibile trovare l'elenco completo in AxisType.

Mapping dell'input alle azioni

Il modo in cui si esegue il mapping di un input a e un'azione dipende dal tipo dell'origine di input:

Input del controller

Passare al profilo di mapping dell'input del controller, in Profilo di sistema di input. Verrà visualizzato un elenco di tutti i controller supportati:

Profilo di mapping di input

Selezionare quello che si vuole configurare e verrà visualizzata una finestra di dialogo con tutti gli input del controller, consentendo di impostare un'azione per ognuno di essi:

Assegnazione di azioni di input

Input vocale

Nel profilo del comando voce, sotto il profilo di sistema di input, troverai l'elenco dei comandi vocali attualmente definiti. Per eseguire il mapping di uno di essi a un'azione, selezionarlo nell'elenco a discesa Azione .

Profilo comandi vocali

Input movimento

Il profilo movimenti, sotto il profilo di sistema di input, contiene tutti i movimenti definiti. È possibile eseguire il mapping di ognuno di essi a un'azione selezionandolo nell'elenco a discesa Azione .

Profilo movimento

Gestione delle azioni di input

Avviso

Attualmente è possibile gestire solo le azioni di input del tipo digitale usando i metodi descritti in questa sezione. Per altri tipi di azione, è necessario gestire direttamente gli eventi per gli input corrispondenti. Ad esempio, per gestire un'azione DOF 6 mappata agli input del controller, è necessario usare IMixedRealityGestureHandler<T> con T = MixedRealityPose.

Il modo più semplice per gestire le azioni di input consiste nell'usare lo InputActionHandler script. In questo modo è possibile definire l'azione che si vuole ascoltare e reagire agli eventi avviati e terminati usando gli eventi unity.

Gestore Acton

Se si vuole un maggiore controllo, è possibile implementare l'interfaccia IMixedRealityInputActionHandler direttamente nello script. Per altri dettagli sulla gestione degli eventi tramite interfacce del gestore, vedere la sezione Eventi di input .

Esempio

Vedere MRTK/Examples/Demos/Input/Scenes/InputActions per una scena di esempio che illustra come creare un'azione, eseguirne il mapping agli input controller, voce e movimento e usarla per ruotare un oggetto sul comando.

Esempio di azione di input