Googleは、黒人コミュニティの人種平等を推進することに取り組んでいます。 方法をご覧ください。
このページは Cloud Translation API によって翻訳されました。
Switch to English

iOS向けクラウドアンカーの概要

Cloud Anchorsを使用して、AndroidユーザーとiOSユーザーが共有できるマルチプレーヤーまたはコラボレーションARエクスペリエンスを作成します。

すべての人のためのAR体験を構築および拡張する

ARCore SDK for iOSはARKitとインターフェイスしてクラウドアンカー機能を提供し、同じ環境内のiOSデバイスとAndroidデバイス間でアンカーを共有できるようにします。

ARCore SDK for iOSのバージョン1.12以降、ARKit互換デバイスで動作するARKitアプリを構築できます。

クラウドアンカーとは何ですか?

アプリでは、クラウドアンカーを使用して、ユーザーが仮想オブジェクトをARシーンに追加できます。複数のユーザーが、共有物理空間のさまざまな位置からこれらのオブジェクトを同時に表示および操作できます。

クラウドアンカーは、動作と機能がアンカーと似ていますが、ARCoreクラウドアンカーサービスでホストされているという点で異なります。このホスティングにより、ユーザーはエクスペリエンスを共有できます。

クラウドアンカーはどのように機能しますか?

これらの共有エクスペリエンスを有効にするために、ARCoreはARCore Cloud Anchorサービスに接続して、アンカーホストおよび解決します。これには、インターネット接続が機能している必要があります。

ホスティングと解決には、高レベルで次の手順が含まれます。

  1. ユーザーは、自分の環境にローカルアンカーを作成します。

  2. ホスティング中に、ARCoreはアンカーのデータをARCore Cloud Anchorサービスにアップロード、ARCore CloudAnchorサービスはそのアンカーの一意のIDを返します。

  3. アプリは一意のIDを他のユーザーに配布します。

  4. 解決中に、一意のIDを持つユーザーは、ARCore CloudAnchorサービスを使用して同じアンカーを再作成できます。

Cloud Anchorsで優れたユーザーエクスペリエンスを作成するには、ホスティングプロセスを詳細に理解して、ユーザーの成功に役立つアプリの設計に対応できるようにすることが重要です。

アンカーの確立とホスティング

アンカーを確立してホストするために、ARCoreはアンカー(関心の中心)を囲む空間の3Dフィーチャマップを使用します。この機能マップを取得するには、デバイスの背面カメラが、ホスト呼び出しの30秒前にさまざまな視野角と位置から対象の中心とその周辺の環境をマップする必要があります( hostCloudAnchor:error:

ARCore SDK 1.12.0以降、このホスト呼び出しにより、ARCoreは過去30秒間の選択したビジュアルデータをデバイスのカメラからARCore Cloud Anchorサービスにアップロードします。このサービスは、ビジュアルデータを処理して3Dフィーチャマップを構築し、CloudAnchorを返します。 ID。

3Dフィーチャマップを適切に作成することは、優れたユーザーエクスペリエンスにとって重要です。そうしないと、マッピングの品質が制限され、解決が困難になる可能性があります。マップの品質を向上させるために、ユーザーインターフェイスは、さまざまな視野角と位置からローカルアンカーの周りにデバイスを移動することにより、関心のある中心の周りの環境をできるだけ多くマップするようにユーザーに明示的に指示することをお勧めします。

クラウドアンカーをホストするには:

  1. セッションが開始してから数秒待ってから、アンカーをホストする前に、トラッキングが安定するまで待ちます。

  2. アンカーをホストする場所を選択するときは、視覚的な特徴が互いに簡単に区別できる領域(たとえば、視覚的に区別できる特徴があるコーナー)を見つけるようにしてください。

  3. 背面デバイスのカメラを対象の中心、つまりアンカーを配置するポイントの周囲の領域に向けます。

  4. カメラを対象の中心でトレーニングしたまま、デバイスと対象の中心の間の物理的な距離を大まかに維持しながら、デバイスを動かして、さまざまな視野角と位置から最大30秒間環境をマッピングします。デバイスのカメラを対象の中心でトレーニングしたまま空間を歩き回ると、対象領域の視覚的特徴をあらゆる角度からキャプチャできるようになり、解決がより堅牢になります。

  5. hostCloudAnchor:error:を呼び出して、ホスティングリクエストを開始します。

  6. ARCoreは、ARCore Cloud Anchor APIを介して、ビジュアルデータ、デバイスポーズ、およびアンカーポーズをアップロードします。

  7. ARCore Cloud Anchorサービスは、スペースの3Dフィーチャマップを作成し、デバイスへのアンカーの一意のCloud AnchorIDを返します。

  8. 他のアンカーのステータス(エラー処理メッセージを含む)を確認するには、 anchor.cloudStateを使用します。

ARCore Cloud Anchorサービスは、スペースの3Dフィーチャマップを作成し、一意のCloud AnchorIDをデバイスに返します。

アンカーをホストする必要があります。

anchor.cloudState使用すると、ホストされているアンカーのステータス(エラー処理メッセージを含む)を確認できます。

以前にホストされていたアンカーを解決する

同じ環境内の別のユーザーがデバイスカメラをクラウドアンカーがホストされているエリアに向けると、解決リクエスト( resolveCloudAnchorWithIdentifier:error: :)により、ARCore Cloud Anchorサービスは、シーンの視覚的特徴を3D特徴マップと定期的に比較します。が作成されました。ARCoreはこれを使用して、クラウドアンカーに対するユーザーの位置と向きを正確に特定します。これが、ホスティングリクエストの30秒前に、関心のある中心の周りの環境をできるだけ多くマッピングすることが重要である理由です。

複数のクラウドアンカーの解決を順番に開始できます。最大20個のクラウドアンカーを同時に解決できます。

ホスティングデバイスと同じまたは異なるデバイスを使用して、次の手順に従ってホストされたアンカーを解決します。

  1. セッションが開始してから数秒待ってから、アンカーの解決を試みる前に、トラッキングが安定するまで待ちます。

  2. ホストされているアンカーと同じ環境で、元の関心領域をスキャンして、次のことを確認します。

    • デバイスのカメラには、マップされた領域への明確な視線があります

    • デバイスカメラは、ホストされているアンカーから、最初にアンカーをホストしていたデバイスと同様の距離にあります。

  3. resolveCloudAnchorWithIdentifier:error:を呼び出し、 anchor.cloudStateを使用して、解決要求のステータス定期的に確認します

    リクエストをキャンセルする場合は、 removeAnchor呼び出しremoveAnchor

  4. ARCoreは継続的にARCoreCloud Anchor APIをポーリングし、ビジュアルデータをARCore CloudAnchorサービスに送信します。

  5. ARCore Cloud Anchorサービスは、シーンの視覚的特徴を、作成された3D特徴マップと比較します。一致するものが見つかると、サービスはクラウドアンカーのポーズを返します

クラウドアンカーは解決するはずです。

anchor.cloudState使用すると、ホストされているアンカーのステータス(エラー処理メッセージを含む)を確認できます。 Cloud AnchorをremoveAnchorremoveAnchor呼び出しremoveAnchor

クラウドアンカーのプライバシー要件

ARCore SDK 1.12.0以降を使用するための更新されたプライバシー要件に準拠するには、クラウドアンカーの使用を目立つように開示する必要があります。詳細については、ユーザーのプライバシー要件を参照してください。

データストレージとアクセス制限

クラウドアンカーには、次のデータストレージとアクセス制限があります。

  • ARCore 1.20以降では、クラウドアンカーはホストされてから365日間解決できます。 (1.20より前のバージョンのARCoreでは、Cloud Anchorsはホストされてから24時間しか解決できませんでした。) Cloud Anchor Management APIを使用して、アンカーがすでにホストされた後、アンカーの有効期間を延長できます

  • アンカーをホストしているときにクラウドにアップロードされたビジュアルデータは、24時間以内に破棄されます。

  • アンカーは、サーバー上で3Dフィーチャマップに対して解決されます。

  • 以前にアップロードされたビジュアルデータがユーザーのデバイスに送信されることはありません。

優れたユーザーエクスペリエンスのためのベストプラクティス

次のベストプラクティスは、優れたCloudAnchorsユーザーエクスペリエンスの作成に役立ちます。

  • ホストコールを開始するには、前の30秒間のマッピングを使用して3Dフィーチャマップを作成することに注意してください。アプリのユーザーインターフェースがこれを考慮に入れていることを確認してください。

  • ユーザーが関心のある中心を移動しているときに、ユーザー(またはその両方)にとって楽しい、または役立つ可能性のあるアクションまたは機能を作成することを検討してください。これにより、適切な3D機能マップを作成するタスクも実行されます。

  • 特定の種類のサーフェスでクラウドアンカーをホストまたは解決することは避けてください。

    • 最良の結果を得るには、ユーザーは反射面や、空白の滑らかな白い壁などの視覚的特徴のない面を避ける必要があります。
  • 部屋の照明が十分であることを確認してください。

  • パスARFrameあなたによGARSessionあなたがホストまたは解決アンカーにしてみてくださいする前に。

非推奨ポリシー

ARCore SDK 1.12.0以降ビルドされたアプリは、 Cloud AnchorAPI非推奨ポリシーの対象となります。

ARCore SDK 1.11.0以前ビルドされたアプリは、SDKが古い非推奨のARCore Cloud Anchorサービスを使用しているため、CloudAnchorをホストまたは解決できません。

始めましょう

iOS用ARCoreSDKの使用を開始するには、以下を参照してください。