このドキュメントに記載されている変更は、ARCore SDK バージョン 1.31 以降でコンパイルされたアプリにのみ適用されます。古いバージョンの ARCore でコンパイルされたアプリは影響を受けません。
2022 年 5 月の 1.31 リリースの一環として、ARCore の水深の最大範囲が 8.191 m から 65.535 m にアップグレードされました。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 Foundation)
変更はすべて AR Foundation が行います。AR Foundation 向け ARCore 拡張機能バージョン 1.31 以降を使用してビルドする場合、AROcclusionManager.TryAcquireEnvironmentDepthCpuImage
は新しい最大範囲である 65.535 メートルを使用して画像を返します。