XRCPUDepthInformation: data 屬性

可用性有限

此特性不是基線特性,因為它在一些最廣泛使用的瀏覽器中不起作用。

實驗性: 這是一項實驗性技術
在生產中使用此技術之前,請仔細檢查瀏覽器相容性表格

XRCPUDepthInformation 介面中只讀data 屬性是一個 ArrayBuffer,其中包含原始格式的深度緩衝區資訊。

資料以行主序格式儲存,不包含填充。每個條目對應從檢視近平面到使用者環境的距離,單位未指定。每個資料條目的大小和型別由 depthDataFormat 決定。可以透過乘以 rawValueToMeters 將值從未指定單位轉換為米。可以使用 normDepthBufferFromNormView 屬性將歸一化檢視座標(原點位於檢視左上角,X 軸向右增長,Y 軸向下增長)轉換為深度緩衝區的座標系統。

一個 ArrayBuffer

示例

使用 XRFrame.getDepthInformation() 來獲取深度資訊。返回的 XRCPUDepthInformation 物件將包含 data 緩衝區。

對於 CPU 深度資訊以及“亮度-alpha”格式的緩衝區

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

(對於“float32”資料格式,請使用 Float32Array。)

請注意,以米為單位的深度是以深度緩衝區座標表示的。需要額外的步驟將其轉換為歸一化檢視座標,或者可以使用 XRCPUDepthInformation.getDepthInMeters() 方法。

規範

規範
WebXR Depth Sensing 模組
# dom-xrcpudepthinformation-data

瀏覽器相容性