ポケモンGOなどで使われているAR技術について学んでみよう!(第3回開発編その1)

VR/AR

ポケモンGOなどで使われているAR技術について学んでみよう!(第3回開発編その1)

みなさん、こんにちは。
中村忍です。

前回の記事(第2回準備編)では、ARを開発する上での開発環境について紹介しました。
マーカー型のように、アプリのダウンロードと表示したい画像を用意するだけの簡易的なものから、マーカーレス型やロケーションベース型のようにアプリケーションの開発知識が必要なものまで多岐にわたることが分かりました。

そこで、数あるAR開発環境の中から、ポケモンGOのようなアプリを作ることを目的としながら、AR技術についてお話していきたいと思います。
その中で、今回の記事では、実際に開発環境を用意しながらテストアプリケーションを作成する方法について話していきます。


まず、ポケモンGOのようなアプリを作るためには、ロケーションベース型とマーカーレス型を組み合わせた環境を用意する必要があります。
そこで、開発ツールとして、ロケーションベース型とマーカーレス型の両方を満たせ、かつ、無料で開発可能な「Wikitude」を選びました。また、プラットフォームは、開発アプリを無料で実行できるAndroid端末を選びました。

Wikitudeってどんなの?

Wikitudeは、モバイル開発者用のSDKです。iOSやAndroidといったネイティブ環境やUnityなどでのARアプリの開発が簡単にできます。
Unityはゲーム作成のための統合開発環境で、Unityひとつがあれば、iOS、Android、PlayStation4、VRなどの複数のプラットフォーム向けにゲームを作成できます。また、簡単なゲームならば、プログラミングの知識が不要でゲームの作成が可能です。

ここで一つ注意したいのが、Unityで開発する場合です。WikitudeではUnityによるAR開発のための機能を「Unityプラグイン」という形で提供していますが、ロケーションベース型の機能は含まれていません。
ロケーションベース型のアプリを作成するためにはUnityではなく、iOSやAndroidのネイティブ環境用のSDKを使います。これにはJavascriptの知識が必要になります。

Wikitudeを利用するには、以下の流れを踏む必要があります。

  1. 新規アカウントを作成する
  2. 製品をトライアルする
  3. ライセンス体系を把握する
  4. 製品を購入する
  5. 製品版ライセンスを入手する
  6. サブスクリプションを更新/停止する
  7. 製品版ライセンスキーをアップグレードする

Wikitude のトップページから新規アカウントを作成すると、SDK等がダウンロードできるようになります。Android用のSDKは、「wikitude-sdk-android-721.zip」になりますので、ダウンロードしてみてください。
開発をするだけならば、「2.製品をトライアルする」までのステップとなり、トライアルライセンスで無料で行えます。

トライアルライセンスによって開発できる機能の制限事項はなく、使用できる期間も無制限です。ただし、アプリの実行にはトライアル版アプリとしてアクティベーションする必要があります。トライアル版アプリのカメラビューにはウォーターマークという特殊なマークが表示されるため、そのまま配布することはできません。

詳細は、下記参考の「Wikitudeご利用の流れ」や「Wikitude 製品をトライアルする」などを参照ください。

Androidでの開発環境を構築してみよう

まず、Androidアプリの開発ツールを用意します(Microsoft Visual Studio や Eclipse に相当するツールです)。
Androidでは、Googleから「Android Studio」というツールが無料で使用できます。

Android Studio 3.0.1 (683MB)

Android Studioをインストールした後、Andoridスマートフォンに「Hello!」を表示するテストコードを作成してみましょう。
Androidスマートフォンのバージョンは、筆者が所持している「ver 4.4 (kit kat):API level 19」を選びました。これは、Fujitsu F-01Fという2013年に出たスマートフォンです(結構古いです)。
以下の手順に沿ってトライしてみてください。

  1. Android Studio を起動し、「Start a new Android Studio project」を選びます。すると、「Create Android Project」という画面が出てきます。ここではプロジェクト名は「Test20180309」と入力します。また、「Include C++ Support」にチェックを入れます(筆者はC++が好きなため、C++のサポートがあるとありがたいと思いましたので入れました)。
  2. Target Android Devices の画面では、プラットフォームを選びます。スマートフォン向けなので、「Phone and Tablet」を選択し、API level 19を選びます。
  3. Add an Activity to Mobile では、「Empty Activity」を選び、空のプロジェクトを作成します。
  4. Configure Activityでは、特に設定を変えず、次に進みます。
  5. Customize C++ Support では、特に何も設定を変えません。Finishで完了します。
  6. 上にあるメニューバーから「File」→「Settings」を開きます。「Appearance&Behavior」の「Android SDK」から、「Android SDK 4.4 (KitKat)」にチェックを入れ、インストールします。容量は1GBぐらいあります。
  7. インストール完了後、Android Studioの起動メニューに戻ります。そして、左にある「Test20180309」というプロジェクト名を右クリックし、「Open Module Settings」を選択します。
    「Project」→「Project SDK」から、「Android API 19 Platform」を選択して、プロジェクトで使うSDKをターゲットとなるAndroid端末に設定します。
  8. メニューバーの「Build」から「Make Project」を選択し、プロジェクトをビルドします。
  9. 「Test20180309\app\build\outputs\apk\debug」フォルダにAndroid用の実行ファイル「app-debug.apk」が出来上がっています。これをAndroid端末で開けるようにします。Googleドライブにapkファイルを保存し、apkファイルのURLをAndroid端末のメーラーかブラウザで開く方法が簡単です。メーラーまたはブラウザで開くとapkファイルのインストールが行われ、インストール完了後にテストアプリを開くと「Hello from C++」というメッセージが表示されます。

まとめ

いかがでしたでしょうか?
スマートフォンやAndroid Studioをはじめとする各種バージョンは日々アップデートされており、昔はすんなり作成できたけど今は動かないなど、バージョン違いでエラーが多く起こることがあります。
また、Android Studioのメニューは英語なため、少々ハードルが高いかと思う人もいるかと思います。

筆者もテストアプリができるまでに時間がかかりました。しかし、無料で開発できることは大きなメリットだと思います。
今回はテストアプリの作成方法を紹介しましたので、次回はWikitudeの機能を含めた内容を書いていきます。

参考資料