このチュートリアルは、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 にモジュール フォルダを追加します。
KudanAR をモジュールの依存関係として追加
メニューから [File (ファイル)] -> [Project Structure…(プロジェクトの構造…)] を選択して、表示されたダイアログの左ペインで [Modules (モジュール)] の下にある [app (アプリ)] を選択します。そして、右ペインの [Dependencies (依存関係)] タブで左下にある + アイコンをクリックして、[Module dependancy (モジュールの依存関係)] を選択し、KudanAR を依存関係としてプロジェクトに追加します。
Android マニフェストに権限と設定を追加
マニフェスト ファイルに必要な権限を追加します。Android 6.0 以上向けにビルドする場合は、ARActivity を開く前にカメラの権限要求を含める必要があります。権限の処理の詳細は、こちらをご覧ください。
AR コンテンツを表示するすべてのアクティビティに configChanges と screenOrientation オプションを追加します。
<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>
[/code]
Gradle 設定の調整
次の noCompress
ブロックを app
モジュールの build.gradle
の android
ブロックに追加します。これにより、Android Studio が重要な Kudan アセットを圧縮するのを防ぎます。
{
…
aaptOptions
{
noCompress ‘KARMarker’
noCompress ‘armodel’
}
}[/code]
{
…
aaptOptions
{
noCompress ‘KARMarker’
noCompress ‘armodel’
}
}[/code]
ARAPI キーをアクティビティに追加
MainActivity
を開き、次のように変更します。
MainActivity
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>")
}
}[/code]
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>");
}
}[/code]
対応するアプリケーション名の 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() {
…
}[/code]
import eu.kudan.kudan.ARActivity;
public class MainActivity extends ARActivity {
…
}[/code]
これにより、アクティビティで setup
メソッドを実装できます。setup
メソッドは、ARActivity
が最初にロードするときに呼び出されます。次に例を示します。
super.setup()
// 設定する AR コンテンツをここに記述
}[/code]
public class MainActivity extends ARActivity
{
@Override
public void setup()
{
super.setup();
// 設定する AR コンテンツをここに記述
}
}
[/code]
上記のように MainActivity
を変更したら、アプリをビルドして実行できます。画面にカメラのストリームが表示されるはずです。ただし、まだ何かを検出したり、トラッキングすることはできません。そのための変更は、次のチュートリアルで行います。