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()
デバッグ情報が利用可能なときに呼び出される
このイベントの各呼び出しは、XRPersistentAnchorNetworkRequestStatusとXRPersistentAnchorLocalizationStatusと(実験)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<T>
の 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。