Spec-Zone.ru › Web APIs

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 не определяет методов.

Примечания по использованию

Действия и луч цели

Если устройство предоставляет указание направления, в котором оно направлено, это делается с помощью луча цели. Это луч, выходящий из положения устройства в направлении, в котором оно направлено.

Луч цели, испускаемый контроллером руки.

A screenshot showing a target ray being emitted by a hand controller

Если устройство включает триггер или другой нажимной элемент ввода, такой как устройство отслеживания жестов руки, распознающее, когда пользователь сжимает кулак, это действие называется основным действием сжатия. Основное действие сжатия должно соответствовать действию сжатия в реальности, например, взятию предмета или нажатию триггера на инструменте или оружии. Когда действие сжатия начинается, например, когда пользователь нажимает на триггер или сжимает хватку, в XRSession отправляется событие squeezestart. После завершения действия, когда пользователь отпустил триггер или хватку, отправляется событие squeeze. За ним следует squeezeend, которое также отправляется, если действие прервано, а не завершено.

Если устройство имеет кнопку или другой элемент нажатия ввода, это основной источник ввода, а эта кнопка — основное действие. Основное действие может произойти при нажатии пользователем кнопки, нажатии на сенсорную панель или верхней кнопке джойстика, или при использовании жеста руки или голосового управления, вызывающего действие типа кнопки. Когда основное действие начинается, в XRSession отправляется событие selectstart. Когда действие завершено (например, когда пользователь отпустил кнопку), отправляется событие select. Наконец, после этого — или если пользователь прерывает действие — в объект сессии отправляется событие selectend.

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

Локальная система координат

Каждый источник ввода имеет свою локальную систему координат, которая описывается свойством gripSpace, которое является пространством XRSpace, используемым для отображения системы координат ввода в глобальной системе координат. Система координат пространства захвата может затем использоваться для рендеринга объектов так, чтобы они казались находящимися в руке пользователя.

A diagram showing the coordinate system defined by the gripSpace property

Для получения более подробной информации о системе координат источника ввода см. статью, которая подробно описывает свойство 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 Нет

См. также

  • API устройства WebXR
  • Входы и источники ввода
  • XRInputSourceArray
  • XRSpace

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API