基本コンセプト

コレクションでコンテンツを整理 必要に応じて、コンテンツの保存と分類を行います。

ARCore を操作する前に、いくつかの基本的なコンセプトを理解しておくことをおすすめします。ARCore は、これらのコンセプトを組み合わせることで、仮想コンテンツを実際のサーフェスで休ませたり、実際の場所に取り付けたように見せるエクスペリエンスを可能にする仕組みを示しています。

モーション トラッキング

スマートフォンが世界中を移動するとき、ARCore は同時ローカライズとマッピング(SLAM)と呼ばれるプロセスを使用して、スマートフォンが世界と相対的に理解します。ARCore は、キャプチャされたカメラ画像から「特徴点」と呼ばれる視覚的に異なる特徴を検出し、これらの点を使用して位置の変化を計算します。視覚情報とデバイスの IMU の慣性測定値を組み合わせて、経時的な世界におけるカメラの姿勢(位置と向き)を推定します。

3D コンテンツをレンダリングする仮想カメラのポーズを、ARCore によって提供されるデバイスのカメラの姿勢に合わせることで、開発者は仮想コンテンツを正しい視点からレンダリングできます。レンダリングされた仮想画像を、デバイスのカメラから取得した画像の上に重ねて、仮想コンテンツが現実世界の一部であるかのように見せることができます。

環境に対する理解

ARCore は、特徴点とプレーンを検出することで、常に実際の環境の理解を向上させています。

ARCore は、テーブルや壁など、共通の水平面または垂直面にあるように表示される特徴点のクラスタを探し、それらのサーフェスを幾何学的な平面としてアプリで利用できるようにします。ARCore では、各ジオメトリ プレーンの境界を決定し、その情報をアプリで利用できるようにすることもできます。この情報を使用して、仮想オブジェクトを平面上に配置できます。

ARCore は特徴点を使用して平面を検出するため、テクスチャのない白い面(白い壁など)が正しく検出されないことがあります。

深い理解

ARCore では、サポートされているデバイスのメインの RGB カメラを使用して、任意の地点からのサーフェス間の距離データを含むデータを含む深度マップを作成できます。深度マップで提供される情報を使用して、仮想オブジェクトを観察面と正確に衝突させる、現実世界のオブジェクトの前または後ろに表示するなど、臨場感あふれるリアルなユーザー エクスペリエンスを実現できます。

光量推定

ARCore は、周囲の環境に関する情報を検出し、特定のカメラ画像の平均強度と色補正を提供します。周囲の環境と同じ条件下で仮想オブジェクトをライティングできるので、臨場感を高めることができます。

ユーザー インタラクション

ARCore は、ヒットテストを使用してスマートフォンの画面(タップなど、アプリがサポートする操作に対応)に対応する(x,y)座標を取り、光線が交差する幾何学的な平面またはフィーチャー ポイントと、ワールド空間におけるその光線の交差のポーズを返します。これにより、ユーザーは環境内のオブジェクトを選択したり、操作したりできます。

方向付けられたポイント

仮想ポイントとは、角度のあるサーフェスに仮想オブジェクトを配置できる機能です。特徴ポイントを返すヒットテストを実行すると、ARCore は近くの特徴点を調べ、それを使用して特定の特徴点でのサーフェスの角度を推定します。ARCore は、この角度を考慮に入れた姿勢を返します。

ARCore は、特徴点のクラスタを使用して表面の角度を検出するため、白い壁など、テクスチャのない表面が正しく検出されない場合があります。

アンカーとトラッキング可能データ

ARCore が位置と環境に対する理解を深めると、姿勢は変化します。仮想オブジェクトを配置する場合は、ARCore がオブジェクトの位置を経時的に追跡するように、アンカーを定義する必要があります。多くの場合、ユーザー操作で説明されているように、ヒットテストによって返されたポーズに基づいてアンカーが作成されます。

ポーズは変更される可能性があります。ARCore は、ジオメトリ プレーンやフィーチャー ポイントなどの環境オブジェクトの位置を経時的に更新する可能性があります。平面と点は、トラッキング可能という特殊なタイプのオブジェクトです。名前が示すように、これらは ARCore が時間の経過とともに追跡するオブジェクトです。仮想オブジェクトを特定のトラッキング可能に固定して、デバイスが移動しても仮想オブジェクトとトラッキング可能デバイスの関係が安定するようにできます。つまり、仮想 Android フィギュアをデスクに配置すると、後でデスクに関連付けられているジオメトリ プレーンのポーズを ARCore で調整しても、Android フィギュアはテーブルの上部に表示されたままになります。

詳細については、アンカーの操作をご覧ください。

拡張画像

拡張イメージは、商品のパッケージや映画のポスターなど、特定の 2D 画像に応答する AR アプリを構築できる機能です。ユーザーは、特定のカメラにスマートフォンのカメラを向けると AR エクスペリエンスをトリガーできます。たとえば、スマートフォンのカメラを映画のポスターに向けると、キャラクターがポップアウトしてシーンが展開します。

ARCore は、動いているバスの側面にあるビルボードなどの動画も追跡します。

画像をオフラインでコンパイルして画像データベースを作成したり、個々の画像をリアルタイムでデバイスから追加したりできます。登録すると、ARCore がこれらの画像と画像の境界を検出し、対応するポーズを返します。

共有

ARCore Cloud Anchor API を使用すると、Android デバイスと iOS デバイス用のコラボレーション アプリやマルチプレーヤー アプリを作成できます。

Cloud Anchors を使用すると、1 台のデバイスがアンカーと付近の特徴ポイントをクラウドに送信し、ホスティングできます。これらのアンカーは、同じ環境の Android デバイスまたは iOS デバイスで他のユーザーと共有できます。これにより、アプリはこれらのアンカーに接続された同じ 3D オブジェクトをレンダリングできるため、ユーザーは同じ AR エクスペリエンスを同時に利用できます。

詳細

選択したプラットフォームで AR エクスペリエンスを構築することで、これらのコンセプトの実践を開始します。