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

class XRPersistentAnchorSubsystem

(Niantic.Lightship.AR.XRSubsystems.XRPersistentAnchorSubsystem)

概要

永続アンカー・サブシステムのベースクラス。

	class XRPersistentAnchorSubsystem:TrackingSubsystem< XRPersistentAnchor, XRPersistentAnchorSubsystem, XRPersistentAnchorSubsystemDescriptor, XRPersistentAnchorSubsystem.Provider > {
public

class Provider;

// fields

bool IsMockProvider => provider.IsMockProvider;

// properties

XRPersistentAnchorConfiguration?CurrentConfiguration;

// イベント

event debugInfoProvided();
event OnConfigurationChanged();

// メソッド

XRPersistentAnchorSubsystem();
new void Start();
override TrackableChanges<XRPersistentAnchor> GetChanges(Allocator allocator);
bool TryAddAnchor(Pose pose, out XRPersistentAnchor anchor)
bool TryRemoveAnchor(TrackableId anchorId);

bool TryRestoreAnchor(
XRPersistentAnchorPayload anchorPayload,
out XRPersistentAnchor anchor
)

bool TryLocalize(
XRPersistentAnchorPayload anchorPayload,
out XRPersistentAnchor anchor
);

bool GetVpsSessionId(out string vpsSessionId);

protected
// メソッド

override void OnStart();
override void OnStop();
}

詳細なドキュメント

永続アンカー・サブシステムのベースクラス。

アンカーとは、XRデバイスによって追跡される物理的環境におけるポーズのことです。 デバイスが環境の理解を深めるにつれて、アンカーは更新され、バーチャル・コンテンツを現実世界の位置や方向と結びつけておくことができます。

この抽象クラスは、XR プロバイダによって実装され、SubsystemManager を使用してインスタンス化され、利用可能な XRPersistentAnchorSubsystemDescriptor s を列挙する必要があります。

プロパティ

CurrentConfiguration

XRPersistentAnchorConfiguration CurrentConfiguration

<name>XRPersistentAnchorConfiguration</name>で設定を取得または設定します。

.. 注::

このAPIはネイティブコードを呼び出すため、構成の取得または設定ではディープコピーが返ります。更新された構成を反映させるには、再度設定する必要があります。

イベント

debugInfoProvided

event debugInfoProvided()

デバッグ情報が取得可能になると呼び出されます。

このイベントの各呼び出しは、XRPersistentAnchorNetworkRequestStatusの配列を含むXRPersistentAnchorDebugInfoオブジェクトを含みます。XRPersistentAnchorNetworkRequestStatus, XRPersistentAnchorLocalizationStatus, XRPersistentAnchorFrameDiagnosticsを含む配列を含むオブジェクトです。

OnConfigurationChanged

event OnConfigurationChanged()

サブシステムの構成が変更されると呼び出されます。

メソッド

XRPersistentAnchorSubsystem

XRPersistentAnchorSubsystem()

コンストラクタ。 SubsystemManager を使用して利用可能な XRPersistentAnchorSubsystemDescriptor を列挙し、必要な記述子に対して Create を呼び出します。

GetChanges

override TrackableChanges<XRPersistentAnchor> GetChanges(Allocator allocator)

GetChanges(Allocator)を最後にコールしてからのアンカーの変更点(追加、更新、削除)を取得します。

    パラメーター:

    allocator - TrackableChanges<T> の NativeArrays に使用するアロケータ。

    戻り値:

    最後に GetChanges をコールしてからの変更。

TryAddAnchor

bool TryAddAnchor(Pose pose, out XRPersistentAnchor anchor)

提供された_pose_で新しいアンカーの作成を試みる。

    パラメーター:

    pose - セッション空間における、新しいアンカーのポーズ。

    anchor - 新しいアンカー。 このメソッドがtrueを返した場合のみ有効。

    戻り値:

    新しいアンカーが追加された場合は true、それ以外の場合は false。

TryRemoveAnchor

bool TryRemoveAnchor(TrackableId anchorId)

TrackableId anchorId を持つ既存のアンカーの削除を試みます。

    パラメーター:

    anchorId - 削除する既存のアンカーの ID。

    戻り値:

    アンカーが削除された場合は true、それ以外の場合は false。

TryRestoreAnchor

bool TryRestoreAnchor(
XRPersistentAnchorPayload anchorPayload,
out XRPersistentAnchor anchor
)

アンカーの復元を試みる

    パラメーター:

    anchorPayload - アンカーを復元するペイロード

    anchor - 復元されたアンカー

    戻り値:

    修復の成否

GetVpsSessionId

bool GetVpsSessionId(out string vpsSessionId)

もしあれば、vpsセッションIDを取得します

    パラメーター:

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

    戻り値:

     vpsセッションIDが存在する場合は True、それ以外の場合は false