3
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

ARCore Depth APIについて

Last updated at Posted at 2020-09-19

ARCore Depth APIとは

Googleの拡張現実(AR)に関するアップデートであり、ARCoreに追加された新しいAPI。
Depthセンサなどの専用の機器を用いることで、デバイスに搭載されたRGBカメラを用いた深度マップの生成を行うことが可能になっています。

そもそもDepthセンサとは何か

Depth = を測定するセンサ。
これによって深度を目に見える形(色など)で表現したものがDepth Map(深度マップ)。
Depth APIはサーモグラフィのような色で表現されています。

Depth APIのここがすごい!

大きく分けて2点

  • オクルージョンの表現
  • 専用の機器を追加で取り付ける必要がない

オクルージョンの表現

遮蔽の表現のこと。手前のものが後ろのものを隠す表現をオクルージョンといいます。
現実の世界では当たり前にあるものではあるが、ARの場合、現実世界のオブジェクトや他の3Dオブジェクトとの距離を考慮しながら3Dモデルの表示をコントロールしなければ、適切な遮蔽表現はできません。

ARの現実感に影響する重要な要素でもあります。

AR_okuru-jonn.jpeg
    ←:オクルージョンなし      →:オクルージョンあり
引用元:https://japanese.engadget.com/jp-2019-12-25-google-3d-ar-arcore.html

専用の機器を追加で取り付ける必要がない

公式の記事によると、センサが搭載されている方が精度は高くなるものの、必須ではないようです。

ARCoreに対応した機器である必要はあるものの、新規に専用のセンサが搭載されたデバイスを買う必要もなく、自由度がかなり高くなっています。

ARCore Android向けのDepth APIの概要:
https://developers.google.com/ar/develop/java/depth/overview

実際に使ってみる

環境
Pixel 3a
Andorid 10
Android Studio 4.0.1

公式がサンプルを出してくれているため、これを使います。
詳しくはこちらのサイトをご参考にしてください。

サンプルプロジェクトを開く

次のコマンドでサンプルプロジェクトを持ってこれます。

git clone https://github.com/google-ar/arcore-android-sdk.git

Android Studioで、arcore-android-sdk/samples/hello_ar_javaを開きます。

サンプルを実行する

Andorid Studioからサンプルを実行することで、サンプルアプリを使うことができます。
エミュレータでの起動はできないため、注意してください。

サンプルの実行結果

サンプルの内容としては、タップした場所にドロイドくんを設置できるものになっています。
平面の検知をしてくれるので、きれいに床の上に設置されます。
※白い三角形のメッシュが出ているところが検知された平面部分
スクリーンショット 2020-09-19 21.57.28.png

設置したドロイドくんはオクルージョンが適応されているため、ドロイドくんを物の後ろに設置すると見えなくなります。
スクリーンショット 2020-09-19 22.09.35.png

Depth APIを体験できるアプリ

APIの紹介動画で紹介されているアプリ

3
5
0

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
3
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?