このチュートリアルは、KudanAR を使用して Android 上で拡張現実 (Augmented Reality、AR) プロジェクトをセットアップする方法を紹介します。
Android 向け Kudan AR フレームワークのダウンロード
最初に、Kudan AR フレームワークが必要です。ダウンロード ページからダウンロードできます。
新規 Android Studio プロジェクトの作成
Android Studio を起動して、新規プロジェクトを作成します。
いくつかのフィールドがありますが、[Application Name (アプリケーション名)] と [Company Domain (会社のドメイン)] は重要です。この 2 つのフィールドの入力値で [Package Name (パッケージ名)] が構成されます。この値は、API キーに関連付けられているアプリケーション ID と同じでなければなりません。これは、無料の API キーを生成したときに使用したアプリケーション ID、または開発ライセンス キーを使用している場合は com.xlsoft.kudanar
になります。
Kudan AR フレームワークをプロジェクトにインポート
メニューから [File (ファイル)] -> [New (新規)] -> [New Module… (新規モジュール…)] を選択して、表示されたダイアログで [Import .JAR/.AAR Package (.JAR/.AAR パッケージのインポート)] をクリックして、.aar パッケージをプロジェクトにインポートします。ダウンロードした KudanAR.aar ファイルを指定します。サブプロジェクト名は「KudanAR」とします。
Kudan のモジュールをプロジェクトに追加
settings.gradle と sync gradle にモジュール フォルダを追加します。
include ':app', ':KudanAR'
KudanAR をモジュールの依存関係として追加
メニューから [File (ファイル)] -> [Project Structure…(プロジェクトの構造…)] を選択して、表示されたダイアログの左ペインで [Modules (モジュール)] の下にある [app (アプリ)] を選択します。そして、右ペインの [Dependencies (依存関係)] タブで左下にある + アイコンをクリックして、[Module dependancy (モジュールの依存関係)] を選択し、KudanAR を依存関係としてプロジェクトに追加します。
Android マニフェストに権限と設定を追加
マニフェスト ファイルに必要な権限を追加します。Android 6.0 以上向けにビルドする場合は、ARActivity を開く前にカメラの権限要求を含める必要があります。権限の処理の詳細は、こちらをご覧ください。
AR コンテンツを表示するすべてのアクティビティに configChanges と screenOrientation オプションを追加します。
<uses-permission android:name="android.permission.CAMERA" /> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.READ_PHONE_STATE" /> <activity android:name=".MainActivity" ... android:configChanges="orientation|screenSize" android:screenOrientation="fullSensor"> ... </activity>
Gradle 設定の調整
次の noCompress
ブロックを app
モジュールの build.gradle
の android
ブロックに追加します。これにより、Android Studio が重要な Kudan アセットを圧縮するのを防ぎます。
android { ... aaptOptions { noCompress 'KARMarker' noCompress 'armodel' } }
android { ... aaptOptions { noCompress 'KARMarker' noCompress 'armodel' } }
ARAPI キーをアクティビティに追加
MainActivity
を開き、次のように変更します。
MainActivity
package com.xlsoft.kudanar import android.support.v7.app.AppCompatActivity import android.os.Bundle import eu.kudan.kudan.ARAPIKey; class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) // setContentView(R.layout.activity_main) val key = ARAPIKey.getInstance() key.setAPIKey("<Put API Key here>") } }
package eu.kudan.gettingstarted; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import eu.kudan.kudan.ARAPIKey; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // UI 要素を作成する予定がない限り、これはコメントアウト //setContentView(R.layout.activity_main); ARAPIKey key = ARAPIKey.getInstance(); key.setAPIKey("<Put API Key here>"); } }
対応するアプリケーション名の API キーを検索します。
- 独自のパッケージ名を使用している場合、これは Web サイトで生成したキーです。
com.xlsoft.kudanar
開発パッケージ名を使用している場合は、開発ライセンス キーを使用できます。このキーは透かしを表示しませんが、App Store へのアプリのアップロードには使用できません。アプリを公開するには、上記の Web サイトで無料のキーを生成するか、ライセンスを購入する必要があります。
ARActivity の設定
MainActivity
に ARActivity
をインポートして拡張します。
MainActivity
... import android.support.v7.app.AppCompatActivity import android.os.Bundle import eu.kudan.kudan.ARAPIKey; import eu.kudan.kudan.ARActivity; class MainActivity : ARActivity() { ... }
... import eu.kudan.kudan.ARActivity; public class MainActivity extends ARActivity { ... }
これにより、アクティビティで setup
メソッドを実装できます。setup
メソッドは、ARActivity
が最初にロードするときに呼び出されます。次に例を示します。
override fun setup() { super.setup() // 設定する AR コンテンツをここに記述 }
import eu.kudan.kudan.ARActivity; public class MainActivity extends ARActivity { @Override public void setup() { super.setup(); // 設定する AR コンテンツをここに記述 } }
上記のように MainActivity
を変更したら、アプリをビルドして実行できます。画面にカメラのストリームが表示されるはずです。ただし、まだ何かを検出したり、トラッキングすることはできません。そのための変更は、次のチュートリアルで行います。