class ARWorldPositioningManager
(Niantic.Lightship.AR.WorldPositioning.ARWorldPositioningManager)。
概要
ARWorldPositioningManager](./index.mdx)クラスは、XRWorldPositioningSubsystemを制御し、基礎となるARへのアクセスを提供し、世界測位システム(WPS)からの世界変換を行います。
class ARWorldPositioningManager: SubsystemLifecycleManager< XRWorldPositioningSubsystem, XRWorldPositioningSubsystemDescriptor, XRWorldPositioningSubsystem.Provider > {
public:
// フィールド
bool IsAvailable => Status == WorldPositioningStatus.Available;
Action<WorldPositioningStatus> OnStatusChanged;
// プロパティ
ARWorldPositioningTangentialTransform WorldTransform;
WorldPositioningStatus? Status;
ARWorldPositioningCameraHelper DefaultCameraHelper;
// メソッド
void Update();
WorldPositioningStatus TryGetXRToWorld(
ref Matrix4x4 arToWorld,
ref double originLatitude,
ref double originLongitude,
ref double originAltitude
);
void OverrideTransform(ARWorldPositioningTangentialTransform simulatedTransform);
void EndOverride();
protected:
// メソッド
override void OnDisable();
};
詳細なドキュメント
ARWorldPositioningManager](./index.mdx)クラスは、XRWorldPositioningSubsystemを制御し、基礎となるARへのアクセスを提供し、世界測位システム(WPS)からの世界変換を行います。
ただし、アプリケーションでWorldTransformの値を直接使用すること はほとんどありません。 正確で安定したGPSやコンパスのデータが必要なアプリケーションでは、DefaultCameraHelperのプロパティを使用して、位置情報サービスと同様に動作する緯度や経度、方位の値を取得できます。
また、この変換機能を用いて、地理座標を基にオブジェクトをARビューに配置することも可能です。 WorldPositioningPositioningHelperは、シーンにオブジェクトを追加し、WPSデータがより正確になるにつれてその位置を更新するための、より便利なインターフェイスを提供します。
フィールド
IsAvailable
bool IsAvailable => Status == WorldPositioningStatus.Available
ワールドポジショニングが利用可能な場合はtrueが返ります。
OnStatusChanged
Action<WorldPositioningStatus> OnStatusChanged
ステータスが変更されると呼び出されるアクション
Properties
WorldTransform
ARWorldPositioningTangentialTransform WorldTransform
ARトラッキング座標と世界地理座標系との変換の現在の推定値。 このプロパティは、Statusプロパティが「Available」の場合にのみ使用する必要があり、それ以外の場合は未定義です。
Status
WorldPositioningStatus? Status
WorldTransform推定のステータス。 WorldTransformは、Statusが「Available」の場合にのみ有効です。
DefaultCameraHelper
ARWorldPositioningCameraHelper DefaultCameraHelper
デフォルトのARカメラ用に自動生成されるARWorldPositioningCameraHelper。
Methods
OverrideTransform
void OverrideTransform(ARWorldPositioningTangentialTransform simulatedTransform)
指定された値で、ワールドポジショニング変換をオーバーライドします。 開発者は、このメソッドを通じて、さまざまなロケーションをシミュレートすることができます。 ARWorldPositioningEditorControlsクラスを使用すると、Unityエディタ内のさまざまな場所をシミュレートできます。
EndOverride
void EndOverride()
ワールドポジショニング変換のオーバーライドを停止します。 実際の変換(デバイス上)またはプレイバック(Unityエディター内)に戻るには、このメソッドを使用します。