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