Googleは、黒人コミュニティの人種的平等を推進することに取り組んでいます。 方法をご覧ください。

アンカーの操作

アンカーを使用して、仮想オブジェクトがARシーン内の所定の位置に留まっているように見せます。

なぜアンカーを使用するのですか?

Arcoreの者として、環境理解AR体験を通じてアップデート、仮想オブジェクトは、それらが置かれた場所から離れてドリフトするように見えることができます。これは、アプリのリアリズムとユーザーエクスペリエンスに影響を与える可能性があります。

アンカーは、オブジェクトが空間内で同じ位置と方向にとどまるように見えることを保証し、現実世界に配置された仮想オブジェクトの錯覚を維持するのに役立ちます。

アンカーのしくみ

アンカーの使用に慣れていない場合は、ワールドスペースとポーズを確認すると便利です。

  • ワールドスペース

    • カメラとオブジェクトが配置される座標空間
    • カメラとオブジェクトの位置は、フレームごとにワールド空間で更新されます
  • ポーズ

    • ワールド空間でのオブジェクトの位置と方向を表します

アンカーを作成するときは、現在のフレームのワールドスペースの推定値に対する位置と方向を表すポーズを使用します。

このアンカーに1つ以上のオブジェクトをアタッチします。アンカーとそれに接続されているオブジェクトは、世界のどこに配置されているかに留まっているように見えます。アンカーポーズが各フレームのワールドスペースの更新に適応すると、アンカーはそれに応じてオブジェクトのポーズを更新します。

複数のオブジェクトを同じアンカーにアタッチして、アンカーのポーズが調整された場合でも、これらのオブジェクトが相対的な位置と方向を維持するようにすることができます。

シーンでアンカーを使用する

シーンでアンカーを使用するには、コードで次のことを行う必要があります。

  • Trackable(Planeなど)またはARCoreセッションのコンテキストでアンカーを作成します。
  • 1つまたは複数のオブジェクトをアンカーにアタッチします。

アンカーは、シーンのオブジェクト内のさまざまな種類の位置動作をサポートできます。

アンカーコンテキストとシーンのオブジェクトに必要なアンカーの数の決定は、ARシーンに必要な位置の動作によって異なります。詳細については、次のセクションを参照してください。

アンカーコンテキストを選択します

TrackableまたはARCoreセッションを使用して、シーンにアンカーを追加します。

オブジェクトが欲しいときアンカーをに取り付けます
トラッカブルに「溶接」されて表示され、トラッカブルと同じ回転効果の影響を受けます。
これも:
  • 飛行機の表面にくっついているように見える
  • トラッカブルの上または前に浮かぶなど、トラッカブルに対して相対的な位置を維持する
追跡可能
ユーザーエクスペリエンス全体を通じて、ワールドスペースで同じポーズを維持しているように見えますARCoreセッション

1つまたは複数のオブジェクトをアンカーします

1つまたは複数のオブジェクトをアンカーにアタッチできます。一般に、これらのオブジェクトは、次の1つ以上と空間的な関係があります。

  • お互い
  • 平面などの追跡可能
  • 世界空間での位置

アンカーガイドライン

アプリのリアリズムとパフォーマンスは、アンカーを効果的かつ効率的に使用することで恩恵を受けます。

近くのアンカーに取り付けられたオブジェクトは、ARエクスペリエンス全体を通じて、現実的かつ相互に相対的な位置を維持しているように見えます。

必要なアンカーのみを使用すると、CPUコストを削減できます。

可能な場合はアンカーを再利用する

ほとんどの場合、オブジェクトごとに新しいアンカーを作成するのではなく、近くにある複数のオブジェクトに同じアンカーを使用する必要があります。

オブジェクトがトラッカブルまたはワールド空間内の位置との一意の空間関係を維持する必要がある場合は、オブジェクトに新しいアンカーを使用します。

シーン内の各オブジェクトに独自のアンカーがある場合、これらのアンカーは、ARCoreによる各フレームのワールドスペースの推定に応じて、オブジェクトのポーズを互いに独立して調整することに注意してください。個別にアンカーされたオブジェクトは、互いに対してシフトまたは回転する可能性があり、仮想オブジェクトが互いに対して所定の位置に留まる必要があるARシーンの幻想を打ち破ります。


たとえば、アプリでユーザーが部屋の周りに仮想家具を配置できると想像してみてください。ユーザーがアプリを開くと、ARCoreは部屋の卓上と床を平面として追跡し始めます。ユーザーは、仮想ランプを卓上に配置します。次に、ユーザーは仮想の椅子を床に置きます。

この時点で、シーンには1つのアンカーが卓上平面に接続され、もう1つが床平面に接続されている必要があります。

ユーザーが別の仮想ランプをテーブルトップに追加した場合、テーブルトッププレーンにすでに取り付けられているアンカーを再利用できます。このように、両方のランプが卓上平面にくっついて、互いの相対的な位置を維持しているように見えます。椅子はまた、床面に対してその位置を維持します。

オブジェクトをアンカーに近づけてください

オブジェクトをアンカーするときは、使用しているアンカーの近くにあることを確認してください。 ARCoreによるワールド空間座標の更新による予期しない回転運動を防ぐために、アンカーから8メートル(8m)または26フィート(26フィート)以上離れた場所にオブジェクトを配置することは避けてください。

既存のアンカーから8メートル以上離れた場所にオブジェクトを配置する必要がある場合は、この位置の近くに新しいアンカーを作成し、オブジェクトを新しいアンカーにアタッチします。

未使用のアンカーを取り外します

アプリのパフォーマンスを向上させるために、不要になったアンカーをすべて取り外します。

アプリにはすべてのTrackableのCPUコストが発生し、ARCoreはアンカーがアタッチされたTrackableをリリースしません。