Akcje wejściowe — MRTK2
Akcje wejściowe to abstrakcje nieprzetworzonych danych wejściowych, które ułatwiają izolowanie logiki aplikacji z określonych źródeł wejściowych generujących dane wejściowe. Może to być przydatne, na przykład, aby zdefiniować akcję Wybierz i zamapować ją na lewy przycisk myszy, przycisk w gamepad i wyzwalacz w kontrolerze DOF 6. Następnie logika aplikacji może nasłuchiwać zdarzeń akcji Select input zamiast mieć świadomość wszystkich różnych danych wejściowych, które mogą je wygenerować.
Tworzenie akcji wejściowej
Akcje wejściowe są konfigurowane w profilu akcji wejściowych w profilu systemu danych wejściowych w składniku Mixed Reality Toolkit, określając nazwę akcji i typ danych wejściowych (ograniczenie osi) do:
Są to najczęściej używane wartości ograniczenia osi:
Ograniczenie osi | Opis |
---|---|
Digital | Włączone/wyłączone dane wejściowe, takie jak przycisk binarny w gamepad lub myszy. |
Pojedyncza oś | Wejście analogowe z jedną osią, takie jak wyzwalacz analogowy w gamepad. |
Oś podwójna | Wejście analogowe z podwójną osią, takie jak szminka. |
Sześć dof | 3D pozuje z tłumaczeniem i rotacją, jak ten wyprodukowany przez 6 kontrolerów DOF. |
Pełną listę można znaleźć w pliku AxisType
.
Mapowanie danych wejściowych na akcje
Sposób mapowania danych wejściowych i akcji zależy od typu źródła danych wejściowych:
Dane wejściowe kontrolera
Przejdź do profilu mapowania danych wejściowych kontrolera w obszarze Profil systemu wejściowego. Zostanie wyświetlona lista wszystkich obsługiwanych kontrolerów:
Wybierz ten, który chcesz skonfigurować, a zostanie wyświetlone okno dialogowe ze wszystkimi danymi wejściowymi kontrolera, co pozwala ustawić akcję dla każdego z nich:
Dane wejściowe mowy
W profilu polecenia mowy w profilu systemu wejściowego znajdziesz listę aktualnie zdefiniowanych poleceń mowy. Aby zamapować jedną z nich na akcję, po prostu wybierz ją na liście rozwijanej Akcja .
Wprowadzanie gestów
Profil gestów w profilu systemu wejściowego zawiera wszystkie zdefiniowane gesty. Każdy z nich można mapować na akcję, wybierając ją na liście rozwijanej Akcja .
Obsługa akcji wejściowych
Ostrzeżenie
Obecnie można obsłużyć tylko akcje wejściowe typu cyfrowego przy użyciu metod opisanych w tej sekcji. W przypadku innych typów akcji należy zamiast tego obsługiwać zdarzenia bezpośrednio dla odpowiednich danych wejściowych. Aby na przykład obsłużyć akcję 6 DOF mapowanej na dane wejściowe kontrolera, musisz użyć IMixedRealityGestureHandler<T>
polecenia Z T = MixedRealityPose
.
Najprostszym sposobem obsługi akcji wejściowych jest użycie skryptu InputActionHandler
. Dzięki temu można zdefiniować akcję, którą chcesz nasłuchiwać i reagować na rozpoczęte i zakończone zdarzenia przy użyciu zdarzeń aparatu Unity.
Jeśli chcesz mieć większą kontrolę, możesz zaimplementować IMixedRealityInputActionHandler
interfejs bezpośrednio w skrycie. Zobacz sekcję Zdarzenia wejściowe, aby uzyskać więcej informacji na temat obsługi zdarzeń za pośrednictwem interfejsów programu obsługi.
Przykłady
Zobacz MRTK/Examples/Demos/Input/Scenes/InputActions
przykładową scenę przedstawiającą sposób tworzenia akcji, mapowania jej na dane wejściowe kontrolera, mowy i gestów oraz używania jej do obracania obiektu w poleceniu.