只要在應用程式設定使用 Geospatial API,就能取得裝置相機的 AREarthManager.CameraGeospatialPose
。這個姿勢 (透過 AREarthManager
物件管理) 包含以下資訊:
- 以經緯度表示的位置
- 海拔高度
- 這個方向會預估使用者在 EUS 座標系統中面對的方向,X+ 指向東、Y+ 朝上,Z+ 則指向南方
查看追蹤狀態
當「AREarthManager.EarthTrackingState
」為 TrackingState.Tracking
時,地理空間值才有效。請務必將所有地理空間 API 呼叫納入 AREarthManager.EarthTrackingState
控制區塊中。
var earthTrackingState = EarthManager.EarthTrackingState;
if (earthTrackingState == TrackingState.Tracking)
{
// camera_geospatial_pose contains geodetic location, rotation, and
// confidences values.
var cameraGeospatialPose = EarthManager.CameraGeospatialPose;
}
如果 AREarthManager.EarthTrackingState
未變為 TrackingState.Tracking
,AREarthManager.EarthTrackingState
可能是 TrackingState.Limited
或 TrackingState.None
。如果上述條件皆不成立,請檢查 TrackingState.EarthTrackingState
。這個狀態會顯示其他可能導致 AREarthManager
物件無法追蹤的錯誤狀態。
調整姿勢,提高準確性
當裝置朝著預設方向直立時,傾斜 (X+) 和滾動 (Z+) 角經常會十分精確,這是為了與 AR 追蹤自然對齊。不過,偏轉 (Y+) 角度可能會因該位置的 VPS 資料可用性和時間條件而有所不同。您的應用程式可能需要進行修正,確保準確性。
GeospatialPose.OrientationYawAccuracy
可根據特定 AREarthManager.CameraGeospatialPose
的偏轉 (Y+) 角,提供準確的預估值。方向偏差是一個數字,用於說明 GeospatialPose.EunRotation
中環繞角度為第 68 個百分位數的信賴水準的半徑 (以度為單位)。換句話說,GeospatialPose.OrientationYawAccuracy
傳回角度有 68% 的機率是 AREarthManager.CameraGeospatialPose
的實際偏角精準度。
值越大表示準確率越低。舉例來說,如果預估偏角為 60 度,而偏角準確率為 10 度,則真實偏角有 68% 的機率介於 50 度到 70 度之間。
後續步驟
- 取得錨點的地理空間姿勢,放置地理空間錨點。