本文へスキップ

class ARPersistentAnchor

(Niantic.Lightship.AR.PersistentAnchors.ARPersistentAnchor)

概要

XRデバイスでトラッキングする永続的なアンカーを表します。

    class ARPersistentAnchor:ARTrackable< XRPersistentAnchor, ARPersistentAnchor > {
public
// fields

IntPtr nativePtr => sessionRelativeData.nativePtr;
new TrackingState trackingState => trackingStateOverride ?? sessionRelativeData.trackingState;
TrackingStateReason trackingStateReason => trackingStateReasonOverride ?? sessionRelativeData.trackingStateReason;
UInt64 TimestampMs => sessionRelativeData.timestampMs;

// プロパティ

Pose PredictedPose;

// メソッド

byte[] GetDataAsBytes();
void RegisterInterpolator(ARPersistentAnchorInterpolator interpolator);
void DeregisterInterpolator();
}

詳細資料

XRデバイスでトラッキングする永続的なアンカーを表します。

永続的なアンカーとは、処理されたスキャンによって生成される、世界における永続的なポーズのことで、今後のセッションでも同じ現実世界の場所に存在する。 仮想コンテンツを永続的なアンカーに相対的に配置することで、将来のセッションで現実世界の同じ位置に復元することができます。

Fields

nativePtr

IntPtr nativePtr => sessionRelativeData.nativePtr

この ARPersistentAnchor に関連付けられたネイティブポインタを取得します。

このポインタが指すデータは、実装で定義されています。 その有効期限も実装で定義されますが、少なくとも次のARSession更新まで有効である必要があります。

trackingState

new TrackingState trackingState => trackingStateOverride ? sessionRelativeData.trackingState

永続的なアンカーの現在のトラッキング状態。 永続的なアンカーは、トラッキング状態がTrackingまたはLimitedである場合にのみ、仮想コンテンツを表示するために使用します。 それ以外の場合に使用すると、永続的なアンカーのポーズが現実世界の正しい位置に表示されない可能性があります。

trackingStateReason

TrackingStateReason trackingStateReason => trackingStateReasonOverride ? sessionRelativeData.trackingStateReason

永続的なアンカーが現在のトラッキング状態である理由

TimestampMs

UInt64 TimestampMs => sessionRelativeData.timestampMs

このPersistent Anchor(PredictedPose)に対して最後に予測されたポーズに対応するミリ秒単位のタイムスタンプ。 タイムスタンプはフレームと同じベースである。

プロパティ

PredictedPose

Pose PredictedPose

このPersistent Anchorの最後の予測ポーズ。 これは、GameObjectのポーズが補間や他の機能によって操作された場合の真実のソースとして使用される。

メソッド

GetDataAsBytes

byte[] GetDataAsBytes()

このアンカーのペイロードはbytes[]である!