Android マーカーの基礎

このチュートリアルは、マーカーの作成と画像トラッカーの設定の基礎を紹介します。


このチュートリアルは、マーカーと画像ノードのアセットを使用します。これらのアセットは、こちらからダウンロードできます。

このアセット バンドルには、次のものが含まれます。

  • Kudan Lego Marker – トラッカーによって検出されるマーカー画像です。
  • Kudan Cow – マーカーが検出された場合に表示される画像です。

ファイルをダウンロードしたら、展開してアセットを Android Studio プロジェクトに追加します。

画像トラッカブルの設定

画像トラッカブルを作成するには、最初にトラッキングする画像が必要です。マーカーには、Android でネイティブにサポートされる任意の画像を使用できます。よく使用される形式は、.jpg と .png です。

不適切なマーカー

コンテンツが歪んだり、揺れたり、あるいは全く表示されない場合、一般的な原因は、トラッキングに適していないマーカーが使用されているためです。詳細は、「良いマーカーとは?」ページをご覧ください。

画像トラッカブルを設定するには、最初に ARImageTrackable オブジェクトを作成して、名前で初期化します。次に、トラッカブルの loadFromAsset メソッドを使用して、トラッカブルに画像をロードします。ARImageTracker を初期化して、トラッカブルを追加します。次のようなコードになります。

MainActivity.java
@Override
public void setup() 
{
  super.setup();
  
  // 画像トラッカブルを初期化して画像をロード
  ARImageTrackable imageTrackable = new ARImageTrackable("Lego Marker");
  imageTrackable.loadFromAsset("Kudan Lego Marker.jpg");
        
  // 画像トラッカーの 1 つのインスタンスを取得
  ARImageTracker imageTracker = ARImageTracker.getInstance();
  imageTracker.initialise();
    
  // 画像トラッカブルを画像トラッカーに追加
  imageTracker.addTrackable(imageTrackable);
}

ARImageNode をトラッカブルに追加

この時点でアプリを実行すると、マーカーを検出してトラッキングします。しかし、それを確認するには、何らかのフィードバックが必要です。最も簡単な方法は、トラッカブルにノードを追加することです。

ノードにはさまざまなタイプがあり、それぞれが特定のコンテンツ タイプで動作するように設計されています。このチュートリアルでは、2D 画像表示用の ARImageNode を使用します。

バックグラウンド スレッドでコンテンツを追加

AR コンテンツをアプリケーションに追加する場合、バックグラウンド スレッドで追加することを検討すべきです。そうすることで、カメラのフィードがストールするのを防ぐことができます。

ARNode のタイプ

ARNode の異なるタイプについては、API リファレンスまたはノード ページをご覧ください。

ARImageNode を設定して画像トラッカブルに追加するには、次のコードを setupContent メソッドの最後に追加します。

MainActivity.java
// 画像で画像ノードを初期化
ARImageNode imageNode = new ARImageNode("Kudan Cow.png");

// 画像ノードをトラッカブルのワールド空間の子として追加
imageTrackable.getWorld().addChild(imageNode);

アプリを再度ビルドして実行すると、マーカーがトラッカーによって検出され、Lego Marker 上に Kudan Cow が表示されます。