クラス ARWorldPositioningManager
(Niantic.Experimental.Lightship.AR.WorldPositioning.ARWorldPositioningManager)。
概要
ARWorldPositioningManagerクラスは、XRWorldPositioningSubsystemを制御し、ワールドポジショニングシステム(WPS)からワールド変換するための基礎となるARへのアクセスを提供します。
class ARWorldPositioningManager:SubsystemLifecycleManager< XRWorldPositioningSubsystem, XRWorldPositioningSubsystemDescriptor, XRWorldPositioningSubsystem.Provider > {
public:
// fields
bool IsAvailable => Status == WorldPositioningStatus.Available;
Action<WorldPositioningStatus> OnStatusChanged;
// properties
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クラスは、XRWorldPositioningSubsystemを制御し、ワールドポジショニングシステム(WPS)からワールド変換するための基礎となるARへのアクセスを提供します。
アプリケーションがWorldTransformの値を直接使う必要があることはまずないだろう。 より正確で安定したバージョンのGPSとコンパスのみを必要とするアプリケーションの場合、DefaultCameraHelperのプロパティにアクセスすることで、位置情報サービスと同様に動作する緯度、経度、方位値を取得することができます。
このトランスフォームは、地理座標を使ってオブジェクトをARビューに配置するためにも使用できます。
WorldPositioningPositioningHelperは、オブジェクトをシーンに追加し、WPSデータがより正確になるにつれてその位置を更新するための、より便利なインターフェイスを提供します。
Fields
IsAvailable
bool IsAvailable => Status == WorldPositioningStatus.Available
ワールドポジショニングが利用可能な場合はtrueを返す。
OnStatusChanged
アクション<WorldPositioningStatus> OnStatusChanged
ステータスが変更されたときに呼び出されるアクション
Properties
WorldTransform
ARWorldPositioningTangentialTransformワールド・トランスフォーム
ARトラッキング座標と世界地理座標系との変換の現在の推定値。 このプロパティは、StatusプロパティがAvailableである場合にのみ使用されるべきで、そうでない場合は未定義である。
Status
WorldPositioningStatus?ステータス
WorldTransformの見積もり状況。 WorldTransformはStatusがAvailableのときのみ有効です。
DefaultCameraHelper
ARWorldPositioningCameraHelperデフォルトカメラヘルパー
デフォルトのARカメラ用に自動生成されるARWorldPositioningCameraHelper
Methods
OverrideTransform
void OverrideTransform(ARWorldPositioningTangentialTransform simulatedTransform)
ワールドポジショニングトランスフォームを指定された値で上書きする。 この方法により、開発者はさまざまな場所をシミュレートすることができる。 ARWorldPositioningEditorControlsクラスを使用すると、Unityエディタ内のさまざまな場所をシミュレートできます。
EndOverride
void EndOverride()
ワールドポジショニングトランスフォームのオーバーライドを停止する。 実際のトランスフォーム(デバイス上)または再生(Unityエディタ内)に戻るには、これを使用します。