XRLightProbe
Ограниченная доступность
Эта функция не относится к Baseline, так как она не работает в некоторых из самых широко используемых браузеров.
Безопасный контекст: Эта функция доступна только в безопасных контекстах (HTTPS) в некоторых или во всех поддерживающих браузерах.
Экспериментальная функция: Это экспериментальная технология
Перед использованием в продакшене внимательно изучите таблицу совместимости с браузерами.
Интерфейс XRLightProbe API устройств WebXR содержит информацию об освещении в заданной точке среды пользователя. Вы можете получить объект XRLighting с помощью метода XRSession.requestLightProbe().
Этот объект сам по себе не содержит значений освещения, но используется для сбора состояний освещения для каждого XRFrame. См. XRLightEstimate для значений оценки освещения для 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);
});
Спецификации
Совместимость с браузерами
| Рабочий стол | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| 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 | Нет |
См. также
© 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