Если коротко:

Краткий ответ на запрос «WebXR hit test» дан с опорой на официальные источники; конкретная совместимость и версии требуют проверки перед действием.

Что делает hit test

WebXR hit test, механизм, который получает результаты пересечения луча со средой и помогает размещать виртуальный объект относительно распознанной поверхности. Он не выдаёт вечную координату: результат запрашивается в каждом XRFrame и интерпретируется в выбранном reference space.

Для работы нужны защищённый контекст, поддержка подходящего режима сессии, разрешение policy xr-spatial-tracking и доступность функции на устройстве. Наличие navigator.xr не означает, что hit test поддерживается. До создания сессии проверьте нужный режим, а при запросе объявите требуемые features согласно спецификации.

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

После запуска сессии получите reference space и создайте источник через XRSession.requestHitTestSource(). В кадре возьмите результаты, получите pose относительно выбранного пространства и обновляйте индикатор размещения только при валидном результате. Источник следует освобождать, а сессию завершать по жизненному циклу приложения.

Пользователь может потерять трекинг, оказаться в нераспознанной среде или использовать runtime без подходящего результата. В этих случаях интерфейс показывает нейтральный индикатор и объясняет следующий шаг, а не закрепляет объект в случайной координате. Нельзя обещать размещение на любой поверхности.

Проверки до выпуска

Проверьте не только удачное размещение: отказ в разрешении, отсутствие поверхности, уход страницы в фон, завершение сессии и повторное создание источника. Отдельно протестируйте поведение на поддерживаемом устройстве, потому что качество распознавания зависит от runtime, браузера и условий среды.

Для отладки сохраните минимальный воспроизводимый пример с версиями браузера и устройства. Если функция недоступна, предложите пользователю альтернативный путь вместо ошибки интерфейса. Образец из спецификации полезен как ориентир API, но его нельзя воспринимать как готовую UX-логику продукта.

Источники

Поделиться:TelegramВКонтакте

Источники

  1. www.w3.org
  2. immersive-web.github.io
  3. immersive-web.github.io