Действия ввода

Входные действия — это абстракции для необработанных входных данных, которые предназначены для изоляции логики приложения от определенных входных источников, производящих входные данные. Это может быть полезно, например, для определения действия SELECT и его соотнесения с левой кнопкой мыши, кнопкой на игровом поле и триггером в 6 ДОФ контроллере. Затем можно настроить для приложения логику прослушивания событий выбора входных действий вместо того, чтобы знать все различные входные данные, которые могут его создать.

Создание действия ввода

входные действия настраиваются в профиле входных действий во входном системном профиле в компоненте набор средств смешанной реальности указание имени действия и типа входных данных (ограничение оси), с которым она может быть сопоставлена:

Input Action

Это наиболее часто используемые значения для ограничения оси:

Ограничение оси Описание
Цифровой Включение и выключение входных данных, таких как двоичная кнопка на планшете или в мыши.
Одна ось Аналоговый ввод на одной оси, например Аналоговый триггер на игровом планшете.
Двойная ось Аналоговый ввод с двойной оси, например аналоговый стик.
Шесть ДОФ Трехмерная часть с переводом и поворотом, например с помощью 6 ДОФ контроллеров.

Полный список можно найти в AxisType .

Сопоставление входных данных с действиями

Способ соответствия входных данных и действий зависит от типа источника входных данных.

Входные данные контроллера

Перейдите в профиль сопоставления входных данных контроллера в системном профиле входной системы. Здесь вы найдете список всех поддерживаемых контроллеров:

Input maping profile

Выберите тот, который требуется настроить, и появится диалоговое окно со всеми входными данными контроллера, позволяющими задать действие для каждого из них:

Input Action Assignment

Ввод речи

В профиле команды распознавания речи в системном профиле входной системы можно найти список команд речи, определенных в настоящий момент. Чтобы связать один из них с действием, просто выберите его в раскрывающемся списке действий .

Speech Commands profile

Ввод с жестом

Профиль жестов в системном профиле входных данных содержит все определенные жесты. Каждое из них можно связать с действием, выбрав его в раскрывающемся списке действий .

Gesture profile

Обработка входных действий

Предупреждение

В настоящее время только входные действия цифрового типа могут обрабатываться с помощью методов, описанных в этом разделе. Для других типов действий необходимо вместо этого выполнять обработку непосредственно событий для соответствующих входных данных. Например, для выполнения 6 действия ДОФ, сопоставленного с входными данными контроллера, необходимо использовать IMixedRealityGestureHandler<T> с T = MixedRealityPose .

Самый простой способ обработать входные действия — использовать InputActionHandler сценарий. Это позволяет определить действие, которое требуется прослушивать и реагировать на события, запущенные и завершенные действием, с помощью событий Unity.

Acton Handler

Если требуется больший контроль, можно реализовать IMixedRealityInputActionHandler интерфейс непосредственно в скрипте. Дополнительные сведения об обработке событий с помощью интерфейсов обработчиков см. в разделе входные события .

Примеры

См MRTK/Examples/Demos/Input/Scenes/InputActions . пример сцены, показывающий, как создать действие, преобразовать его в входные данные контроллера, речи и жестов и использовать для поворота объекта в команде.

Input action example