XRCPUDepthInformation: Daten-Eigenschaft

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 schreibgeschützte data-Eigenschaft der Schnittstelle XRCPUDepthInformation ist ein ArrayBuffer, der Tiefenpufferinformationen im Rohformat enthält.

Die Daten sind im Zeilen-Major-Format ohne Auffüllung gespeichert, wobei jeder Eintrag dem Abstand von der Nah-Ebene der Ansicht zur Umgebung der Benutzer entspricht, in nicht näher angegebenen Einheiten. Die Größe jedes Dateneintrags und der Typ werden durch depthDataFormat bestimmt. Die Werte können aus nicht näher angegebenen Einheiten in Meter umgewandelt werden, indem sie mit rawValueToMeters multipliziert werden. Die Eigenschaft normDepthBufferFromNormView kann verwendet werden, um von den normalisierten Ansichtskoordinaten (ein Ursprung in der oberen linken Ecke der Ansicht, mit einer X-Achse, die nach rechts wächst, und einer Y-Achse, die nach unten wächst) in das Koordinatensystem des Tiefenpuffers zu transformieren.

Wert

Beispiele

Verwenden Sie XRFrame.getDepthInformation(), um Tiefeninformationen zu erhalten. Das zurückgegebene XRCPUDepthInformation-Objekt enthält den data-Puffer.

Für CPU-Tiefeninformation und einen Puffer im "Luminance-Alpha"-Format:

js
const uint16 = new Uint16Array(depthInfo.data);
const index = column + row * depthInfo.width;
const depthInMeters = uint16[index] * depthInfo.rawValueToMeters;

(Verwenden Sie Float32Array für ein "float32"-Datenformat.)

Beachten Sie, dass die Tiefe in Metern in Tiefenpuffer-Koordinaten vorliegt. Zusätzliche Schritte sind erforderlich, um sie in normalisierte Ansichtskoordinaten zu konvertieren, oder die Methode XRCPUDepthInformation.getDepthInMeters() kann verwendet werden.

Spezifikationen

Specification
WebXR Depth Sensing Module
# dom-xrcpudepthinformation-data

Browser-Kompatibilität

BCD tables only load in the browser