XRPose
Ограниченная доступность
Эта функция не является базовой, так как она не работает во всех наиболее широко используемых браузерах.
Безопасный контекст: Эта функция доступна только в безопасных контекстах (HTTPS) в некоторых или во всех поддерживающих браузерах.
XRPose — это интерфейс API WebXR, представляющий позицию и ориентацию в 3D-пространстве относительно XRSpace, в котором она находится. XRSpace — это либо XRReferenceSpace, либо XRBoundedReferenceSpace — определяет систему координат, используемую для позы, а в случае с XRViewerPose — и для её подлежащих представлений.
Чтобы получить XRPose для XRSpace используемого в качестве локальной системы координат объекта, вызовите XRFrame.getPose(), указав локальные XRSpace и пространство, в которое вы хотите преобразовать:
thePose = xrFrame.getPose(localSpace, baseSpace);
Поза для зрителя (или камеры) представлена подклассом XRViewerPose интерфейса XRPose. Она получается с помощью XRFrame.getViewerPose(), а не getPose(), указав пространство ссылки, которое было скорректировано для позиционирования и ориентации узла, чтобы обеспечить желаемую позицию и угол обзора:
viewerPose = xrFrame.getViewerPose(adjReferenceSpace);
Здесь adjReferenceSpace — это пространство ссылки, которое было обновлено с помощью базовой системы отсчета для кадра и любых необходимых корректировок для позиционирования зрителя на основе перемещений или поворотов, поступающих из источника, отличного от устройства XR, например, от клавиатуры или мыши.
Подробные сведения и пример с исчерпывающими объяснениями того, что происходит, см. в статье Движение, ориентация и перемещение.
Свойства экземпляра
-
XRPose.angularVelocityТолько для чтения -
A
DOMPointReadOnlyописывающий угловую скорость в радианах в секунду относительно базовогоXRSpace. -
XRPose.emulatedPositionТолько для чтения -
Логическое значение, которое равно
falseесли позиция и ориентация, заданныеtransform, получены непосредственно от устройства XR с полными шестью степенями свободы (6DoF) (то есть от устройства, отслеживающего не только наклон, крен и рыскание головы, но и передвижение зрителя вперёд, назад и вбок). Если какой-либо компонентtransformвычисляется или создаётся искусственно (например, с помощью управления мышью или клавиатурой для перемещения в пространстве), это значение вместо этогоtrue, указывая, чтоtransformчастично эмулируется в программном обеспечении. -
XRPose.linearVelocityТолько для чтения -
A
DOMPointReadOnlyописывающий линейную скорость в метрах в секунду относительно базовогоXRSpace. -
XRPose.transformТолько для чтения -
A
XRRigidTransformпредоставляющий позицию и ориентацию позы относительно базовогоXRSpace.
Спецификации
| Спецификация |
|---|
| API WebXR Device # xrpose-interface |
Совместимость браузеров
| Рабочий стол | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari на IOS | Samsung Internet | WebView Android | |
XRPose |
79 | 79 | Нет | 66 | Нет | 79 | Нет | 57 | Нет | 11.2 | Нет |
angularVelocity |
Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет |
emulatedPosition |
79 | 79 | Нет | 66 | Нет | 79 | Нет | 57 | Нет | 11.2 | Нет |
linearVelocity |
Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет |
transform |
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/XRPose