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

class ARPersistentAnchorManager

(Niantic.Lightship.AR.PersistentAnchors.ARPersistentAnchorManager)。

概要

永続的なアンカーを管理します。

    class ARPersistentAnchorManager:ARTrackableManager< XRPersistentAnchorSubsystem, XRPersistentAnchorSubsystemDescriptor, XRPersistentAnchorSubsystem.Provider, XRPersistentAnchor, ARPersistentAnchor > {
public
// イベント

event arPersistentAnchorStateChanged();

// メソッド

bool GetVpsSessionId(out string vpsSessionId);

bool TryTrackAnchor(
ARPersistentAnchorPayload payload,
out ARPersistentAnchor arPersistentAnchor
);

void DestroyAnchor(ARPersistentAnchor arPersistentAnchor);

protected
// フィールド

bool InterpolateAnchors = false;
bool TemporalFusionEnabled = false;
override string gameObjectName => "Persistent Anchor";

// メソッド

override GameObject GetPrefab();
override void OnEnable()
virtual void Start();
override void OnDisable();
override void OnDestroy();

override void OnTrackablesChanged(
List<ARPersistentAnchor> added,
List<ARPersistentAnchor> updated,
List<ARPersistentAnchor> removed
);
};

// 直接の子孫

class ARLocationManager

詳細資料

永続的なアンカーを管理します。

このコンポーネントを使用して、プログラムによって永続的なアンカーの復元や削除、クエリを行います。 永続的なアンカーとは、処理されたスキャンによって生成される、世界における永続的なポーズのことで、今後のセッションでも同じ現実世界の場所に存在する。 仮想コンテンツを永続的なアンカーに相対的に配置することで、将来のセッションで現実世界の同じ位置に復元することができます。

永続的なアンカーを管理するための低レベルのAPIです。 Unity Editorでバーチャルコンテンツをオーサリングする場合は、代わりにARLocationManagerとARLocationsを使用してください。

ARPersistentAnchorManager.arPersistentAnchorStateChangedイベントで変更(追加、更新、削除)をサブスクライブします。

    **参照

    ARTrackableManager\<TSubsystem,TSubsystemDescriptor,TProvider,TSessionRelativeData,TTrackable>

フィールド

gameObjectName

override string gameObjectName => "永続アンカー"

ARPersistentAnchor](/docs/ja/ardk/3.1/apiref/Niantic/Lightship/AR/PersistentAnchors/ARPersistentAnchor/)ごとにインスタンス化されるGameObjectに割り当てる名前。

Events

arPersistentAnchorStateChanged

event arPersistentAnchorStateChanged()

アンカーの状態が変化すると呼び出されます。

このイベントの各呼び出しには、このフレームで状態またはポーズが変更された1つのPersistent Anchorが含まれます。 argのarPersistentAnchorのTrackingStateを問い合わせて、新しいTrackingStateを決定する。 arPersistentAnchor の PredictedPose を問い合わせて、新しい PredictedPose を決定します。

方法

GetPrefab

override GameObject GetPrefab()

ARPersistentAnchor](/docs/ja/ardk/3.1/apiref/Niantic/Lightship/AR/PersistentAnchors/ARPersistentAnchor/)を作成するときに使用するプレハブ。 NULLの場合は、新しいGameObjectが作成されます。

OnTrackablesChanged

override void OnTrackablesChanged(
リスト<ARPersistentAnchor> 追加,
リスト<ARPersistentAnchor> 更新,
リスト<ARPersistentAnchor> 削除
)

ベースクラスで追跡可能な変更が検出されると呼び出されます。

    **パラメーター

    added - 追加されたアンカーのリスト。

    updated - 更新されたアンカーのリスト。

    remove`` - 削除されたアンカーのリスト。

GetVpsSessionId

bool GetVpsSessionId(string vpsSessionId)

vpsセッションIDを取得します(32文字の16進数大文字文字列) vpsセッションは、指定されたアンカーセットに対して最初のTryTrackAnchorと最後のDestroyAnchorの間で定義されます。

    **パラメーター

    vpsSessionId`` - vps セッション ID で、32 文字の 16 進大文字の文字列。

    **返品について

    True vpsセッションIDを取得できる場合 False vpsセッションが実行されていない場合

TryTrackAnchor

bool TryTrackAnchor(
ARPersistentAnchorPayload payload,
out ARPersistentAnchor arPersistentAnchor
)

ペイロードから永続的なアンカーを復元します。 アンカーのGameObjectが直ちに返るため、子オブジェクトを追加できますが、適切な位置や回転はTrackingStateがTrackingになるまで適用されません。

    **パラメーター

    payload`` - 復元するアンカーのペイロード。

    arPersistentAnchor`` - ペイロードから作成されたARPersistentAnchor

    **返品について

    True トラッキングのためにアンカーが正常に追加された場合。 False アンカーを追加できない。すでに追加されているか、ペイロードが無効である。

DestroyAnchor

void DestroyAnchor(ARPersistentAnchor arPersistentAnchor)

アンカーを破壊し、トラッキングを停止します。

    **パラメーター

    arPersistentAnchor`` - 破壊するアンカー。