Spec-Zone.ru › Web APIs

XRSession: метод requestHitTestSourceForTransientInput()

Ограниченное использование

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

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

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

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

Метод requestHitTestSourceForTransientInput() интерфейса XRSession возвращает Promise, который разрешается объектом XRTransientInputHitTestSource, который можно передать в XRFrame.getHitTestResultsForTransientInput().

Синтаксис

requestHitTestSourceForTransientInput(options)

Параметры

options

Объект, содержащий параметры конфигурации, а именно:

profile

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

entityTypes Необязательно

Array, определяющий типы объектов, которые будут использоваться для создания источника проверки на соответствие. Если тип сущности не указан, массив по умолчанию содержит один элемент с типом plane. Возможные типы:

  • point: Вычисление результатов проверки на соответствие на основе обнаруженных характерных точек.
  • plane: Вычисление результатов проверки на соответствие на основе обнаруженных реальных плоскостей.
  • mesh: Вычисление результатов проверки на соответствие на основе обнаруженных мешей.
offsetRay Необязательно

Объект XRRay, который будет использоваться для выполнения проверки на соответствие. Если объект XRRay не предоставлен, новый объект XRRay создаётся без параметров.

Возвращаемое значение

A Promise, который разрешается объектом XRTransientInputHitTestSource.

Исключения

Вместо того, чтобы выбрасывать истинные исключения, requestHitTestSourceForTransientInput() отклоняет возвращённый промис с DOMException, а именно, одним из следующих:

NotSupportedError DOMException

Выбрасывается, если hit-test не является включённой функцией в XRSystem.requestSession().

InvalidStateError DOMException

Выбрасывается, если сессия уже завершена.

NotAllowedError DOMException

Выбрасывается, если запросов слишком много. Некоторые пользовательские агенты могут ограничить использование по причинам конфиденциальности.

Примеры

Запрос временного источника проверки на соответствие

Чтобы запросить источник проверки на соответствие, начните XRSession с включённой функцией hit-test сессии. Далее, настройте источник проверки на соответствие и сохраните его для последующего использования в цикле кадров и вызовите XRFrame.getHitTestResultsForTransientInput() для получения результата.

const xrSession = navigator.xr.requestSession("immersive-ar", {
  requiredFeatures: ["local", "hit-test"],
});

let transientHitTestSource = null;

xrSession
  .requestHitTestSourceForTransientInput({
    profile: "generic-touchscreen",
    offsetRay: new XRRay(),
  })
  .then((touchScreenHitTestSource) => {
    transientHitTestSource = touchScreenHitTestSource;
  });

// frame loop
function onXRFrame(time, xrFrame) {
  let hitTestResults = xrFrame.getHitTestResultsForTransientInput(
    transientHitTestSource,
  );

  // do things with the transient hit test results
}

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

Спецификация
Модуль проверки на соответствие WebXR
# dom-xrsession-requesthittestsourcefortransientinput

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

Рабочий стол Мобильный
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на IOS Samsung Internet WebView Android
requestHitTestSourceForTransientInput 81 81 Нет 68 Нет 81 Нет 58 Нет 13.0 Нет

См. также

  • XRSession.requestHitTestSource()

© 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/XRSession/requestHitTestSourceForTransientInput

Spec-Zone.ru

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