VRDisplay: метод getPose()
Устаревший: Эта функция больше не рекомендуется. Хотя некоторые браузеры могут её всё ещё поддерживать, она может быть удалена из соответствующих веб-стандартов, находится в процессе удаления или поддерживается только для совместимости. Избегайте её использования и, при возможности, обновите существующий код; см. таблицу совместимости в нижней части этой страницы для принятия решения. Помните, что эта функция может перестать работать в любое время.
Нестандартный: Эта функция нестандартна и не находится на пути к стандартизации. Не используйте её на сайтах, ориентированных на Веб, в продакшен среде: она не будет работать для всех пользователей. Также могут быть существенные несовместимости между реализациями, и поведение может измениться в будущем.
Метод getPose() интерфейса VRDisplay возвращает объект VRPose, определяющий прогнозируемое будущее положение VRDisplay в тот момент, когда текущий кадр фактически будет представлен.
Примечание: Этот метод был частью старого API WebVR. Он был заменён API устройств WebXR.
Он также был помечен как устаревший — вместо этого вы должны использовать VRDisplay.getFrameData(), который также предоставляет объект VRPose.
Синтаксис
getPose()
Параметры
Нет.
Возвращаемое значение
Объект VRPose.
Примеры
После получения ссылки на объект VRDisplay, мы можем получить VRPose, представляющий текущее положение дисплея.
if (navigator.getVRDisplays) {
console.log("WebVR 1.1 supported");
// Then get the displays attached to the computer
navigator.getVRDisplays().then((displays) => {
// If a display is available, use it to present the scene
if (displays.length > 0) {
vrDisplay = displays[0];
console.log("Display found");
// Return the current VRPose object for the display
const pose = vrDisplay.getPose();
// …
}
});
}
Однако рекомендуется использовать свойство pose объекта VRFrameData (полученного с помощью VRDisplay.getFrameData()), чтобы получить текущее положение для каждого кадра перед его отправкой на отображение. Это происходит на каждой итерации цикла отрисовки вашего приложения, поэтому вы можете быть уверены, что данные о положении актуальны.
Спецификации
Этот метод был частью старого API WebVR, который был заменён API устройств WebXR. Он больше не находится на пути к стандартизации.
До тех пор, пока все браузеры не реализуют новые API WebXR, рекомендуется полагаться на фреймворки, такие как A-Frame, Babylon.js или Three.js, или полифилл, для разработки приложений WebXR, которые будут работать во всех браузерах. Прочитайте руководство Meta's Porting from WebVR to WebXR для получения дополнительной информации.
Совместимость с браузерами
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
getPose |
Нет | 15–79 | 9864–98Поддержка macOS была включена в Firefox 64.55–98Поддержка Windows была включена в Firefox 55. |
Нет | Нет | Нет | 55–98 | Нет | Нет | 6.0Google Cardboard поддерживается в Samsung Internet 7.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/VRDisplay/getPose