本文へスキップ
バージョン: 3.3

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()

現在トラッキングされているアンカーのトラッキングをリフレッシュしようとします。