本文へスキップ

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エディター内)に戻るには、このメソッドを使用します。