Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Действия ввода — это абстракции для необработанных входных данных, которые помогают изолировать логику приложения от конкретных источников входных данных, создающих входные данные. Например, можно определить действие Выбрать и сопоставить его с левой кнопкой мыши, кнопкой на геймпаде и триггером в 6 контроллере DOF. Затем логика приложения может прослушивать события действия выбора входных данных вместо того, чтобы учитывать все различные входные данные, которые могут его создать.
Создание действия ввода
Действия ввода настраиваются в профиле входных действий, в профиле системы ввода в компоненте Смешанная реальность Toolkit, указывая имя действия и тип входных данных (ограничение оси), с которым оно может быть сопоставлено:
Ниже приведены наиболее часто используемые значения для ограничения оси:
| Ограничение оси | Описание |
|---|---|
| Цифровой | Входные данные, например двоичная кнопка на геймпаде или мыши. |
| Одна ось | Одноосный аналоговый вход, например аналоговый триггер на геймпаде. |
| Двойная ось | Аналоговый вход с двумя оси, например стик. |
| Шесть Dof | Трехмерная поза с преобразованием и поворотом, как в 6 контроллерах DOF. |
Полный список можно найти в AxisType.
Сопоставление входных данных с действиями
Способ сопоставления входных данных и действия зависит от типа источника входных данных:
Входные данные контроллера
Перейдите к профилю сопоставления входных данных контроллера в разделе Входной системный профиль. Здесь вы найдете список всех поддерживаемых контроллеров:
Выберите тот, который нужно настроить, и появится диалоговое окно со всеми входными данными контроллера, позволяющее задать действие для каждого из них:
Ввод речи
В профиле речевых команд в разделе Входной системный профиль вы найдете список определенных в настоящее время речевых команд. Чтобы сопоставить один из них с действием, просто выберите его в раскрывающемся списке Действие .
Ввод жеста
Профиль жестов в профиле системы ввода содержит все определенные жесты. Вы можете сопоставить каждый из них с действием, выбрав его в раскрывающемся списке Действие .
Обработка входных действий
Предупреждение
В настоящее время с помощью методов, описанных в этом разделе, можно обрабатывать только входные действия цифрового типа. Для других типов действий вам придется обрабатывать непосредственно события для соответствующих входных данных. Например, для обработки 6 действий DOF, сопоставленных с входными данными контроллера, необходимо использовать IMixedRealityGestureHandler<T> с T = MixedRealityPose.
Самый простой способ обработки действий ввода — использовать InputActionHandler скрипт. Это позволяет определить действие, которое вы хотите прослушивать и реагировать на запущенные и завершенные события действия с помощью событий Unity.
Если требуется больше контроля, можно реализовать IMixedRealityInputActionHandler интерфейс непосредственно в скрипте. Дополнительные сведения об обработке событий с помощью интерфейсов обработчиков см. в разделе События ввода.
Примеры
См. MRTK/Examples/Demos/Input/Scenes/InputActions пример сцены, в которой показано, как создать действие, сопоставить его с контроллером, речевыми и жестами ввода и использовать его для поворота объекта по команде.