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 で実行できます。アプリを実行する前に、エミュレータで Google Play 開発者サービスを AR に更新する必要があります。詳しくは、Android Emulator で AR アプリを実行するをご覧ください。

サンプルの実行

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

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

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

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

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

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

画面をタップしてオブジェクトを配置します。ARCore が仮想オブジェクトを正確に固定するのに十分な周囲データを取得できるように、ホログラフィック オブジェクトが画面に表示された後でもデバイスを継続的に移動してください。

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

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

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

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

図 3 では、Instant Placement が有効になっており、新しいオブジェクトがシーンに配置されています。 正確な姿勢にまだ修正されていないことを示すために、色ではなくグレースケールで表示されます。

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

深度を使用

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

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

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

図 2 では、デバイスがプールテーブルを移動すると、シーン内のオブジェクトに関係なく、オブジェクトはデバイスに追従するように見えます。

図 3 では、深度が有効になっています。

図 4 では、デバイスがシーンを動き回るにつれて、オブジェクトがビリヤード表に隠れています。

次のステップ