class ARLocationManager
(Niantic.Lightship.AR.LocationAR.ARLocationManager)
概要
ARLocationManagerは、ARLocationsを追跡するために使われる。 ARLocationsは、デジタルコンテンツと現実世界を結びつけます。 ARLocationのトラッキングを開始し、携帯電話のカメラを物理的な場所に向けると、ARLocationにチャイルドしたデジタルコンテンツが物理的な世界に現れます。
class ARLocationManager:Niantic.Lightship.AR.PersistentAnchors.ARPersistentAnchorManager {
public:
// fields
int ContinuousLocalizationRateSeconds;
ARLocation[] ARLocations => GetComponentsInChildren<ARLocation>(true);
bool AutoTrack => _autoTrack;
// properties
float InterpolationTimeSeconds;
bool ContinuousLocalizationEnabled;
bool InterpolationEnabled;
int MaxLocationTrackingCount;
// イベント
event locationTrackingStateChanged();
// メソッド
void SetARLocations(params ARLocation[] arLocations);
void StartTracking();
void StopTracking();
void TryUpdateTracking();
protected:
//
override void OnEnable();
override void OnBeforeStart();
virtual override void Start();
override void OnDisable();
};
Inherited Members
public:
// イベント
event arPersistentAnchorStateChanged();
// メソッド
bool GetVpsSessionId(out string vpsSessionId);
bool TryTrackAnchor(
ARPersistentAnchorPayload payload,
out ARPersistentAnchor arPersistentAnchor
);
void DestroyAnchor(ARPersistentAnchor arPersistentAnchor);
protected:
// fields
bool InterpolateAnchors = false;
bool ContinuousLocalizationEnabled = XRPersistentAnchorConfiguration.DefaultContinuousLocalizationEnabled;
bool TemporalFusionEnabled = XRPersistentAnchorConfiguration.DefaultTemporalFusionEnabled;
float CloudLocalizerMaxRequestsPerSecond = XRPersistentAnchorConfiguration.DefaultCloudLocalizerMaxRequestsPerSecond;
uint CloudLocalizationTemporalFusionWindowSize = XRPersistentAnchorConfiguration.DefaultCloudLocalizationTemporalFusionWindowSize;
bool DiagnosticsEnabled = XRPersistentAnchorConfiguration.DefaultDiagnosticsEnabled;
override string gameObjectName => "Persistent Anchor";
// methods
override GameObject GetPrefab();
override void OnEnable();
override void OnBeforeStart();
virtual void Start();
override void OnDisable();
override void OnDestroy();
override void OnTrackablesChanged(
リスト<ARPersistentAnchor> 追加,
リスト<ARPersistentAnchor> 更新,
リスト<ARPersistentAnchor> 削除
);
詳細資料
ARLocationManagerは、ARLocationsを追跡するために使われる。 ARLocationsは、デジタルコンテンツと現実世界を結びつけます。 ARLocationのトラッキングを開始し、携帯電話のカメラを物理的な場所に向けると、ARLocationにチャイルドしたデジタルコンテンツが物理的な世界に現れます。
Fields
ContinuousLocalizationRateSeconds
int ContinuousLocalizationRateSeconds
時代遅れ。 代わりにCloudLocalizerMaxRequestsPerSecondを使用してください。
ARLocations
ARLocation[] ARLocations => GetComponentsInChildren<ARLocation>(true)
ARLocationManagerにチャイルドしているすべてのARLocationsを取得します。
AutoTrack
bool AutoTrack => _autoTrack
選択されたARLocationのトラッキングを自動的に開始するかどうか。 Trueの場合は、現在有効になっている位置情報が起動時に自動的にトラッキングされます。
プロパティ
InterpolationTimeSeconds
float InterpolationTimeSeconds
アンカー補間が行われる秒数。 タイムが速いほど、動きはより顕著になる。
.. 注::
これは実験的な機能であり、予告なく変更または廃止されることがあります。
ContinuousLocalizationEnabled
bool ContinuousLocalizationEnabled
連続ローカライズを有効にするか無効にするか
.. 注::
これは実験的な機能であり、予告なく変更または廃止されることがあります。
InterpolationEnabled
bool InterpolationEnabled
補間を有効にするか無効にするか
.. 注::
これは実験的な機能であり、予告なく変更または廃止されることがあります。
MaxLocationTrackingCount
int MaxLocationTrackingCount
StartTrackingによって追跡されるロケーションの最大数。 MaxLocationTrackingCountは常に1です。 ARDKの将来のバージョンでは、一度に複数の場所を追跡できるようになるかもしれないが、現在追跡できるのは一度に1つの場所のみである。
Events
locationTrackingStateChanged
event locationTrackingStateChanged()
位置情報のトラッキング状態が変化すると呼び出されます。
メソッド
SetARLocations
void SetARLocations(params ARLocation[] arLocations)
StartTracking()が呼び出されたときに追跡を試みるARロケーションを選択する。 実際に追跡されるのは1カ所になります。
Parameters:
arLocation
- 追跡を試みる場所。
StartTracking
void StartTracking()
SetARLocations()で指定された場所の追跡を開始する。
現在、一度に追跡できるのは1カ所のみ。 将来的には、トラッキングされる場所の数はMaxAnchorTrackingCountに制限される。
ARLocationの子としてオーサリングされたコンテンツは、ARLocationがトラッキングされるようになると、有効になります。 これで、現実世界にデジタルコンテンツが生成されます。
SetARLocations()で場所が指定されていない場合、近くの場所を追跡しようとする要求が行われる。 この場合、近くにある最大5つの場所がターゲットとなり、最初に追跡に成功した場所が使用される。
StopTracking
void StopTracking()
現在追跡している位置情報のトラッキングを停止します。 必ず、新しい位置情報に切り替える前に呼び出す必要があります。
.. 注::
アンカーは非同期に破棄されるため、[StopTracking()](./index.mdx#StopTracking)を呼び出した後、[StartTracking()](./index.mdx#StartTracking)を呼び出すまでに少し遅延が必要です。
TryUpdateTracking
void TryUpdateTracking()
現在トラッキングされているアンカーのトラッキングをリフレッシュしようとします。