本文档中所述的变更仅适用于使用 ARCore SDK 1.31 或更高版本编译的应用。使用旧版 ARCore 编译的应用不会受到影响。
在 2022 年 5 月 1.31 版中,ARCore 的最大深度范围已从 8.191 米升级到 65.535 米。Depth API 现在使用每像素全部 16 位来表示深度,而以前只有 13 位用于深度值。虽然在旧版 ARCore SDK 中使用以下方法的应用仍可使用以前的深度范围运行,但我们建议您在代码库中更新这些方法,以获得更好的功能。
针对具体平台的更改
Android (Kotlin/Java)
以前的方法名称和功能 | 新的方法名称和功能 |
---|---|
最大范围为 8.191 米 | 最大范围为 65.535 米 |
Frame.acquireDepthImage() |
Frame.acquireDepthImage16Bits() |
Frame.acquireRawDepthImage() |
Frame.acquireRawDepthImage16Bits() |
Image.getFormat() 返回 ImageFormat.DEPTH16 |
Image.getFormat() 返回 HardwareBuffer.D_16 |
Android NDK (C)
以前的方法名称和功能 | 新的方法名称和功能 |
---|---|
最大范围为 8.191 米 | 最大范围为 65.535 米 |
ArFrame_acquireDepthImage() |
ArFrame_acquireDepthImage16Bits() |
ArFrame_acquireRawDepthImage() |
ArFrame_acquireRawDepthImage16Bits() |
ArImage_getFormat() 返回 AR_IMAGE_FORMAT_DEPTH16 |
ArImage_getFormat() 返回 AR_IMAGE_FORMAT_D_16 |
Unity(AR 基础)
所有更改都由 AR Foundation 处理。使用 ARCore Extensions for AR Foundation 1.31 或更高版本进行构建时,AROcclusionManager.TryAcquireEnvironmentDepthCpuImage
会返回使用 65.535 米的新最大范围的图像。