XRInputSource: свойство handedness
Ограниченная доступность
Эта функция не относится к Baseline, так как она не работает во всех широко используемых браузерах.
Безопасный контекст: Эта функция доступна только в безопасных контекстах (HTTPS) в некоторых или во всех поддерживающих браузерах.
Только для чтения XRInputSource свойство handedness указывает, с какой из рук пользователя связан источник ввода WebXR, или же если он вообще не связан с рукой.
Значение
Строка, указывающая, в какой руке пользователя находится контроллер ввода, и если да, то в какой. Значение может быть одним из следующих:
Примечания по использованию
Если источник ввода не связан с рукой пользователя (независимо от того, держится ли он, прикреплён или надет), значение 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 | Нет |
См. также
© 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