オクルージョン
ARKit は、フレームごとに生成する深度画像に基づくオクルージョンをサポートしています。
ARKit がプロバイダーの XROcclusionSubsystem 実装を通じて公開する深度画像には以下の 3 種類があります。
- Environment depth (環境深度): デバイスから、カメラの有効視野 (FOV) 内の環境の任意の部分までの距離。
- Human depth (人物深度): デバイスから、カメラの有効視野 (FOV) 内で認識された人物の任意の部分までの距離。
- Human stencil (人物ステンシル): ピクセルごとに、そのピクセルが認識された人物の一部であるかどうかを指定する値。
環境深度
オクルージョンサブシステムは、[Raw (生)](xref:UnityEngine.XR.ARSubsystems.XROcclusionSubsystem.TryAcquireRawEnvironmentDepthCpuImage(UnityEngine.XR.ARSubsystems.XRCpuImage@) と [Smoothed (スムージング済み)](xref:UnityEngine.XR.ARSubsystems.XROcclusionSubsystem.TryAcquireSmoothedEnvironmentDepthCpuImage(UnityEngine.XR.ARSubsystems.XRCpuImage@) という 2 種類の環境深度へのアクセスを提供します。これらは、以下の ARKit API に対応しています。
- Raw: ARFrame.sceneDepth
- Smoothed: ARFrame.smoothedSceneDepth
Note
environmentDepthTemporalSmoothingRequested を true
に設定して、スムージング済みの深度を有効にする必要があります。このようにしない場合、 [TryAcquireSmoothedEnvironmentDepthCpuImage](xref:UnityEngine.XR.ARSubsystems.XROcclusionSubsystem.TryAcquireSmoothedEnvironmentDepthCpuImage(UnityEngine.XR.ARSubsystems.XRCpuImage@) は false
を返します。
要件
環境深度には Xcode 12 以降が必要であり、LiDAR スキャナーを搭載した iOS 14 デバイス (新しい iPad Pro など) でのみ動作します。
人物深度と人物ステンシルには Xcode 11 以降が必要であり、A12 Bionic 以上を搭載した iOS 13 以上のデバイスでのみ動作します。
* Apple および ARKit は、アメリカ合衆国およびその他の国や地域で登録されている Apple Inc. の商標です。