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 |
浏览器兼容性
加载中…