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 |
瀏覽器相容性
載入中…