XRInputSource
Ограниченная доступность
Эта функция не относится к Базовому уровню, так как она не работает во всех популярных браузерах.
Безопасный контекст: Эта функция доступна только в безопасных контекстах (HTTPS) в некоторых или во всех поддерживающих браузерах.
Интерфейс XRInputSource API WebXR Device описывает единственный источник управления вводом, который является частью виртуальной или дополненной реальности пользователя, совместимой с WebXR. Устройство специфично для используемой платформы, но предоставляет направление, в котором оно направлено, и, при необходимости, генерирует события, если пользователь выполняет действия с помощью устройства.
Свойства экземпляра
-
gamepadТолько для чтения -
Объект
Gamepad, описывающий состояние кнопок и осей на источнике ввода XR, если это джойстик или аналогичное устройство. Если устройство не является устройством типа джойстика, значение этого свойства равноnull. -
gripSpaceТолько для чтения -
Пространство
XRSpace, чьё начало отслеживает положение, используемое для рендеринга объектов, которые должны отображаться так, как будто они держатся в руке, указанной вhandedness. Ориентация этого пространства указывает угол, под которым рука сжимает объект. Подробнее о том, как использовать это пространство, читайте в основной статье оgripSpace. -
handТолько для чтения -
Объект
XRHand, предоставляющий доступ к базовому устройству отслеживания руки. -
handednessТолько для чтения -
Строка, указывающая, какая рука используется устройством, представленным этим
XRInputSource, если таковая имеется. Значение будетleft,right, илиnone. -
profilesТолько для чтения -
Массив строк, каждая из которых указывает имя профиля ввода, описывающего предпочтительное визуальное представление и поведение этого источника ввода.
-
targetRayModeТолько для чтения -
Строка, указывающая метод, используемый для создания луча цели:
gaze,tracked-pointer, илиscreen. -
targetRaySpaceТолько для чтения -
Объект
XRSpace, определяющий начало луча цели и направление его распространения. Это пространство создаётся с помощью метода, определённого вtargetRayMode.
Методы экземпляра
Интерфейс XRInputSource не определяет методов.
Примечания по использованию
Действия и луч цели
Если устройство предоставляет указание направления, в котором оно направлено, это делается с помощью луча цели. Это луч, выходящий из положения устройства в направлении, в котором оно направлено.
Луч цели, испускаемый контроллером руки.

Если устройство включает триггер или другой нажимной элемент ввода, такой как устройство отслеживания жестов руки, распознающее, когда пользователь сжимает кулак, это действие называется основным действием сжатия. Основное действие сжатия должно соответствовать действию сжатия в реальности, например, взятию предмета или нажатию триггера на инструменте или оружии. Когда действие сжатия начинается, например, когда пользователь нажимает на триггер или сжимает хватку, в XRSession отправляется событие squeezestart. После завершения действия, когда пользователь отпустил триггер или хватку, отправляется событие squeeze. За ним следует squeezeend, которое также отправляется, если действие прервано, а не завершено.
Если устройство имеет кнопку или другой элемент нажатия ввода, это основной источник ввода, а эта кнопка — основное действие. Основное действие может произойти при нажатии пользователем кнопки, нажатии на сенсорную панель или верхней кнопке джойстика, или при использовании жеста руки или голосового управления, вызывающего действие типа кнопки. Когда основное действие начинается, в XRSession отправляется событие selectstart. Когда действие завершено (например, когда пользователь отпустил кнопку), отправляется событие select. Наконец, после этого — или если пользователь прерывает действие — в объект сессии отправляется событие selectend.
Действие может быть прервано либо пользователем определённым способом, специфичным для устройства, либо если устройство ввода отключено до завершения действия.
Локальная система координат
Каждый источник ввода имеет свою локальную систему координат, которая описывается свойством gripSpace, которое является пространством XRSpace, используемым для отображения системы координат ввода в глобальной системе координат. Система координат пространства захвата может затем использоваться для рендеринга объектов так, чтобы они казались находящимися в руке пользователя.
Для получения более подробной информации о системе координат источника ввода см. статью, которая подробно описывает свойство gripSpace.
Спецификации
| Спецификация |
|---|
| API WebXR Device # xrinputsource-interface |
Совместимость с браузерами
| Рабочий стол | Мобильный телефон | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari на IOS | Samsung Internet | WebView Android | |
XRInputSource |
79 | 79 | Нет | 66 | Нет | 79 | Нет | 57 | Нет | 11.2 | Нет |
gamepad |
79 | 79 | Нет | 66 | Нет | 79 | Нет | 57 | Нет | 11.2 | Нет |
gripSpace |
79 | 79 | Нет | 66 | Нет | 79 | Нет | 57 | Нет | 11.2 | Нет |
hand |
131 | 93–111Только Hololens 2. |
Нет | 116 | Нет | 131 | Нет | Нет | Нет | Нет | Нет |
handedness |
79 | 79 | Нет | 66 | Нет | 79 | Нет | 57 | Нет | 11.2 | Нет |
profiles |
79 | 79 | Нет | 66 | Нет | 79 | Нет | 57 | Нет | 11.2 | Нет |
targetRayMode |
79 | 79 | Нет | 66 | Нет | 79 | Нет | 57 | Нет | 11.2 | Нет |
targetRaySpace |
79 | 79 | Нет | 66 | Нет | 79 | Нет | 57 | Нет | 11.2 | Нет |
См. также
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/XRInputSource