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 深度感应模块 # dom-xrcpudepthinformation-data |
浏览器兼容性
BCD 表格仅在启用 JavaScript 的浏览器中加载。