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:
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 AxisType
souboru .
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ů:
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:
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 .
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 .
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.
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.