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
Ein ArrayBuffer
.
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:
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