Spec-Zone.ru › Web APIs

XRLightProbe

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

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

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

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

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

Интерфейс XRLightProbe API устройств WebXR содержит информацию об освещении в заданной точке среды пользователя. Вы можете получить объект XRLighting с помощью метода XRSession.requestLightProbe().

Этот объект сам по себе не содержит значений освещения, но используется для сбора состояний освещения для каждого XRFrame. См. XRLightEstimate для значений оценки освещения для XRLightProbe.

EventTarget XRLightProbe

Свойства экземпляра

XRLightProbe.onreflectionchange

Обработчик событий для события reflectionchange.

XRLightProbe.probeSpace Только для чтения Экспериментально

Объект XRSpace, отслеживающий положение и ориентацию, относительно которых определяются оценки освещения.

Методы экземпляра

Нет.

События

reflectionchange Экспериментально

Срабатывает каждый раз, когда изменяется оценочная куб-карта отражения. (Это происходит, когда пользователь перемещается, и освещение окружающей среды изменяется.)

Примеры

Получение объекта XRLightProbe для сессии

Используйте метод XRSession.requestLightProbe() для получения объекта светового зонда.

const lightProbe = await xrSession.requestLightProbe();

Получение позы зонда в рамках XRFrame

Передайте probeSpace светового зонда в XRFrame.getPose(), чтобы получить позу светового зонда.

const probePose = xrFrame.getPose(lightProbe.probeSpace, xrReferenceSpace);

Использование события reflectionchange

Передайте XRLightProbe для получения куб-карты отражения всякий раз, когда срабатывает событие reflectionchange. См. также XRWebGLBinding.getReflectionCubeMap().

const glBinding = new XRWebGLBinding(xrSession, gl);
const lightProbe = await xrSession.requestLightProbe();
let glCubeMap = glBinding.getReflectionCubeMap(lightProbe);

lightProbe.addEventListener("reflectionchange", () => {
  glCubeMap = glBinding.getReflectionCubeMap(lightProbe);
});

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

Спецификация
WebXR Lighting Estimation API Level 1
# xrlightprobe-interface

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

Рабочий стол Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на iOS Samsung Internet WebView Android
XRLightProbe 90 90 Нет 76 Нет 90 Нет 64 Нет 15.0 Нет
probeSpace 90 90 Нет 76 Нет 90 Нет 64 Нет 15.0 Нет
reflectionchange_event 90 90 Нет 76 Нет 90 Нет 64 Нет 15.0 Нет

См. также

  • XRSession.requestLightProbe()

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

Spec-Zone.ru

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