Spec-Zone.ru › Web APIs

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 Нет

См. также

  • API WebXR Device
  • XRFrame.getPose()
  • XRViewerPose

© 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

Spec-Zone.ru

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