Android のクイックスタート

Android で ARCore の使用を開始するには、ARCore SDK に含まれる hello_ar_kotlin または hello_ar_java サンプルアプリを実行します。これらのサンプルアプリでは、OpenGL を使用します。これは、2D と 3D のベクター グラフィックをレンダリングするためのプログラミング インターフェースです。検出された平面がアプリに表示され、その平面をタップして 3D モデルを配置できます。

開発環境をセットアップする

サンプル プロジェクトを開く

  1. Android Studio で、ARCore SDK GitHub リポジトリのクローンを作成します。

    これにはさまざまな方法があります。

    • 確立済みの Android Studio インストールの場合:

      • Git メニューで [Clone] を選択します。
      • Version control プルダウンで、バージョン管理システムとして Git を選択します。
      • URL フィールドに、ARCore GitHub リポジトリへの次の URL を入力します。

        https://github.com/google-ar/arcore-android-sdk.git をご覧ください。

    • または、次のように Terminal を開いて git clone コマンドを実行することもできます。

      git clone https://github.com/google-ar/arcore-android-sdk.git
  2. サンプル プロジェクトのいずれかを開きます(プロジェクトをビルドして実行するには、プロジェクトを明示的に開く必要があります)。

    • File メニューで [Open] を選択します。
    • arcore-android-sdk/samples フォルダで、hello_ar_kotlin フォルダまたは hello_ar_java フォルダのいずれかを選択して、[Open] をクリックします。

デバイスまたはエミュレータを準備する

AR アプリはサポートされているデバイスまたは Android Emulator で実行できます。アプリを実行する前に、エミュレータで AR 用の Google Play 開発者サービスを更新する必要があります。詳しくは、Android Emulator で AR アプリを実行する をご覧ください。

サンプルの実行

Android デバイスが開発マシンに接続されていて、Android Studio で Run をクリックします。

Android Studio でプロジェクトをデバッグ可能な APK にビルドし、APK をインストールしてから、デバイス上でアプリを実行します。詳細については、アプリをビルドして実行するをご覧ください。

Google Play 開発者サービス(AR)がインストールされていないか古い場合は、インストールまたは更新を求められることがあります。CONTINUE を選択して Google Play ストアからインストールするか、Google Play 開発者サービス(AR)を更新するの説明に沿って手動で更新してください。

hello_ar_java アプリを使用すると、検出された AR プレーン サーフェスに 3 次元の ARCore 質入れを指定できます。これは Android GL SurfaceView で実装されます。これは、カメラのプレビューと、プレーンやアンカーなどの基本的な AR オブジェクトをレンダリングするために使用されます。hello_ar_java のサンプル レンダリング フレームワークは、com/google/ar/core/examples/java/common/samplerender にあります。

インスタント プレースメントを使用する

Instant Placement API を使用すると、ARCore がサーフェス ジオメトリを検出するのを待つことなく、AR オブジェクトを画面に配置できます。ユーザーがさらに周辺に移動すると、オブジェクトの配置がリアルタイムで改善されます。

画面をタップしてオブジェクトを配置します。ホログラフィック オブジェクトが表示された状態でデバイスを動かし続けると、ARCore が周囲に関する十分なデータを取得して、仮想オブジェクトを正確に固定できるようになります。

ARCore がサーフェスのジオメトリを検出し、オブジェクトが配置されているリージョンでトラッキング可能を確立すると、オブジェクトのポーズが自動的に更新されます。

インスタント プレースメント

図 1 では、インスタント プレースメントが無効になっており、サーフェス ジオメトリが定義されていません。 ビリヤード台の右側の床にある 4 つの小さな青い点は、ノックオーバーしたように見えますが、ポーズは未定義です。

図 2 では、歯車アイコンのメニューから [インスタント プレースメント] が有効になっています。

図 3 では、[インスタント プレースメント] が有効になっている場合、新しいオブジェクトがシーンに配置されています。 正確なポーズがまだ補正されていないことを示すため、色ではなくグレースケールで表示されます。

図 4 では、サーフェスのジオメトリ(トラッキング可能なグリッド線で記述)が検出されると、新しいオブジェクトが色付けされ、ポーズが正確になります。

Depth(深さ)を使用する

Depth が有効になっている場合、ARCore はシーン内のオブジェクトのジオメトリと位置を考慮し、シーン内の他のオブジェクトを基準にしてシーン内に配置されたオブジェクトの位置を計算します。これにより、配置されたオブジェクトをシーン内のオブジェクトで覆い隠し、アプリに現実感を持たせることができます。

インスタント プレースメント

図 1 では、深度が無効になっています。オブジェクトはプールテーブルの下に配置されます。

図 2 では、デバイスがビリヤード台の周りを移動すると、シーン内のオブジェクトに関係なく、オブジェクトはデバイスに従うように見えます。

図 3 では、奥行きを有効にしています。

図 4 では、デバイスがシーンを移動すると、オブジェクトがプール テーブルによって覆い隠されたように表示されます。

次のステップ