共有ARを使い始める

共有AR体験を作成するには、まず次のような基本的な手順を行う必要があります。

  • プロジェクトにARDKのネットワークを設定します。ネットワークは、ARDKバックエンドとの通信(ローカライゼーションデータやセッション管理)や、同一の共有ARセッション内のクライアント間のネットワークメッセージ処理に使用されます。

  • ARローカライゼーションを設定し、各クライアントが現実世界の同一空間にローカライズして同期できるようにします。

  • ゲームオブジェクトやロジックを追加します。この際、HLAPIやLLAPIを使って、ゲームオブジェクトの位置やその他のデータをクライアント間で通信するための調整を行います。

ARDKネットワークの設定

プロジェクトにネットワークを追加するには、ARDKマネージャーを使用するか、LLAPIのネットワーク設定APIを使用します。

ARDKマネージャーを使用する場合は、 `ARNetworkingSceneManager` プレハブをシーンに追加します。このプレハブには、ネットワークとARローカライゼーションを有効にするために必要なARDKコンポーネントがすべて付属しています。 `ARNetworkingSceneManager` を追加したら、次の操作を行います。

  • ARNetworkingManagerコンポーネントとCapabilityCheckerコンポーネントのみ、「Manage Using Unity(Unityを使用して管理する)」が有効になっていることを確認します。他のコンポーネントは、ARNetworkingManagerコンポーネントによって管理されます。

  • セッションIDを入力します(UIでは、Network Session Managerコンポーネントの「セッションID」フィールドに該当)。このフィールドは、任意の文字列が入力されていれば問題ありません。

  • シーン内のデフォルトカメラをすべて削除します。また、 `ARNetworkingSceneManager` によって、シーンのカメラとして使用する子ARSceneCameraも追加されます。

ARNetworkingSceneManagerの使用例については、ARDK使用例のPongやPongHLAPIのデモシーンと、 中級チュートリアル: Pong、マルチプレイヤーARゲームの作成 をご参照ください。

ARDKマネージャーを使用できない場合は、独自のIARNetworkingインスタンスを作成し、ARSessionを設定して、ネットワークを有効にします。詳細については、 ネットワーク化されたARセッションを設定する をご参照ください。

ARローカライゼーションをセットアップする

共有環境のARローカライゼーションは、 `ARNetworkingSceneManager` が有効に設定されていると自動的に有効になります。ARNetworkingSceneManagerを使用せずに、ネットワーク化された独自のARSessionを管理している場合は、セッションの `ARWorldTrackingConfiguration``IsSharedExperienceEnabled` を有効にする必要があります。

ローカライゼーションを行う方法を決める必要があります。ローカライズは、環境内のオブジェクトを使用する方法(共有環境のローカライゼーション)か、QRコードのようなマーカー画像を使用する方法(マーカーシンクのローカライゼーション)で行うことができます。

どちらの場合も、ARローカライゼーションのステータスを管理するためのコードを追加する必要があります。目的のローカライゼーションターゲットにデバイスのカメラを向けるようにユーザーに指示し、クライアントが正常にローカライズされたタイミングを確認するために `PeerState` を監視します。詳細については、以下をご参照ください。

HLAPIまたはLLAPIを使ってゲームオブジェクト情報を共有する

クライアントが正常にローカライズされたら、ゲームオブジェクト情報の共有を開始できます。クライアント間でメッセージを送信するには、高レベルAPI(HLAPI)または低レベルAPI(LLAPI)を使用します。

これらのAPIの詳細や、使用するタイミングについては、 仮想オブジェクト情報を共有する をご参照ください。

ARDKによる共有AR体験の開発の詳細説明

次の動画では、Unityで共有AR体験を作成する方法を説明します。この動画では、ARNetworkingを追加して、環境をスキャンしてローカライズする方法などが紹介されています。