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.xrXRSystemXRPermissionStatus-
Permissions-Policy:xr-spatial-tracking
Сессия
Цикл кадров
Пространства
Представления
Геометрические примитивы
Поза
Ввод
Слои
XRLayerXRLayerEventXRCompositionLayerXRCubeLayerXRCylinderLayerXREquirectLayerXRProjectionLayerXRQuadLayerXRMediaBinding
Связывание WebGL
Якоря
Определение глубины
Тестирование попадания
Оценка освещения
Руководства и учебные пособия
Следующие руководства и учебные пособия — это отличные ресурсы для изучения WebXR и основных концепций 3D-графики и VR/AR.
Основы и базовые понятия
Создание опыта смешанной реальности
- Запуск и завершение сессии WebXR
- Геометрия и пространства ссылок в WebXR
- Отслеживание пространства в WebXR
- Рендеринг и обратный вызов анимации кадров WebXR
- Точки обзора и наблюдатели: Моделирование камер в WebXR
- Перспектива для разработчиков WebXR
- Освещение среды WebXR
- Использование ограниченных пространств ссылок
Делаем его интерактивным
- Движение, ориентация и движение: пример 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