以前、本ブログで掲載していた「UnityでGoogle Tangoと戯れる」シリーズを投稿後、GoogleがARCoreの開発とGoogle Tangoの終了を発表して以来、AR関連の記事がありませんでした。
先日ようやくARCoreが正式リリースされ、それを機にGoogle Tangoの遺産(?)であるZenfone AR(※)もサポート機種になったので、ARCoreについて調べていきたいと思います。
※ Zenfone ARはGoogle Tangoの調査のために購入したものだったので、無駄にならずにすんで助かりましたw

ARCoreでやれること

まずはGoogle TangoとARCoreでやれることに違いがあるのか確認してみたいと思います。
機能名称Google TangoARCore備考
Motion Tracking-
Environmental understanding
Light estimation×-
Area LearningARCoreではArea Learningとしては紹介されていないが、それで出来ることと同等のことがEnvironment understandingで可能
Depth PerceptionARCoreではDepth Perceptionとしては紹介されていないが、それで出来ることと同等のことがEnvironment understandingで可能
Visual Positioning Service××?Google Tangoのときに記載されていた機能だけど、当時からサンプルアプリが存在しなく動作していたか未確認

環境構築

ARCoreを開発するための必須環境は2018.04.06現在以下のようになっています。
  • Unity 2017.3.0f2以降
  • Androidデバイス: Zenfone ARなど。詳細はこちらを参照

Unityのインストール

こちらからインストーラをダウンロードして、インストールします。
インストールの仕方はこちらを参照してください。

ARCore SDK for Unityのダウンロード

ARCore SDK for UnityはGitHubにて公開されています。なので、こちらからダウンロードします。

Unityの設定を変更

ARCore SDK for UnityをUnityプロジェクトにインストールしたいところですが、まずはUnityの設定を変更する必要があるので、それから紹介していきたいと思います。
  1. Build Settingsを開く
  2. メニュー「File」 - 「Build Settings」よりBuild Settingsを開く。
  3. ビルド対象をAndroidに変更
  4. 下図のようにプラットフォーム一覧からAndroidを選択し、画面下部の「Switch Platform」を押下して、ビルド対象をAndroidに切り替える。
    その上でビルド設定の詳細を変更するために、「Player Settings」を押下する。
  5. Other Settingsの変更
  6. 画面右側の「Inspector」欄に「PlayerSettings」が表示されるので、その中の「Other Settings」内の以下の項目を変更する。
    設定名称変更前変更後
    Multithreaded RenderingチェックONチェックOFF
    Package Namecom.Company.ProductName任意の名称
    Minimum API LevelAPI Level 16API Level 24以上
    Target API LevelAutomaticAPI Level 24以上


  7. XR Settings
  8. 「ARCore Supported」を有効(チェックON)にする。

ARCore SDK for UnityをUnityプロジェクトにインストール

次に設定が済んだUnityプロジェクトにARCoreSDK for Unityを組み込みます。
組み込みかたは、シンプルで画面下部の「Project」欄の「Assets」に大して、右クリックすると表示されるコンテキストメニューから「Import Package」 - 「Custom Package」を選択し、UnityPackageを選択するダイアログが表示されるので、先にダウンロードしておいた「ARCore SDK for Unity」向けUnityPackageを選択。

選択すると、UnityPackage内のファイルの内、どのファイルをインポートするか確認されるので、全てのファイルを選択してインストールする。

これで準備自体は完了です。
次回から、機能毎に解説していきますが、待ちきれない方はARCore SDK for UnityをインポートするとAssets/GoogleARCore/Examples配下にサンプルプロジェクトが2つ(ComputerVision、HelloAR)あるので、それぞれのフォルダのSceneを読み込みことで動作を見ることが可能です。
下の画像はComputerVisionを動作させた際のスクリーンショットになります。物体を認識することで境界線を描画しているようです。

参考サイト

コメントの投稿