Spec-Zone.ru › Web APIs

XRInputSource: свойство handedness

Ограниченная доступность

Эта функция не относится к Baseline, так как она не работает во всех широко используемых браузерах.

  • Подробнее
  • Полная совместимость
  • Отправить отзыв

Безопасный контекст: Эта функция доступна только в безопасных контекстах (HTTPS) в некоторых или во всех поддерживающих браузерах.

Только для чтения XRInputSource свойство handedness указывает, с какой из рук пользователя связан источник ввода WebXR, или же если он вообще не связан с рукой.

Значение

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

none

Контроллер ввода не связан ни с одной из рук пользователя.

left

Контроллер ввода находится в левой руке пользователя, надет на неё или прикреплён к ней.

right

Контроллер ввода находится в правой руке пользователя, надет на неё или прикреплён к ней.

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

Если источник ввода не связан с рукой пользователя (независимо от того, держится ли он, прикреплён или надет), значение handedness равно none. Это может указывать, например, на источник ввода, который не используется для управления рукой, например, на элементы управления, встроенные в гарнитуру или на устройство ввода, прикреплённое к голове или телу.

Примеры

Одно из важных применений handedness — определение, в какой руке находится контроллер, чтобы можно было отобразить его представление (или устройство, которым управляет рука) в виртуальном пространстве.

function updateInputSources(session, frame, refSpace) {
  for (const source of session.inputSources) {
    if (source.gripSpace) {
      const gripPose = frame.getPose(source.gripSpace, refSpace);

      if (gripPose) {
        myRenderHandObject(gripPose, inputSource.handedness);
      }
    }
  }
}

Эта функция, которая вызывается в каждом кадре анимации (или, возможно, периодически, в зависимости от требуемой плавности и ограничений производительности), сканирует список источников ввода, ища те, у которых gripSpace не равно null. Если gripSpace присутствует, это означает, что источник ввода — это устройство, управляемое рукой, поэтому его следует отображать, если это возможно.

Если gripSpace не равно null, функция продолжает получать позу gripSpace и преобразовывает её в текущее пространство отсчёта. Предполагая, что это значение является корректным, вызывается функция myRenderHandObject() с позой захвата и значением handedness. Затем рисуется соответствующая модель, позиционированная и сформированная для правильной руки.

Спецификации

Спецификация
API устройств WebXR
# dom-xrinputsource-handedness

Совместимость с браузерами

Десктоп Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari в iOS Samsung Internet WebView Android
handedness 79 79 Нет 66 Нет 79 Нет 57 Нет 11.2 Нет

См. также

  • API устройств WebXR
  • Ввод и источники ввода
  • Использование геймпадов в приложениях WebXR

© 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/handedness

Spec-Zone.ru

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