コードによる位置情報ARの使い方
このHow-toガイドでは、以下の内容について説明します。
ARLocationManager
パブリック API を使ったARLocation
の管理と追跡- 登録されたARLocationsの更新をリスンする
- ARLocationからの相対的なコンテンツの配置
- ARセッション中に追跡されたARLocationを交換する
前提条件
- ARDK がインストールされたUnityプロジェクトと、セットアップされた基本的な AR シーンが必要です。 詳しくは、ARDK 3のセットアップおよびARシーンのセットアップを参照してください。
- APIキーを追加していない場合は、有効なAPIキーが必要です。
- このHow-Toを使用するには、プロジェクトのARシーンに
ARLocationManager
が必要です。 プロジェクトにARLocationManager
とARLocation
を追加する方法については、Unity にリアルワールドのロケーションを追加する のステップ 4 を参照してください。 (ARLocationの交換では、複数のARLocation
が必要になります)。
追跡するARLocationの登録
ARLocationManager
にARLocation
を追加するには、ARLocationManager
のSetARLocationsを呼び出して設定します。
これが呼ばれるたびに、以前に設定されたロケーションはすべてクリアされる。 SetARLocations()
は、StartTracking()
を呼び出す前にのみ呼び出すことができる。 トラッキングする ARLocation
を設定したら、ARLocationManager
の StartTracking() をコールしてトラッキングを開始します。
トラッキングを開始するには、ARLocationManager
のStartTracking() を呼び出します。
備考
ARLocation
は同時に5つまで登録できるが、トラッキングに成功した最初の1つだけが更新を報告する。 複数の場所を同時に追跡しようとすると、追跡のためのネットワーク帯域幅の使用量も増加する。 ユーザーがどこにいるかわかっている場合、またはトラッキングの対象としている場所がある場合、トラッキングするARLocation
を1つだけ登録することを推奨します。 トラッキングの対象が明確でない場合は、複数のロケーションを登録すると便利です。
using Niantic.Lightship.AR.LocationAR;
using UnityEngine;
public class ARLocationTracking : MonoBehaviour
{
[SerializeField]
private ARLocationManager ArLocationManager;
[SerializeField]
private ARLocation[] ArLocations;
public void StartTracking()
{
ArLocationManager.SetARLocations(ArLocations);
ArLocationManager.StartTracking();
}.
}