Spec-Zone.ru › Web APIs

API устройств WebXR

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

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

  • Узнать больше
  • Показать полную совместимость
  • Отправить отзыв

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

Экспериментальная функция: Это экспериментальная технология
Перед использованием в производстве внимательно изучите таблицу совместимости браузеров.

WebXR — это набор стандартов, используемых вместе для поддержки рендеринга 3D-сцен на оборудовании, предназначенном для отображения виртуальных миров (виртуальная реальность или VR) или для добавления графических изображений к реальному миру (дополненная реальность или AR). API устройств WebXR реализует основную функциональность WebXR, управляя выбором выходных устройств, рендерингом 3D-сцены на выбранном устройстве с соответствующей частотой кадров и управляет векторами движения, созданными с помощью контроллеров ввода.

Устройства, совместимые с WebXR, включают полностью погружаемые 3D-гарнитуры с отслеживанием движения и ориентации, очки, которые накладывают графику поверх реальной сцены, проходящей через линзы, и портативные мобильные телефоны, которые дополняют реальность, захватывая мир с помощью камеры и дополняя эту сцену компьютерно сгенерированными изображениями.

Для достижения этих целей API устройств WebXR предоставляет следующие ключевые возможности:

  • Поиск совместимых VR- или AR-выходных устройств
  • Рендеринг 3D-сцены на устройстве с подходящей частотой кадров
  • (По желанию) зеркальное отображение вывода на 2D-дисплей
  • Создание векторов, представляющих движения контроллеров ввода

На самом базовом уровне сцена представляется в 3D путём вычисления перспективы, которую нужно применить к сцене для рендеринга с точки зрения каждого глаза пользователя, вычислив положение каждого глаза и выполнив рендеринг сцены с этой позиции, глядя в направлении, в котором пользователь сейчас смотрит. Каждое из этих двух изображений рендерится в один буфер кадров, где рендер левого глаза находится слева, а точка обзора правого глаза рендерится в правую половину буфера. После того, как обе точки зрения глаз на сцену были отрисованы, результирующий буфер кадров передаётся устройству WebXR для отображения пользователю через гарнитуру или другое подходящее устройство отображения.

В то время как более старый API WebVR был разработан исключительно для поддержки виртуальной реальности (VR), WebXR предоставляет поддержку как VR, так и дополненной реальности (AR) в веб-приложениях. Поддержка AR-функциональности добавляется модулем дополненной реальности WebXR.

Типичное XR-устройство может иметь либо 3, либо 6 степеней свободы и может или не может иметь внешний датчик позиционирования.

Оборудование также может включать акселерометр, барометр или другие датчики, которые используются для определения того, когда пользователь перемещается в пространстве, поворачивает голову и т. п.

Документация по WebXR

Инициализация

  • navigator.xr
  • XRSystem
  • XRPermissionStatus
  • Permissions-Policy: xr-spatial-tracking

Сессия

  • XRSession
  • XRSessionEvent
  • XRRenderState

Цикл кадров

  • XRFrame

Пространства

  • XRSpace
  • XRReferenceSpace
  • XRBoundedReferenceSpace
  • XRReferenceSpaceEvent
  • XRJointSpace

Представления

  • XRView
  • XRViewport

Геометрические примитивы

  • XRRigidTransform

Поза

  • XRPose
  • XRJointPose
  • XRViewerPose

Ввод

  • XRHand
  • XRInputSource
  • XRInputSourceArray
  • XRInputSourceEvent
  • XRInputSourcesChangeEvent

Слои

  • XRLayer
  • XRLayerEvent
  • XRCompositionLayer
  • XRCubeLayer
  • XRCylinderLayer
  • XREquirectLayer
  • XRProjectionLayer
  • XRQuadLayer
  • XRMediaBinding

Связывание WebGL

  • XRWebGLBinding
  • WebGLRenderingContext.makeXRCompatible()
  • XRWebGLLayer
  • XRSubImage
  • XRWebGLSubImage

Якоря

  • XRAnchor
  • XRAnchorSet

Определение глубины

  • XRDepthInformation
  • XRCPUDepthInformation
  • XRWebGLDepthInformation

Тестирование попадания

  • XRHitTestSource
  • XRTransientInputHitTestSource
  • XRHitTestResult
  • XRTransientInputHitTestResult
  • XRRay

Оценка освещения

  • XRLightEstimate
  • XRLightProbe

Руководства и учебные пособия

Следующие руководства и учебные пособия — это отличные ресурсы для изучения WebXR и основных концепций 3D-графики и VR/AR.

Основы и базовые понятия

  • Основы WebXR
  • Матричная математика для веб
  • Жизненный цикл приложения WebXR

Создание опыта смешанной реальности

  • Запуск и завершение сессии WebXR
  • Геометрия и пространства ссылок в WebXR
  • Отслеживание пространства в WebXR
  • Рендеринг и обратный вызов анимации кадров WebXR
  • Точки обзора и наблюдатели: Моделирование камер в WebXR
  • Перспектива для разработчиков WebXR
  • Освещение среды WebXR
  • Использование ограниченных пространств ссылок

Делаем его интерактивным

  • Движение, ориентация и движение: пример WebXR
  • Ввод и источники ввода
  • Целеуказание и определение попадания

Производительность и безопасность

  • Руководство по производительности WebXR
  • Разрешения и безопасность для WebXR

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

Спецификация
API устройств WebXR (Исходный код, Проблемы, Объяснение)
Модуль WebXR Anchors (Исходный код, Проблемы, Объяснение)
Модуль WebXR дополненной реальности (Исходный код, Проблемы, Объяснение)
Модуль WebXR определения глубины (Исходный код, Проблемы, Объяснение)
Модуль WebXR наложений DOM (Исходный код, Проблемы, Объяснение)
Модуль WebXR джойстиков (Исходный код, Проблемы, Объяснение)
Модуль WebXR управления руками (Исходный код, Проблемы, Объяснение)
Модуль WebXR проверки попадания (Исходный код, Проблемы, Объяснение)
API слоев WebXR (Исходный код, Проблемы, Объяснение)
API оценки освещения WebXR (Исходный код, Проблемы, Объяснение)

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

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

См. также

  • Отрисовка графики
  • API WebGL: Ускоренная графика 2D и 3D в браузере
  • API Canvas: 2D отрисовка для браузера
  • Учебник по Canvas

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

Spec-Zone.ru

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