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:

Akcja wejściowa

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:

Profil mapowania danych wejściowych

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:

Przypisanie akcji wejściowej

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 .

Profil poleceń mowy

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 .

Profil gestu

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.

Program obsługi acton

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.

Przykład akcji wejściowej