Поделиться через


Общие сведения о входных данных — MRTK2

Система ввода в MRTK позволяет:

  • Используйте входные данные из различных источников ввода, таких как 6 контроллеров DOF, руками или речью, с помощью событий ввода.
  • Определите абстрактные действия, такие как Выбор или Меню, и свяжите их с различными входными данными.
  • Установка указателей, подключенных к контроллерам, для управления компонентами пользовательского интерфейса с помощью событий фокуса и указателя.
Общиесведения о системе ввода MRTK

Входные данные создаются поставщиками входных данных (диспетчер устройств). Каждый поставщик соответствует определенному источнику входных данных: Open VR, Windows Mixed Reality (WMR), Джойстик Unity, Речь Windows и т. д. Поставщики добавляются в проект с помощью профиля зарегистрированных поставщиков услуг в компоненте Смешанная реальность Toolkit и автоматически создают события ввода при наличии соответствующих источников входных данных (например, при обнаружении контроллера WMR или подключении геймпада).

Действия ввода — это абстракции для необработанных входных данных, которые помогают изолировать логику приложения от конкретных источников входных данных, создающих входные данные. Например, можно определить действие Select и сопоставить его с левой кнопкой мыши, кнопкой на геймпаде и триггером в 6 контроллере DOF. Затем логика приложения может прослушивать события действия ввода Select вместо того, чтобы учитывать все различные входные данные, которые могут его создать. Действия ввода определяются в профиле действий ввода, который находится в системном профиле входных данных компонента Смешанная реальность Toolkit.

Контроллеры создаются поставщиками входных данных при обнаружении и уничтожении устройств ввода при их потере или отключении. Например, поставщик входных данных WMR создаст контроллеры WMR для 6 устройств DOF и контроллеры рук с шарнирными руками WMR . Входные данные контроллера можно сопоставить с действиями ввода с помощью профиля сопоставления контроллера внутри системного профиля входных данных. События входных данных, создаваемые контроллерами, будут включать связанное действие ввода, если таковое имеется.

К контроллерам могут быть прикреплены указатели , которые запрашивают сцену, чтобы определить игровой объект с фокусом и вызвать на нем события указателя . Например, наш указатель линии выполняет луч, направленный на сцену, используя позу контроллера для вычисления происхождения и направления луча. Указатели, созданные для каждого контроллера, настраиваются в профиле указателя в разделе Входной системный профиль.

Потоксобытий потока событий.

Хотя события ввода можно обрабатывать непосредственно в компонентах пользовательского интерфейса, рекомендуется использовать события указателя , чтобы обеспечить независимость устройства реализации.

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