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

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);
bool TryAddMap(byte[] dataBytes);
bool TryAddGraph(byte[] dataBytes);

protected
// メソッド

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

詳細資料

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

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

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

プロパティ

現在の設定

XRPersistentAnchorConfiguration?現在のコンフィギュレーション

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

.. 注::

このAPIはネイティブを呼び出すので、コンフィギュレーションを取得または設定すると、ディープコピーが返される 更新されたコンフィギュレーションを有効にするには、設定する必要がある

Events

debugInfoProvided

イベント debugInfoProvided()

デバッグ情報が利用可能なときに呼び出される

このイベントの各呼び出しは、XRPersistentAnchorNetworkRequestStatusXRPersistentAnchorLocalizationStatusと(実験)XRPersistentAnchorFrameDiagnosticsの配列を含むXRPersistentAnchorDebugInfoオブジェクトを含みます。

OnConfigurationChanged

イベント OnConfigurationChanged()

サブシステムのコンフィギュレーションが変更されたときに呼び出される

メソッド

XRPersistentAnchorSubsystem

XRPersistentAnchorSubsystem()

Constructor. SubsystemManager を使用して利用可能な XRPersistentAnchorSubsystemDescriptor を列挙し、必要な記述子に対して Create を呼び出します。

GetChanges

override TrackableChanges<XRPersistentAnchor> GetChanges(Allocator allocator)

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

    Parameters:

    allocator - TrackableChanges&lt;T&gt; の NativeArrays に使用するアロケータ。

    戻り値

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

TryAddAnchor

bool TryAddAnchor(Pose pose, out XRPersistentAnchor anchor)

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

    Parameters:

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

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

    戻り値

    新しいアンカーが追加された場合はtrue、そうでない場合はfalse。

TryRemoveAnchor

bool TryRemoveAnchor(TrackableId anchorId)

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

    Parameters:

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

    戻り値

    アンカーが削除された場合はtrue、そうでない場合はfalse。

TryRestoreAnchor

bool TryRestoreAnchor(
XRPersistentAnchorPayload anchorPayload,
out XRPersistentAnchor anchor
)

アンカーの復元を試みる

    Parameters:

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

    anchor - 復元されたアンカー。

    戻り値

    修復の成否

GetVpsSessionId

bool GetVpsSessionId(out string vpsSessionId)

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

    Parameters:

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

    戻り値

    vpsセッションIDが存在する場合はtrue、そうでない場合はfalse。

TryAddMap

ブール TryAddMap(byte[] dataBytes)

地図の追加を試みる。

.. 注::

これは実験的な機能であり、予告なく変更または廃止されることがあります。

    Parameters:

    dataBytes`` - マップデータのバイト配列.

    戻り値

    新しいマップが追加された場合はtrue、そうでない場合はfalse。

TryAddGraph

bool TryAddGraph(byte[] dataBytes)

地図グラフを追加しようとする。

.. 注::

これは実験的な機能であり、予告なく変更または廃止されることがあります。

    Parameters:

    dataBytes`` - マップグラフデータのバイト配列.

    戻り値

    新しいマップ・グラフが追加された場合はtrue、そうでない場合はfalse。