Android で ARCore の使用を開始するには、 ARCore に組み込まれている hello_ar_kotlin または hello_ar_java サンプルアプリ できます。これらのサンプルアプリでは、OpenGL 2D および 3D ベクター グラフィックをレンダリングするためのプログラミング インターフェースです。アプリに表示される ユーザーは平面をタップして 3D モデルを配置できます。
開発環境を設定する
Android Studio をインストールする バージョン 3.1 以降と、Android SDK Platform バージョン 7.0(API レベル 24)が必要 以上です。
Android を初めて使用する場合は、 初めての Android アプリを作成する
サンプル プロジェクトを開く
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
次のようにサンプル プロジェクトの 1 つを開きます( プロジェクトを構築して実行する必要があります)。
- File メニューから [Open] を選択します。
- arcore-android-sdk/samples フォルダで、 hello_ar_kotlin または hello_ar_java フォルダで、[Open] をクリックします。
デバイスまたはエミュレータを準備する
AR アプリは、サポート対象デバイスで実行できます。または、 ダウンロードします。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 アプリを使用すると、3 次元の ARCore ポーンを
検出された AR 平面の表面です。これは 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] を有効にすると、ARCore はシーン内のオブジェクトのジオメトリと位置を考慮して、 シーンに配置されたオブジェクトを、シーン内の他のオブジェクトとの相対値で比較します。次のことが可能になります。 シーン内のオブジェクトによって遮られるように配置され、 説明します。
図 1 では、Depth が無効になっています。オブジェクトがプールテーブルの下に配置されています。
図 2 では、デバイスがビリヤード台の上で動かすと、その物体が見えてきます。 シーン内のオブジェクトにかかわらずデバイスに追随できます。
図 3 では、Depth が有効になっています。
図 4 では、オブジェクトはデバイスとしてプール テーブルに隠れているように見えます。 動き回ることができます。
次のステップ
- 他のサンプル プロジェクトをビルドして実行してみる 使用できます。
- 構築して実行できるその他のサンプルアプリについては、拡張現実の Codelab をご覧ください。
- アプリで ARCore を有効にする方法をご確認ください。
- ランタイムに関する考慮事項を確認します。
- 設計ガイドラインを確認します。