Spec-Zone.ru › Web APIs

XRMediaBinding: метод createCylinderLayer()

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

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

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

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

Метод createCylinderLayer() интерфейса XRMediaBinding возвращает объект XRCylinderLayer, представляющий собой слой, занимающий изогнутое прямоугольное пространство в виртуальной среде.

Синтаксис

createCylinderLayer(video, options)

Параметры

video

Элемент HTMLVideoElement для отображения.

options

Объект для настройки XRCylinderLayer. Объект может иметь следующие свойства, при этом свойство space обязательно:

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

Число, указывающее отношение видимой части цилиндра. Это отношение ширины видимой части цилиндра к ее высоте. Ширина вычисляется путем умножения radius на centralAngle.

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

Число, указывающее угол в радианах видимой части цилиндра. Значение по умолчанию: 0.78539 (π / 4).

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

Булево значение, определяющее, следует ли инвертировать естественное расположение каждого вида в видео. По умолчанию false.

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

Строка, определяющая расположение видео. Возможные значения:

default

Слой вмещает все виды сеанса.

mono

Присваивается и отображается один XRSubImage для обоих глаз.

stereo

Агент пользователя определяет, как он распределяет XRSubImage (один или два) и макет (верх/низ или слева/справа). Рекомендуется использовать тип текстуры texture-array для макетов stereo.

stereo-left-right

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

stereo-top-bottom

Присваивается один XRSubImage. Левый глаз получает верхнюю область текстуры, правый — нижнюю. Этот макет предназначен для минимизации вызовов отрисовки для контента, который уже находится в стерео (например, стерео видео или изображения). Значение по умолчанию: mono.

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

Число, указывающее радиус цилиндра. Значение по умолчанию 2.0.

space Обязательно

Объект XRSpace, определяющий пространственное отношение слоя к физической среде пользователя.

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

Объект XRRigidTransform, определяющий смещение и ориентацию относительно space.

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

Объект XRCylinderLayer.

Примеры

Создание XRCylinderLayer для отображения видео

Создайте XRMediaBinding и используйте элемент HTMLVideoElement, который передается в createCylinderLayer(). Настройте слой с помощью параметров, перечисленных выше, и представьте слой устройству XR, добавив его в состояние отрисовки layers в XRSession.updateRenderState().

function onXRSessionStarted(xrSession) {
  const xrMediaBinding = new XRMediaBinding(xrSession);
  const video = document.createElement("video");
  video.src = "just-fascination.mp4";

  const videoLayer = xrMediaBinding.createCylinderLayer(video, {
    space: xrReferenceSpace,
  });

  xrSession.updateRenderState({
    layers: [videoLayer],
  });
}

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

Спецификация
WebXR Layers API Level 1
# dom-xrmediabinding-createcylinderlayer

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

Рабочий стол Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на iOS Samsung Internet WebView Android
createCylinderLayer Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет

См. также

  • XRCylinderLayer

© 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/XRMediaBinding/createCylinderLayer

Spec-Zone.ru

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