環境
- Windows10 Pro 1903
- Visual Studio 2019
- Visual Studio 2019にXamarin開発ワークロードを追加済み
- ARCore対応端末:Pixel 3a
ソースコードを入手
ARCoreのサンプルをGitHubからcloneします。
サンプルのソースコードはこちら。
必要なのはこのARCoreフォルダ以下だけなので、以下の記事を参考にしてsvnコマンドでダウンロードしてください。 masterブランチのARCoreフォルダです。
サンプルコードをVisual Studioで開く
ダウンロードしたフォルダ内にあるARCore.slnファイルをVisual Studioで開きます。
ダブルクリックするだけです。
この時点ではまだビルドが通らない状態です。
必要なファイルをダウンロード
実はこのプロジェクトは、特定のファイルについてはビルド時に指定したバージョンをダウンロードするようになっているため、必要なファイルが存在しません。
そのファイルとは以下の2つです。
- arcore.aar
- obj.jar
ですので、ビルドするためにはこの2つのファイルをダウンロードし、所定のフォルダに保存しておく必要があります。
不足ファイルのダウンロード
GitHubからダウンロードしたARCoreフォルダ内にbuild.cakeというファイルがあります。
ビルドのための設定がここに書かれています。
これを見てみると、まず、8~10行目に2つのファイルのダウンロード先が書かれています。
それぞれ、バージョン1.9とバージョン0.3のファイルのURLが指定されています。
var AAR_VERSION = "1.9.0";
var AAR_URL = string.Format("https://dl.google.com/dl/android/maven2/com/google/ar/core/{0}/core-{0}.aar", AAR_VERSION);
var OBJ_VERSION = "0.3.0";
var OBJ_URL = string.Format("https://oss.sonatype.org/content/repositories/releases/de/javagl/obj/{0}/obj-{0}.jar", OBJ_VERSION);
{0}の部分にそれぞれのファイルのバージョンが入ります。
つまりは以下のURLを表しています。
https://dl.google.com/dl/android/maven2/com/google/ar/core/1.9.0/core-1.9.0.aar https://oss.sonatype.org/content/repositories/releases/de/javagl/obj/0.3.0/obj-0.3.0.jar
ブラウザに上記のURLを入力して、ファイルをダウンロードします。
ダウンロードしたファイルを配置
次にbuild.cakeファイルの32~42行目には、このbuild.cakeファイルと同じフォルダにexternalsフォルダを作成し、その中に上記の2つのファイルをダウンロードしてそれぞれarcore.aar、obj.jarというファイル名で保存するように指定されています。
var AAR_FILE = "./externals/arcore.aar";
var OBJ_JAR_FILE = "./externals/obj.jar";
if (!DirectoryExists ("./externals/"))
CreateDirectory ("./externals");
if (!FileExists (AAR_FILE))
DownloadFile (AAR_URL, AAR_FILE);
if (!FileExists (OBJ_JAR_FILE))
DownloadFile (OBJ_URL, OBJ_JAR_FILE);
ということで、build.cakeと同じフォルダにexternalsフォルダを作成し、その中に先程ダウンロードした2つのファイルをそれぞれarcore.aar、obj.jarとリネームして保存します。
ARCore
├─externals
├─arcore.aar
└─obj.jar
これでビルドが通ります。
実行
実機をつないで配置すると、アプリが起動します。
起動するとカメラからの映像がディスプレイに表示され、画面下には「searching for surface..」と表示されます。
しばらく床などの平らな面を移していると、下のスクリーンショットのように床の一部に光る網目が表示されます。

これがアプリによって認識された平面で、このエリアをタップすると、ドロイドくんが配置されます。

後ろにも回り込めます。

おまけ
Visual Studioに実機を接続して、認識させるには。
ソリューション構成マネージャーで、プロジェクトが配置用に選択されていることを確認してください。
うーん、実機つないでいるけれど表示されないな。

端末のほうでデバッグモードにしなきゃだった!
でた。
