XRMediaBinding: createEquirectLayer()-Methode
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig, bevor Sie diese produktiv verwenden.
Die createEquirectLayer()
-Methode der XRMediaBinding
-Schnittstelle gibt ein XREquirectLayer
-Objekt zurück, das eine Ebene ist, die equirectangular codierte Daten auf die Innenseite einer Kugel abbildet.
Syntax
createEquirectLayer(video, options)
Parameter
video
-
Ein
HTMLVideoElement
, das angezeigt werden soll. options
-
Ein Objekt zum Konfigurieren des
XREquirectLayer
. Das Objekt kann die folgenden Eigenschaften haben undspace
ist erforderlich:centralHorizontalAngle
Optional-
Eine Zahl, die den zentralen horizontalen Winkel in Radianten für die Kugel angibt. Standardwert:
6.28318
(2π). invertStereo
Optional-
Ein Boolean, der angibt, ob die natürliche Position jeder Ansicht im Video invertiert werden soll. Standardmäßig
false
. layout
Optional-
Ein String, der das Layout des Videos angibt. Mögliche Werte:
default
-
Die Ebene berücksichtigt alle Ansichten der Sitzung.
mono
-
Ein einzelnes
XRSubImage
wird zugewiesen und beiden Augen präsentiert. stereo
-
Der User Agent entscheidet, wie er das
XRSubImage
(eines oder zwei) zuweist und das Layout (oben/unten oder links/rechts) gestaltet. Es wird empfohlen, dentexture-array
-Texturtyp fürstereo
-Layouts zu verwenden. stereo-left-right
-
Ein einzelnes
XRSubImage
wird zugewiesen. Das linke Auge erhält den linken Bereich der Textur, das rechte Auge den rechten. Dieses Layout ist darauf ausgelegt, Zeichenaufrufe für Inhalte zu minimieren, die bereits in Stereo vorliegen (z.B. Stereo-Videos oder -Bilder). stereo-top-bottom
-
Ein einzelnes
XRSubImage
wird zugewiesen. Das linke Auge erhält den oberen Bereich der Textur, das rechte Auge den unteren. Dieses Layout ist darauf ausgelegt, Zeichenaufrufe für Inhalte zu minimieren, die bereits in Stereo vorliegen (z.B. Stereo-Videos oder -Bilder). Der Standardwert istmono
.
lowerVerticalAngle
Optional-
Eine Zahl, die den unteren vertikalen Winkel in Radianten für die Kugel angibt. Standardwert:
-1.570795
(-π/2). radius
Optional-
Eine Zahl, die den Radius der Kugel angibt. Standardwert
0.0
. space
Erforderlich-
Ein
XRSpace
-Objekt, das die räumliche Beziehung der Ebene zur physischen Umgebung des Nutzers definiert. transform
Optional-
Ein
XRRigidTransform
-Objekt, das den Offset und die Orientierung relativ zuspace
definiert. upperVerticalAngle
Optional-
Eine Zahl, die den oberen vertikalen Winkel in Radianten für die Kugel angibt. Standardwert:
1.570795
(π/2).
Rückgabewert
Ein XREquirectLayer
-Objekt.
Beispiele
Erstellen eines XREquirectLayer
, um ein Video anzuzeigen
Erstellen Sie ein XRMediaBinding
und verwenden Sie ein HTMLVideoElement
, das in createEquirectLayer()
übergeben wird. Konfigurieren Sie die Quad-Ebene mit den oben aufgeführten Optionen und präsentieren Sie die Ebene dem XR-Gerät, indem Sie sie dem layers
-Renderzustand in XRSession.updateRenderState()
hinzufügen.
function onXRSessionStarted(xrSession) {
const xrMediaBinding = new XRMediaBinding(xrSession);
const video = document.createElement("video");
video.src = "just-fascination.mp4";
const videoLayer = xrMediaBinding.createEquirectLayer(video, {
space: xrReferenceSpace,
});
xrSession.updateRenderState({
layers: [videoLayer],
});
}
Spezifikationen
Specification |
---|
WebXR Layers API Level 1 # dom-xrmediabinding-createequirectlayer |
Browser-Kompatibilität
BCD tables only load in the browser