Google Tangoのとき、ここで記載した内容です。
iOSでもメジャーが標準でインストールされたことを機に思い出したので、ARCoreでも出来るのか確認してみます。

リファレンスの記述

リファレンスの記述が最も信頼出来る(ことになっている)ので、確認したところ、Unity向けのリファレンスにおいては、 GoogleARCore.AugmentedImage - ExtentXに記載されている内容ぐらいしか見つからなかったです。
Gets the estimated width, in meters, of the corresponding physical image, as measured along the local X-axis (point from image left to image right) of the coordinate space centered on the image. 

実際のところ

ドキュメントの記述が見つけられなかったので、実際に試してみました。
  1. ここからテストアプリ用のコードをクローン
  2. 同梱されている「README.md」に従って、「ARCore SDK for Unity」をダウンロードしインストール
  3. 実行すると以下のような画面が表示されるので、「Measure」を選択

  4. 画面上で任意の箇所をタッチすると、ARCoreが認識出来ている場合、〇が表示されるので、そこから測定したい箇所をタッチ
  5. ※ 左下のPoint数が多い状態でタッチした方がARCoreが認識出来ている箇所が多いので成功し易いです。
実際に試した感じだと、センチメートル単位で近い値が表示されていたので、Google Tangoと同じようにUnity内のWorld座標をそのままメートルとして扱って問題ないようです。

サンプルアプリ

お試しで作成したアプリを以下の場所にアップしておきました。
https://github.com/eq-inc/eq-unity-google-arcore/tree/v0.2.0
クローンした上で、以下のことを実行してください。
  1. 「git submodule update -i」でサブモジュールを取得
  2. ここで「ARCore SDK for Unity」(実装時はv1.2.1)をダウンロード
  3. クローンした環境をUnityで開き、上記の「ARCore SDK for Unity」をインポート
  4. ビルドして、起動した後、ボタン「Measure」を押下

コメントの投稿