XR параметры ввода
Основные варианты обработки ввода в XR игру или приложение включают:
- Набор инструментов взаимодействия XR
- OpenXR профили взаимодействия
- «Традиционный» ввод через Input System или менеджер ввода
- XR.InputDevice и XR.Node APIs
- Библиотеки ввода сторонних программ
В некоторых случаях можно использовать сразу несколько из этих вариантов. Например, с помощью XR Interaction Toolkit разрешить пользователю поднимать объекты в окружении, с помощью Input System привязать функцию паузы к кнопке контроллера и с помощью API XR.Node считывать состояние оборудования, чтобы анимировать GameObject контроллера.
Примечание: Плагин OpenXR, который поддерживает множество различных устройств и контроллеров XR, предоставляет свой собственный дополнительный способ доступа к данным ввода и отслеживания XR. Вы можете по-прежнему использовать XR Interaction Toolkit, Input System или XR.InputDevice и XR.Node APIs. (Устаревший менеджер ввода не поддерживается, когда вы используете плагин OpenXR.) См. Ввод в Unity OpenXR для получения дополнительной информации.
XR Набор инструментов взаимодействия
XR Набор инструментов взаимодействия основан на Input System и базе UnityEngine.XR API для поддержки XR ввода и взаимодействия. Он предоставляет почти готовый к использованию набор компонентов для обработки XR ввода и определения взаимодействия между пользователем и окружающей средой и сценой UI.
Набор инструментов взаимодействия XR предоставляет:
- Интеракторы: объекты в сцене, которые позволяют пользователю взаимодействовать со сценой GameObjects. Как правило, управляются XR контроллерами или руками пользователя.
- Интерактивные объекты: объекты в сцене, с которыми пользователь может взаимодействовать (используя интерактиватор).
- UI взаимодействие: поддерживает взаимодействие с UnityВстроенный UI элементы.
- Локомотив: поддерживает различные способы передвижения, включая непрерывное движение, телепортацию и подъем.
Input System или менеджер ввода
Вы можете получить доступ к контроллерам XR, таким как кнопки и джойстики, таким же образом, как и к любому игровому контроллеру. Для доступа к данным отслеживания используйте компоненты XR.InputTracking API в коде. Вы также можете использовать компоненты Input System TrackedPoseDriver для управления GameObject с отслеживаемым устройством, таким как HMD или контроллер. Компонент TrackedPoseDriver также доступен из пакета Legacy Input Helpers, если вы не используете Input System.
Примечание: При использовании плагина OpenXR необходимо использовать плагин Input System. Менеджер ввода не поддерживается.
XR Ввод отслеживания руки
Пакет XR Руки предоставляет доступ к данным отслеживания рук с поддерживающих его устройств XR. Для доступа к этим данным необходимо также использовать плагин поставщика XR, обновленный для поддержки отслеживания рук, например OpenXR версия 1.12.
Пакет XR Руки предоставляет следующее:
- XRHandTrackingSubsystem, который позволяет устройству XR отправлять данные руки в приложение Unity.
- руки отслеживания API Unity приложения могут использовать для доступа к данным.
- Оказание поддержки OpenXR Функция Meta Aim Hand расширение, которое обеспечивает жест нацеливания системы вместе с OpenXR вводные привязки для данных ручного отслеживания.
Ввод visionOS
Доступные варианты ввода на visionOS зависят от того, работает ли ваше приложение в оконном режиме, в режиме смешанной реальности или в режиме виртуальной реальности.
В оконном режиме жесты взгляда и прижатия пользователя переводятся операционной системой в события касания. Ваше приложение не имеет доступа к необработанным вводным данным. visionOS сообщает о максимуме двух точек касания.
В режиме смешанной реальности параметры ввода далее зависят от того, работает ли приложение в общем пространстве с другими приложениями или в погружающем пространстве. В общем пространстве ситуация аналогична окнообразному приложению; операционная система переводит движения глаз и рук пользователя в касательные жесты. В этом случае вы можете использовать Пространственный указатель для доступа к 3D касательным данным, а не только 2D. В погружающем пространстве вы также имеете доступ к 3D источнику луча и направлению взгляда пользователя в начале жеста. Кроме того, вы имеете доступ к ARKit данным, таким как отслеживание головы и руки, обнаружение плоскости, меши реконструкции сцены и отслеживание изображения.
В режиме виртуальной реальности вам доступны данные ARKit: отслеживание головы и рук, обнаружение плоскостей, меши реконструкции сцены и отслеживание изображений. (При этом недоступен Пространственный указатель или других компонентов, специфических для PolySpatial.)
Для получения дополнительной информации см. PolySpatial visionOS: Ввод.
XR Ввод APIs
API ввода XR предоставляет прямой доступ к вводу XR. Этот API позволяет найти подключённые XR-устройства и считать данные их отслеживания, а также состояние их устройств ввода.
См. Unity XR Вход для получения дополнительной информации о входе XR API.
Вклад третьей стороны APIs
Производители устройств и другие сторонние компании часто предоставляют свои собственные вводные данные и интерфейсы APIs, которые вы можете использовать вместо или в дополнение к тем, которые предоставляются Unity.