Google が提供する AR開発ライブラリ ARCore に関して、以前、サンプルプログラムの2つ(HelloARCloud Anchors)の設定法を紹介しました。

ARCore のサンプル HelloAR を試す Part1
ARCoreのサンプル Cloud Anchorsを試す Part1

今回は、Augmented Image と言う、画像のマーカーを認識する機能に関するサンプルプログラムの設定法を紹介します。ARの一番典型的なパターンである、2Dの画像をマーカーとして認識してARコンテンツを表示させるサンプルとなります。
このサンプルプログラム Augmented Image の最終イメージは以下のような感じになります。対象イメージの周りに額縁の3Dオブジェクトが表示されています。
AR_Image_02

また、本件の元ネタは以下になります。
Recognize and Augment Images
AR_Image_09

【作業の概要】

以下に作業全体の流れを示します。後から、詳細を説明しています。
(以下の1,2は依然説明した HelloARとほぼ同じです。)

1.ARCore SDK for Unityのインポート
 1.1. ARCore SDK for Unityのダウンロード
 1.2. ARCore SDK for Unityのインポート
 1.3.フォルダの確認(オプション)
2.Unityでの設定
 2.1. PlatformをAndroidに変更
 2.2. Player Settingsの設定
3.実機での実行
4.マーカー画像を変更
 4.1. マーカー画像の確認
 4.2. マーカー画像の変更
 4.3. 新しいマーカー画像を試してみる
5.表示3Dオブジェクトを変更
 5.1. 新規Databaseを登録
 5.2. 関連C#スクリプトを確認
 5.3. 新たな3Dオブジェクトを登録

【使用環境】
 ・ Windows10
 ・ Unity 2018.2 (JDK や Android Studio は事前にインストール済み)
 ・ ARCore SDK for Unity v1.4.0


【1.ARCore SDK for Unityのインポート】

1.1. ARCore SDK for Unityのダウンロード

まず、GitHub から最新の ARCore SDK for Unity をダウンロードします。以下のリンクから Unity Package がダウンロードできます。

https://github.com/google-ar/arcore-unity-sdk/releases

このページの、ARCore SDK for Unity v1.4.0 であれば、以下の「accore-unity-sdk-v1.4.0.unitypackage」をクリックしてダウロードします。(Unity Package のバージョンで画面は変わるかと思います。)
ARCore_02


1.2. ARCore SDK for Unityのインポート

次に Unity を立ち上げます。
「Assets > Import Package > Custom Package...」でダウロードした Unity Package を選択してインポートします。
ARCore_03

全てにチェックが付いているのを確認して、「Import」ボタンをクリック。パッケージのインポートが始まります。
ARCore_04

インポートが完了したら、ARCoreが使える状態になりました。


1.3.フォルダの確認(オプション)

Projectビューから ARCore SDK for Unity の folder 構成を確認してみます。

• GoogleARCore > Examples  内にいくつかのサンプルが入っています。

• GoogleARCore > Examples > AugmentedImage 内に Augmented Image 用のシーンやスクリプト等関連 Assetのフォルダがあります。

• GoogleARCore > Examples > AugmentedImage  > Images 内にサンプルのマーカーイメージとマーカーイメージ用データベースがあります。


【2.Unityでの設定】

2.1. PlatformをAndroidに変更

では、Unity上でサンプルプログラムの Augmented Image に関して 設定をしていきましょう。
まず、シーン AugmentedImage をダブルクリックして、AugmentedImage のシーンをオープンします。
GoogleARCore > Examples > AugmentedImage > Scenes > AugmentedImage
AR_Image_04

Unityの新規プロジェクトを立ち上げたばかりだと、通常 Platform が「PC, Mac & Linux Standalone」 になっているかと思います。ここでは、Platformを Androidに変更します。
「File > Build Settings...」で Build Settings スクリーンを表示します。
ARCore_06

Platformで Androidを選択して「Switch Platform」をクリックします。Platformの変更は少し時間がかかるかもしれません。
ARCore_07


2.2. Player Settingsの設定

「Player Settings…」をクリックして、Player Settings 画面を Inspectorビュ-上に表示させます。
ARCore_08

では、Player Settingsを以下の様に変更します。

Inspector上で「 Other Settings」項目で以下の設定を行います。
• 「Multithreaded Rendering*」のチェックをはずす。
• 「Package Name」に好きな名前を入力。例えば、以下の様な感じに。
• 「Minimum API Level」で、Android 7.0 以上を選択。
• 「Target API Lebel」で、Android 7.0 以上を選択。
AR_Image_10


次に、Inspector上の「XR Settings」項目で以下の設定を行います。
• 「ARCore Supported」にチェックをつける。
 ARCore_10

Projectビューの Augmented Image のシーンを Build Settings の Scenes In Build にドラッグ&ドロップします。
AR_Image_05


【3.実機での実行】

USBケーブルで Android端末を接続します。
(ここでは、説明は省きますが、事前に Android端末側の「USB debugging」を Onにする作業はしておくように。)
Build And Run」をクリックして、ビルドとアプリのインストールを実行させます。ビルド時に聞かれるファイル名は何でもけっこうです。
AR_Image_06

実機側でアプリが立ち上がります。アプリが「Fit the image you're scanning」と表示してマーカー画像を探し始めます。
AR_Image_08

マーカー画像を印刷しなくても、PCの画面でも認識できますので、画面から直接サンプル画像を認識させましょう。
以下のサイトにサンプル画像の1つがありますので、ページを開いて画面上に画像を表示させます。真ん中あたりにある地球の画像です。

https://developers.google.com/ar/develop/unity/augmented-images/
AR_Image_09

アプリ内にこの地球の画像を表示させると、ARオブジェクトとして、四隅に額縁が表示されました。
AR_Image_07


この後のマーカー画像の変更と表示3Dオブジェクトの変更に関する設定は次回説明します。

Sponsored Link