基本概念

在深入探索 ARCore 之前,建議您先瞭解一些基本概念。透過上述概念,說明 ARCore 如何讓體驗虛擬內容看起來更接近真實介面或附加至實際位置的體驗。

動作追蹤

手機在世界中移動時,ARCore 會使用名為同時進行的本地化和對應 (或稱 SLAM) 程序,瞭解手機與周遭世界的相對地點。ARCore 會從擷取的相機影像偵測到名為「功能點」的視覺特徵,並使用這些點計算其位置變化。視覺資訊會與裝置 IMU 的內建測量結果相結合,藉此評估相機相對於世界的姿勢 (位置和方向)。

只要將轉譯 3D 內容的虛擬相機畫面和 ARCore 提供的裝置相機對齊,開發人員就能從正確的角度轉譯虛擬內容。算繪的虛擬圖片可以重疊在從裝置相機取得的圖片上方,看起來就像虛擬內容是真實世界的一部分。

環境理解

ARCore 會透過偵測特徵點和平面,持續改善對實際世界環境的瞭解。

ARCore 會尋找似乎位於常見的水平或垂直途徑 (例如表格或牆壁) 中的特徵點叢集,讓這些介面能以幾何圖形做為平面使用。ARCore 也可以判定每個幾何圖形平面的邊界,並將這些資訊提供給應用程式。您可以利用這項資訊將虛擬物件放在平面上。

由於 ARCore 會使用特徵點來偵測平面,因此無法正確偵測沒有紋理的平面 (例如白牆)。

深度理解

ARCore 可以使用支援的裝置的主要 RGB 相機,建立深度地圖,其中包含特定點之間的距離資料。您可以使用深度地圖提供的資訊,提供身歷其境的實境使用者體驗,例如讓虛擬物體和觀察到的表面準確衝突,或是讓物體顯示在真實物體前方或後方。

預估光線

ARCore 可以偵測其環境的光源資訊,並提供特定相機圖片的平均強度和色彩校正功能。這項資訊可讓您在與環境相同的環境條件下為虛擬物件打光,進而提高真實感度。

使用者互動

ARCore 會使用命中測試,採用與手機螢幕相對應的 (x,y) 座標 (透過輕觸或其他您希望應用程式支援的互動方式),然後將相機投射到相機的世界視角中,傳回任何與此交錯處的幾何平面或特徵點,以及該交會空間在世界空間中的姿勢。可讓使用者選取或與環境中的物件互動。

顯示方向

方向點可讓您將虛擬物件放置在有角度的表面上。當您執行傳回功能點的命中測試時,ARCore 會查看附近的特徵點,並使用這些特徵點,嘗試在特定功能點的介面角度。然後 ARCore 會傳回一個角度,將角度納入考量。

由於 ARCore 會使用特徵點的叢集來偵測途徑,因此無法正確偵測不含紋理的表面 (例如白牆)。

錨點和可追蹤

當 ARCore 對自身位置和環境的理解有所提升時,姿勢可能會改變。如要放置虛擬物件,您必須定義「錨點」,確保 ARCore 會追蹤該物件在一段時間內的位置。您通常都會依據命中測試傳回的姿勢建立錨點,如使用者互動中所述。

姿勢可能改變,ARCore 可能會隨時間更新環境物件 (例如幾何圖形平面和特徵點) 的位置。飛機與點是一種特殊的物件類型,稱為「可追蹤」。與名稱建議一樣,ARCore 會隨著時間追蹤這些物件。您可以將虛擬物件固定於特定可追蹤項目,確保即使裝置四處移動,虛擬物件與可追蹤項目之間的關係仍保持穩定。這意味著,如果在桌面上放置虛擬 Android 公仔,如果 ARCore 稍後調整了與該桌面相關聯的幾何平面的姿勢,Android 的雕像仍會出現在表格上方。

如需詳細資訊,請參閱使用錨點

擴增圖片

擴增圖片功能可讓您建構 AR 應用程式來回應特定 2D 圖片,例如產品包裝或電影海報。使用者只要將手機相機對準特定圖片,即可觸發 AR 體驗。舉例來說,使用者可將手機相機擺放在電影海報上,並擁有人物彈出畫面及呈現場景。

ARCore 也會追蹤移動中的圖片,例如看板車子旁的看板廣告。

圖片可以離線編譯以建立圖片資料庫,也可以從裝置即時新增個別圖片。註冊完成後,ARCore 會偵測這些圖片、圖片與 #39;邊界並傳回對應的姿勢。

分享相片

ARCore Cloud Anchor API 可讓您為 Android 和 iOS 裝置建立協作或多人遊戲應用程式。

只要使用 Cloud Anchor,其中一個裝置就會將錨點和鄰近特徵點傳送至雲端,藉此託管服務。這些錨點可在相同環境中的 Android 或 iOS 裝置上與其他使用者分享。如此一來,應用程式就能轉譯與這些錨點相同的 3D 物件,讓使用者可以同時獲得相同的 AR 體驗。

瞭解詳情

開始在您選擇的平台上建構 AR 體驗,以便將這些概念實際應用。