Vstupní akce – MRTK2

Vstupní akce jsou abstrakce nad nezpracovaným vstupem, které mají pomoct izolovat aplikační logiku od konkrétních vstupních zdrojů vytvářejících vstup. Může být užitečné například definovat akci Vybrat a namapovat ji na levé tlačítko myši, tlačítko v gamepadu a trigger v ovladači 6 DOF. Logika aplikace pak může naslouchat událostem akce Výběr vstupu, aniž byste museli znát všechny různé vstupy, které ji můžou vytvořit.

Vytvoření vstupní akce

Vstupní akce se konfigurují v profilu vstupních akcí uvnitř profilu vstupního systému v komponentě Mixed Reality Toolkit a určují název akce a typ vstupů (omezení osy), na které se dá namapovat:

Vstupní akce

Toto jsou nejčastěji používané hodnoty omezení osy:

Omezení osy Popis
Digital Zapnutí/vypnutí vstupu, jako je binární tlačítko na gamepadu nebo myši.
Jedna osa Analogový vstup s jednou osou, jako je analogová spoušť na gamepadu.
Duální osa Analogový vstup se dvěma osou, jako je kryptografický ovladač.
Šest dof 3D pozice s překladem a otáčením, jako je ta, kterou vyrábí 6 řadičů DOF.

Úplný seznam najdete v AxisTypesouboru .

Mapování vstupu na akce

Způsob mapování vstupu na a akci závisí na typu vstupního zdroje:

Vstup kontroleru

V části Profil vstupního systému přejděte na profil vstupního mapování kontroleru. Tady najdete seznam všech podporovaných kontrolerů:

Vstupní mapovací profil

Vyberte ten, který chcete nakonfigurovat, a zobrazí se dialogové okno se všemi vstupy kontroleru, které vám umožní nastavit akci pro každý z nich:

Přiřazení vstupní akce

Vstup řeči

V profilu příkazů řeči najdete v části Profil vstupního systému seznam aktuálně definovaných hlasových příkazů. Pokud chcete namapovat jednu z nich na akci, stačí ji vybrat v rozevíracím seznamu Akce .

Profil hlasových příkazů

Zadávání gest

Profil gest v části Profil vstupního systému obsahuje všechna definovaná gesta. Každou z nich můžete namapovat na akci tak, že ji vyberete v rozevíracím seznamu Akce .

Profil gest

Zpracování vstupních akcí

Upozornění

V současné době lze pomocí metod popsaných v této části zpracovávat pouze vstupní akce digitálního typu. U jiných typů akcí budete muset místo toho zpracovávat události přímo pro odpovídající vstupy. Například pro zpracování 6 akcí DOF mapovaných na vstupy kontroleru budete muset použít IMixedRealityGestureHandler<T> s T = MixedRealityPose.

Nejjednodušším způsobem, jak zpracovat vstupní akce, je použít InputActionHandler skript. To vám umožní definovat akci, kterou chcete poslouchat, a reagovat na akce zahájené a ukončené události pomocí událostí Unity.

Obslužná rutina actonu

Pokud chcete mít větší kontrolu, můžete rozhraní implementovat IMixedRealityInputActionHandler přímo ve skriptu. Další podrobnosti o zpracování událostí prostřednictvím rozhraní obslužných rutin najdete v části Vstupní události .

Příklady

Podívejte se MRTK/Examples/Demos/Input/Scenes/InputActions na ukázkovou scénu, která ukazuje, jak vytvořit akci, namapovat ji na ovladač, vstupy řeči a gest a použít ji k otočení objektu pomocí příkazu.

Příklad vstupní akce