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

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

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

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

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

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

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

Event FlowПоток событий.

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

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