このチュートリアルは、マーカーの作成と画像トラッカーの設定の基礎を紹介します。
このチュートリアルは、マーカーと画像ノードのアセットを使用します。これらのアセットは、こちらからダウンロードできます。
このアセット バンドルには、次のものが含まれます。
- Kudan Lego Marker – トラッカーによって検出されるマーカー画像です。
- Kudan Cow – マーカーが検出された場合に表示される画像です。
ファイルをダウンロードしたら、展開してアセットを Android Studio プロジェクトに追加します。
画像トラッカブルの設定
画像トラッカブルを作成するには、最初にトラッキングする画像が必要です。マーカーには、Android でネイティブにサポートされる任意の画像を使用できます。よく使用される形式は、.jpg
と .png です。
不適切なマーカー
コンテンツが歪んだり、揺れたり、あるいは全く表示されない場合、一般的な原因は、トラッキングに適していないマーカーが使用されているためです。詳細は、「良いマーカーとは?」ページをご覧ください。
画像トラッカブルを設定するには、最初に ARImageTrackable
オブジェクトを作成して、名前で初期化します。次に、トラッカブルの loadFromAsset
メソッドを使用して、トラッカブルに画像をロードします。ARImageTracker
を初期化して、トラッカブルを追加します。次のようなコードになります。
@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
メソッドの最後に追加します。
// 画像で画像ノードを初期化 ARImageNode imageNode = new ARImageNode("Kudan Cow.png"); // 画像ノードをトラッカブルのワールド空間の子として追加 imageTrackable.getWorld().addChild(imageNode);
アプリを再度ビルドして実行すると、マーカーがトラッカーによって検出され、Lego Marker 上に Kudan Cow が表示されます。