LoginSignup
1

More than 1 year has passed since last update.

AR FoundationのAR Occlusion Managerを使ったときって実機でどこまで動くの?

Last updated at Posted at 2023-02-08

事の始まり

AR FoundationにAR Occlusion Managerってあるなぁ
でもAR CoreとAR Kitでオクルージョンの処理は別ものなのにどうやって共通化しているんだろ?
image.png

実機で見たときにどんな動作の違いが出るんだろうか??

検証しました!

環境

Unity 2019.4.29f1
AR Foundation 4.1.7

Device:

  • Android
    • SONY Xperia 1 III (Depth API対応機種)
    • Huawei P20 Pro(Depth API非対応機種)
  • iOS
    • iPhone 13 Pro Max (LiDAR搭載機種)
    • iPhone 11 (LiDAR非搭載機種)

やったこと

ARアプリを作成、AR Occlusion Managerを以下のように設定
Environment Depth Mode: Best
Human Segmentation Stencil Mode: Best
Human Segmentation Depth Mode: Best
image.png

シーン再生中に、AR Occlusion Managerの
currentEnvironmentDepthMode
currentHumanDepthMode
currentHumanStencilMode
↑の状態を表示する

結果

見やすくまとめるとこんな感じ

SONY Xperia 1 III
(Depth API
対応機種)
Huawei P20 Pro
(Depth API
非対応機種)
iPhone 13 Pro Max
(LiDAR搭載機種)
iPhone 11
(LiDAR非搭載機種)
Environment Depth Mode × ×
Human Segmentation Stencil Mode × ×
Human Segmentation Depth Mode × ×

◯:Best
×:Disabled

Human Segmentation はAR Kitの機能なのでAndroid(AR Core)で出来ないのは納得です

LiDARの有無によってEnvironment Depthができないんですねー
確かにAppleのサイトにこんな記述があります

Depth API
LiDARスキャナに内蔵された高度なシーン認識機能により、周囲の環境についての深度情報がピクセル単位で利用可能になります。
この深度情報を、シーンジオメトリによって生成された3Dメッシュデータと合成することで、バーチャルオブジェクトを瞬時に配置して、
周囲の物理的な環境とシームレスに溶け込ませることで、よりリアルなバーチャルオブジェクトオクルージョンを実現できます。
これにより、さらに精密な測定をしたり、ユーザーの環境にエフェクトを適用するといった、新しい機能をAppに搭載できるようになります。

まとめ

  • Android (Depth API対応)
    • 机、壁などのみオクルージョンできる
  • Android (Depth API非対応)
    • オクルージョンできない
  • iPhone (LiDAR非搭載)
    • 人間の全身、人体の一部のみオクルージョン出来る
  • iPhone (LiDAR搭載)
    • 机、壁などに加えて人間の全身、人体の一部もオクルージョンできる

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1