瞭解如何在自己的應用程式中使用 Cloud Anchor。
必備條件
請務必先瞭解基本 AR 概念,以及如何設定 ARCore 工作階段,然後再繼續操作。
如果您是第一次使用 Cloud Anchor,請務必瞭解錨點和 Cloud Anchors 的運作方式。
啟用 ARCore API
您必須先在應用程式中啟用 ARCore API,才能在應用程式中使用 Cloud Anchor。
在工作階段設定中啟用 Cloud Anchor 功能
一旦在應用程式中啟用 Cloud Anchors 功能,請在應用程式的 AR 工作階段設定中啟用 Cloud Anchors 功能,讓應用程式與 ARCore API 通訊:
託管雲端錨點
「託管」程序首先會呼叫 ARAnchorManager.HostCloudAnchorAsync()
。ARCore 會將視覺化資料、裝置姿勢和錨點姿勢上傳至 ARCore API,接著,API 會處理這些資訊來建構 3D 功能對應,最後將不重複的 Cloud Anchor ID 傳回至裝置。
您也可以使用 ARCore Cloud Anchor Management API 延長代管錨點的生命週期。
您的應用程式應執行下列步驟,完成 Cloud Anchor 的託管作業:
- 呼叫
ARAnchorManager.HostCloudAnchorAsync()
。 - 啟動協同程式,直到 Promise 產生結果為止。詳情請參閱「Unity 中的協同程式」一文。
- 檢查結果狀態來判斷作業是否成功,失敗時則是解讀錯誤代碼。
- 與其他用戶端分享 Cloud Anchor ID 結果,並使用
ARAnchorManagerExtensions.ResolveCloudAnchorAsync()
解析 Cloud Anchor。
確認地圖項目點的對應品質
ARCoreExtensions.FeatureMapQuality
表示 ARCore 在從特定相機姿勢中偵測到的特徵點品質。使用品質較高的功能託管的 Cloud Anchor 通常可更準確地解析。使用 ARAnchorManagerExtensions.EstimateFeatureMapQualityForHosting()
取得特定相機姿勢的地圖項目地圖品質預估值。
值 | 說明 |
---|---|
Insufficient |
在過去幾秒內,根據姿勢發現的特徵點品質偏低。這個狀態表示 ARCore 可能較難解析 Cloud Anchor。建議使用者移動裝置,以便從不同角度查看想託管的 Cloud Anchor 位置。 |
Sufficient |
前幾秒的姿勢發現的特徵點品質足以讓 ARCore 成功解析 Cloud Anchor,不過解決姿勢的準確度可能會降低。建議使用者移動裝置,以便從不同角度查看想託管的 Cloud Anchor 位置。 |
Good |
前幾秒的姿勢發現的特徵點品質足以讓 ARCore 成功解析具有高準確度的 Cloud Anchor。 |
解析先前代管的錨定標記
呼叫 ARAnchorManagerExtensions.ResolveCloudAnchorAsync()
即可解析託管的 Cloud Anchor。ARCore API 會定期比較場景中的視覺地圖項目與錨點的 3D 功能地圖,以找出使用者相對於錨點的位置和方向。找到相符項目時,API 會傳回託管 Cloud Anchor 的姿勢。
您可以依序啟動多個 Cloud 錨點的解析作業。一次最多可同時存在 40 個 Cloud Anchor 作業。
取消作業或移除 Cloud Anchor
ARCloudAnchor.OnDestroy()
從包含此元件的遊戲物件中移除時,系統會自動呼叫 ARCloudAnchor
元件。這項操作會卸離並釋出基礎的原生 Cloud Anchor 物件。
檢查 Cloud Anchor 作業的結果狀態
使用 CloudAnchorState 查看託管或解析作業的結果狀態,包括錯誤。
主機和解析要求的 API 配額
ARCore API 要求頻寬的配額如下:
配額類型 | 上限 | 時間長度 | 套用對象 |
---|---|---|---|
錨點數量 | 無限制 | 不適用 | 專案 |
錨定 host 要求 | 30 | 分鐘 | IP 位址和專案 |
錨定resolve要求 | 300 | 分鐘 | IP 位址和專案 |
確保良好使用者體驗的最佳做法
請引導使用者執行下列操作,確保應用程式提供良好的使用者體驗:
- 在工作階段開始後稍候幾秒鐘,再嘗試代管錨點 (透過放置物件等)。如此才有時間穩定追蹤。
- 選取代管錨點的位置時,請盡量找出視覺特徵之間容易區別的區域。為獲得最佳效果,請避免使用缺少視覺特徵的反光錶面或表面,例如白色牆壁。
將攝影機保持在所需中心點,然後移動裝置中心點,從不同角度繪製環境地圖,保持大致相同的實際距離。這有助於擷取更豐富的圖像資料,並更完善地解析。
託管並解決 Cloud Anchor 時,請確保在現實環境中有足夠的光線。
廢止政策
- 使用 ARCore SDK 1.12.0 以上版本建構的應用程式適用 Cloud Anchor API 淘汰政策。
- 使用 ARCore SDK 1.11.0 以下版本建構的應用程式無法代管或解析 Cloud Anchor,原因是 SDK 使用了已淘汰的舊版 ARCore API。
後續步驟
- 如要進一步瞭解在應用程式中使用 ARCore 的方法,請參閱 ARCore 適用的 ARCore Extensions 參考說明文件。