Google Play Services for AR 是為安卓設(shè)備優(yōu)化增強(qiáng)現(xiàn)實(shí)體驗(yàn)的核心應(yīng)用。通過(guò)該服務(wù),用戶(hù)可以在支持的應(yīng)用中體驗(yàn)到精準(zhǔn)的虛擬物體投影、位置追蹤和實(shí)時(shí)交互等功能。它為開(kāi)發(fā)者提供了ARCore平臺(tái)支持,幫助創(chuàng)建更高質(zhì)量的AR體驗(yàn),用戶(hù)在購(gòu)物、游戲、教育等場(chǎng)景中能夠獲得身臨其境的虛擬現(xiàn)實(shí)體驗(yàn)。

如需開(kāi)始將 ARCore 與 Android 搭配使用,您可以運(yùn)行 ARCore SDK 中包含的 hello_ar_kotlin 或 hello_ar_java 示例應(yīng)用。這些示例應(yīng)用使用 OpenGL,一個(gè)用于渲染 2D 和 3D 矢量圖形的編程接口。應(yīng)用會(huì)顯示檢測(cè)到的平面,并允許用戶(hù)點(diǎn)按平面來(lái)放置 3D 模型。

使用即時(shí)展示位置
借助 Instant Placement API,用戶(hù)可以將 AR 對(duì)象放置在屏幕上,而無(wú)需等待 ARCore 檢測(cè)表面幾何圖形。隨著用戶(hù)進(jìn)一步移動(dòng)環(huán)境,對(duì)象放置位置會(huì)實(shí)時(shí)優(yōu)化。
點(diǎn)按屏幕以放置對(duì)象。在屏幕上顯示全息對(duì)象后,請(qǐng)確保繼續(xù)來(lái)回移動(dòng)設(shè)備,以便 ARCore 可以獲取有關(guān)周?chē)h(huán)境的足夠數(shù)據(jù),從而準(zhǔn)確錨定虛擬對(duì)象。
一旦 ARCore 檢測(cè)到 Surface 幾何圖形,并在放置對(duì)象的區(qū)域確立了可跟蹤對(duì)象,對(duì)象姿勢(shì)便會(huì)自動(dòng)進(jìn)行更新。

在圖 1 中,Instant Placement 已停用,且 Surface 幾何圖形未定義。 位于臺(tái)球桌右側(cè)地板上的對(duì)象(四個(gè)小藍(lán)點(diǎn))出現(xiàn)翻轉(zhuǎn)狀態(tài),其姿態(tài)則未定義。
在圖 2 中,從齒輪圖標(biāo)下的菜單啟用了 Instant Placement。
在圖 3 中,在啟用 Instant Placement 功能后,場(chǎng)景中放置了一個(gè)新對(duì)象。它以灰度模式顯示,而非彩色顯示,表示系統(tǒng)尚未將其更正為正確的姿勢(shì)。
在圖 4 中,當(dāng)檢測(cè)到 Surface 幾何圖形(由可跟蹤的網(wǎng)格線描述)時(shí),新對(duì)象會(huì)變?yōu)椴噬,并且其姿?shì)準(zhǔn)確無(wú)誤。
使用深度
啟用深度后,ARCore 會(huì)考慮場(chǎng)景中對(duì)象的幾何圖形和位置,并計(jì)算場(chǎng)景中對(duì)象相對(duì)于場(chǎng)景中其他對(duì)象的位置。它可讓場(chǎng)景中的對(duì)象遮擋住對(duì)象,并讓您的應(yīng)用具有真實(shí)感。

圖 1 中,深度已停用。一個(gè)對(duì)象會(huì)放在池表下。
在圖 2 中,當(dāng)設(shè)備在池表中移動(dòng)時(shí),無(wú)論場(chǎng)景中的物體是什么,該對(duì)象看起來(lái)都跟隨設(shè)備。
在圖 3 中,啟用了深度。
在圖 4 中,當(dāng)設(shè)備在場(chǎng)景中移動(dòng)時(shí),對(duì)象現(xiàn)在被池表遮擋。
后續(xù)步驟
請(qǐng)嘗試在 ARCore SDK 中構(gòu)建和運(yùn)行其他示例項(xiàng)目。
如需了解更多您可以構(gòu)建和運(yùn)行的示例應(yīng)用,請(qǐng)參閱增強(qiáng)現(xiàn)實(shí) Codelab。
了解如何在您的應(yīng)用中啟用 ARCore。
查看運(yùn)行時(shí)注意事項(xiàng)。
查看設(shè)計(jì)準(zhǔn)則。