manahiyoの気まぐれ

備忘録を兼ねたブログです。

ARCoreのDepth機能を試してみる

はじめに

以前から試したかったのですが、ようやくARCoreのDEPTH機能に対応したANDROIDを中古で買いました。

 

クイックスタート

まずはHelloARにあるdepth機能をEnableにして試してみます。

下記のクイックスタートでHelloARでEnableにします

developers.google.com

 

確かに物体の陰にちゃんと隠れるのが確認できました。

 

DepthLabが面白い

次にDepthLABというのにいろいろなサンプルがあるようです。

github.com

 これは、結構感動します。端末を持っている人は下記でダウンロードできるのでぜひやってみると面白いです。内容はリンクを参照して見てください。

play.google.com

とりあえずサンプルは問題なく動作できました。

 

 

深度を数値で表示してみる

次に深度を数値で取得してみたいと思います。一番簡単にできそうなのはサンプルにある「OrientedReticle」を改造して、カーソルとカメラの距離を数値で表示できればよさそうです。

カーソルが味気ないのでまたUNITYchanをカーソルに乗せてみました。

床とか

f:id:manahiyo831:20201231204800p:plain

ちょっと小さいですが、壁です。

f:id:manahiyo831:20201231204835p:plain

ドアとか

f:id:manahiyo831:20201231204901p:plain

ちゃんとその平面に沿って移動してくれます。

見ていると壁に沿ってサーフィンしてくれている感じです。

 

次に画面の左下にカーソルまでの距離を表示してみました。

サンプル内にそのものの値があったので、表示用のコードを追加するだけでできました。

 

左下の黄色表示がカーソルとカメラ(スマホ)の距離を示しています。メジャーで測ってどのくらいのずれがあるか見てみましたが、数センチ程度でなかなかちゃんとした値が出ているようです。

f:id:manahiyo831:20201231204942p:plain

遠くになるとこんな感じ

f:id:manahiyo831:20201231205304p:plain

 

先ほどのwebには0-8mまで測定できて、最適なのは0.5-5mということです。

 

 

 

Depth機能いろいろ応用が考えられそうです。