Google Play Services for AR 是谷歌面向安卓系統(tǒng)打造的一款服務(wù)框架。該軟件具備極為強(qiáng)大的實(shí)用功能,用戶只要開啟軟件,就能隨心使用谷歌的各類軟件,涵蓋游戲、小說、音樂、影視等諸多方面。而且軟件的界面設(shè)計(jì)極為簡(jiǎn)約,所有功能清晰明了,給用戶帶來十分出色的使用體驗(yàn)。
另外,Google Play Services for AR涵蓋了用戶身份驗(yàn)證、云存儲(chǔ)、實(shí)時(shí)數(shù)據(jù)庫、推送通知等功能,這些功能旨在簡(jiǎn)化應(yīng)用程序的開發(fā)與管理流程,進(jìn)而讓用戶的操作和使用變得更為便捷。
Google Play Services for AR快速入門
若要在 Android 上開啟使用 ARCore,您可運(yùn)行 ARCore SDK 所附帶的 hello_ar_kotlin 或 hello_ar_java 示例應(yīng)用程序。這些示例應(yīng)用運(yùn)用 OpenGL,這是一個(gè)用于渲染 2D 與 3D 矢量圖形的編程接口。這些應(yīng)用程序會(huì)展示檢測(cè)到的所有平面,還允許用戶點(diǎn)擊平面以放置 3D 模型。
1. 對(duì)您的開發(fā)環(huán)境進(jìn)行設(shè)置
安裝Android Studio 3.1版或更高版本,且需安裝Android SDK Platform 7.0(API級(jí)別24)或更高版本。
2、打開示例項(xiàng)目
(1)于Android Studio里,克隆ARCore SDK的GitHub代碼庫。
因此,您能夠通過多種途徑來進(jìn)行:
針對(duì)已有的 Android Studio 安裝情況:
在Git菜單里挑選Clone選項(xiàng)。
在版本控制(Version control)的下拉菜單里,挑選Git作為版本控制系統(tǒng)。
在URL字段里,輸入ARCore GitHub代碼庫的下述網(wǎng)址:
https://github.com/google-ar/arcore-android-sdk.git (此鏈接指向谷歌ARCore安卓軟件開發(fā)工具包在GitHub上的代碼倉庫地址,通過該鏈接可獲取相關(guān)代碼資源 ) 以上括號(hào)內(nèi)添加內(nèi)容是為了豐富信息,你可按需調(diào)整,若僅需原鏈接不變,可直接返回:https://github.com/google-ar/arcore-android-sdk.git
(2) 以如下方式開啟一個(gè)示例項(xiàng)目(您務(wù)必明確打開一個(gè)項(xiàng)目,方可構(gòu)建并運(yùn)行該項(xiàng)目)。
在File菜單里選取Open。
在arcore-android-sdk/samples文件夾里,挑選hello_ar_kotlin或者h(yuǎn)ello_ar_java文件夾,接著點(diǎn)擊Open。
3、備好設(shè)備或模擬器
您能夠在受支持的設(shè)備或者 Android 模擬器上運(yùn)行 AR 應(yīng)用。不過,在模擬器上,您得先更新 AR 服務(wù)的 Google Play 服務(wù),之后方可運(yùn)行該應(yīng)用。
4、運(yùn)行示例
請(qǐng)務(wù)必保證您的Android設(shè)備與開發(fā)機(jī)器處于連接狀態(tài),之后在Android Studio中點(diǎn)擊“Run”。
Android Studio 會(huì)把您的項(xiàng)目構(gòu)建成可調(diào)試的 APK,接著安裝此 APK,隨后在您的設(shè)備上運(yùn)行該應(yīng)用。
若適用于AR的Google Play服務(wù)缺失或已過期,系統(tǒng)或許會(huì)提示您進(jìn)行安裝或更新操作。選擇“CONTINUE”,即可從Google Play商店安裝該服務(wù);您也可以依照“更新AR版Google Play服務(wù)”中的說明,手動(dòng)更新此應(yīng)用。
通過hello_ar_java應(yīng)用,您能夠在檢測(cè)到的AR平面上放置一個(gè)三維ARCore典當(dāng)。該應(yīng)用借助Android GL SurfaceView來實(shí)現(xiàn)相關(guān)功能,Android GL SurfaceView主要用于渲染相機(jī)預(yù)覽畫面以及基本的AR對(duì)象,像平面和錨點(diǎn)等。在com/google/ar/core/examples/java/common/samplerender中能夠找到hello_ar_java的示例渲染框架。
注意:hello_ar_java內(nèi)的生命周期方法和OpenGL應(yīng)用一般所提供的生命周期方法存在差異。為保證您自身應(yīng)用的AR設(shè)置準(zhǔn)確無誤,需遵循h(huán)ello_ar_java里的生命周期管理邏輯。
5、采用即時(shí)展示的位置
通過Instant Placement API,用戶能夠把AR對(duì)象放置在屏幕上,無需等待ARCore對(duì)表面幾何圖形進(jìn)行檢測(cè)。當(dāng)用戶在環(huán)境中持續(xù)移動(dòng)時(shí),系統(tǒng)會(huì)實(shí)時(shí)對(duì)對(duì)象的放置位置進(jìn)行優(yōu)化。一旦ARCore在放置AR對(duì)象的區(qū)域檢測(cè)到正確姿態(tài),白色對(duì)象就會(huì)自動(dòng)更新為姿態(tài)精準(zhǔn)狀態(tài),同時(shí)變?yōu)椴煌该鳌?
在hello_ar_java中,Instant Placement會(huì)自動(dòng)啟用。點(diǎn)擊屏幕上的齒輪圖標(biāo),接著從下拉菜單里選擇Instant Placement 。此時(shí),您應(yīng)當(dāng)已勾選“Enable Instant Placement”復(fù)選框。
輕點(diǎn)屏幕放置對(duì)象。當(dāng)全息對(duì)象在屏幕上顯示后,一定要持續(xù)來回移動(dòng)設(shè)備,這樣ARCore就能獲取充足的周圍環(huán)境數(shù)據(jù),從而精確錨定虛擬對(duì)象。
Google Play Services for AR相關(guān)基本概念
在深入探究 ARCore 之前,先了解一些基本概念,這會(huì)大有裨益。這些概念共同闡釋了 ARCore 是怎樣讓虛擬內(nèi)容看起來仿佛呈現(xiàn)在真實(shí)表面上,或是附著于現(xiàn)實(shí)世界中的特定位置。
1、運(yùn)動(dòng)追蹤
當(dāng)您的手機(jī)在現(xiàn)實(shí)世界里移動(dòng)時(shí),ARCore 會(huì)借助一個(gè)名為同時(shí)定位和映射(SLAM)的流程,知曉手機(jī)相對(duì)于周邊世界的位置。ARCore 會(huì)探測(cè)所捕獲攝像頭圖像中視覺上有差異的特征(稱作特征點(diǎn)),并依據(jù)這些點(diǎn)來計(jì)算自身位置的變化。這些視覺信息會(huì)與設(shè)備 IMU 的慣性測(cè)量成果相結(jié)合,共同用于估算攝像頭在一定時(shí)間內(nèi)相對(duì)于現(xiàn)實(shí)世界的姿態(tài)(位置與方向)。
開發(fā)者通過使渲染3D內(nèi)容的虛擬攝像頭姿勢(shì),與ARCore提供的設(shè)備攝像頭姿勢(shì)保持一致,就能從正確角度渲染虛擬內(nèi)容。渲染出的虛擬圖像可疊加在從設(shè)備相機(jī)獲取的圖像之上,讓虛擬內(nèi)容看起來如同現(xiàn)實(shí)世界的一部分。
2、環(huán)境理解
ARCore 通過檢測(cè)特征點(diǎn)與平面,持續(xù)深化對(duì)現(xiàn)實(shí)世界環(huán)境的認(rèn)知。
ARCore 能夠搜尋那些看似處于常見水平或垂直表面(比如桌子、墻壁)上的成簇特征點(diǎn),并把這些表面以幾何平面的形式提供給您的應(yīng)用程序。此外,ARCore 還能夠判定每個(gè)幾何平面的邊界,同時(shí)將這些信息傳遞給您的應(yīng)用。您可利用這些信息,在平坦表面上放置虛擬對(duì)象。
ARCore 通過特征點(diǎn)檢測(cè)平面,所以對(duì)于類似白墻這種毫無紋理的平坦表面,可能無法實(shí)現(xiàn)準(zhǔn)確檢測(cè)。
3、深度理解
ARCore 能夠借助受支持設(shè)備的主 RGB 攝像頭生成深度圖,該深度圖涵蓋了有關(guān)表面與特定點(diǎn)之間距離的數(shù)據(jù)。利用深度圖所提供的信息,您能夠打造沉浸式且逼真的用戶體驗(yàn),比如讓虛擬對(duì)象與觀測(cè)到的表面實(shí)現(xiàn)精準(zhǔn)碰撞,或者讓虛擬對(duì)象出現(xiàn)在真實(shí)對(duì)象的前方或后方。
4、光估測(cè)
ARCore能夠探測(cè)所處環(huán)境光線的相關(guān)信息,為你提供給定攝像頭圖像的平均光強(qiáng)度以及色彩校正數(shù)據(jù)。借助這些信息,你能夠在與周圍環(huán)境一致的條件下,對(duì)虛擬對(duì)象進(jìn)行打光處理,進(jìn)而增強(qiáng)虛擬對(duì)象的真實(shí)感。
5、用戶互動(dòng)
ARCore借助點(diǎn)擊測(cè)試,獲取與手機(jī)屏幕對(duì)應(yīng)的(x, y)坐標(biāo)(該坐標(biāo)通過點(diǎn)按或應(yīng)用所支持的其他互動(dòng)方式提供)。隨后,將光線投影至攝像頭的世界視圖里,進(jìn)而返回該射線相交的所有幾何平面或特征點(diǎn),以及交點(diǎn)在現(xiàn)實(shí)世界空間中的姿態(tài)。如此一來,用戶便能選擇環(huán)境中的對(duì)象,或以其他形式與之互動(dòng)。
6、定向點(diǎn)
通過定向的點(diǎn),您能夠把虛擬對(duì)象放置于傾斜的表面之上。當(dāng)您進(jìn)行會(huì)返回特征點(diǎn)的點(diǎn)擊測(cè)試時(shí),ARCore 會(huì)審視附近的特征點(diǎn),并利用這些特征點(diǎn)嘗試估算給定特征點(diǎn)處表面的角度。隨后,ARCore 會(huì)給出一個(gè)將該角度納入考量的姿勢(shì)。鑒于 ARCore 運(yùn)用特征點(diǎn)聚類來檢測(cè) Surface 的角度,所以對(duì)于沒有紋理的表面(比如白墻),可能無法準(zhǔn)確檢測(cè)。
7、錨點(diǎn)與可跟蹤對(duì)象
隨著 ARCore 對(duì)自身位置及環(huán)境理解的不斷改進(jìn),姿態(tài)也會(huì)有所變化。若要放置虛擬對(duì)象,就需定義錨點(diǎn),這樣才能保證 ARCore 能夠追蹤對(duì)象隨時(shí)間變化的位置。一般而言,可依據(jù)點(diǎn)擊測(cè)試返回的姿勢(shì)來創(chuàng)建錨點(diǎn),這在用戶互動(dòng)部分有相關(guān)闡述。
姿態(tài)會(huì)產(chǎn)生變化,這表明ARCore或許會(huì)對(duì)環(huán)境對(duì)象(比如幾何平面與特征點(diǎn))的位置進(jìn)行更新。平面和點(diǎn)屬于一種特殊類型的對(duì)象,稱作“可跟蹤對(duì)象”。從名稱便能知曉,ARCore會(huì)隨著時(shí)間的推進(jìn)對(duì)這些對(duì)象展開跟蹤。你能夠把虛擬對(duì)象錨定到特定的可跟蹤對(duì)象上,以此保證即便設(shè)備四處移動(dòng),虛擬對(duì)象與可跟蹤對(duì)象之間的關(guān)系依舊保持穩(wěn)定。也就是說,要是你把一個(gè)虛擬的Android小雕像放置在書桌上,即便ARCore隨后調(diào)整了與書桌相關(guān)聯(lián)的幾何平面的姿態(tài),Android小雕像依舊會(huì)看起來處于桌子之上。
注意:為降低CPU費(fèi)用,應(yīng)盡量重復(fù)利用錨點(diǎn),并將不再需要的錨點(diǎn)分離出來。
8、增強(qiáng)圖像
通過增強(qiáng)圖像功能,您能夠創(chuàng)建可對(duì)特定2D圖像(比如產(chǎn)品包裝或者影片海報(bào))做出響應(yīng)的AR應(yīng)用。當(dāng)用戶把手機(jī)相機(jī)對(duì)準(zhǔn)特定圖片時(shí),就能觸發(fā)AR體驗(yàn)。舉例來說,用戶可將手機(jī)相機(jī)對(duì)準(zhǔn)電影海報(bào),使角色彈出并呈現(xiàn)。此外,ARCore還能追蹤移動(dòng)的圖像,像移動(dòng)公交車側(cè)面的廣告牌。
您既能夠通過離線編譯圖片的方式來創(chuàng)建圖片數(shù)據(jù)庫,也能夠從設(shè)備實(shí)時(shí)添加單張圖片。完成注冊(cè)后,ARCore 會(huì)對(duì)這些圖像及其邊界進(jìn)行檢測(cè),并給出相應(yīng)的姿態(tài)。
ARCore支持的機(jī)型,可在運(yùn)行Android 7.0(Nougat)及更高版本系統(tǒng)的多款符合條件的安卓手機(jī)上使用。 在開發(fā)者預(yù)覽版階段,ARCore支持以下設(shè)備(如下圖所示)。
后來增加了對(duì)其他設(shè)備的支持(如下圖所示)
軟件特色
1. Google Play 服務(wù)能夠優(yōu)化您的應(yīng)用使用體驗(yàn)。它提升了離線搜索的速度,打造出更具沉浸感的地圖,同時(shí)讓游戲體驗(yàn)也得到改進(jìn)。
2、倘若您卸載此軟件,應(yīng)用或許無法運(yùn)行。于未獲谷歌公司認(rèn)證的Android設(shè)備上,諸如谷歌地圖之類的谷歌應(yīng)用無法運(yùn)行。即便用戶能在手機(jī)上安裝谷歌應(yīng)用,運(yùn)行時(shí)也會(huì)出現(xiàn)“閃退”情況,或者手機(jī)會(huì)提示“已停止運(yùn)行”,致使無法繼續(xù)使用。
3、若移動(dòng)設(shè)備廠商打算在設(shè)備中搭載谷歌的某類應(yīng)用,例如Google地圖,就必須取得Google針對(duì)其設(shè)備的GMS認(rèn)證。
軟件介紹
ARCore是谷歌推出的增強(qiáng)現(xiàn)實(shí)體驗(yàn)構(gòu)建平臺(tái)。它借助各類不同的API,使手機(jī)能夠感知所處環(huán)境、認(rèn)知現(xiàn)實(shí)世界并與信息進(jìn)行交互。部分API在Android和iOS系統(tǒng)上均可使用,以此達(dá)成共享AR體驗(yàn)。
ARCore運(yùn)用三個(gè)主要功能,把虛擬內(nèi)容和通過手機(jī)攝像頭所看到的現(xiàn)實(shí)世界進(jìn)行整合:
1. 通過動(dòng)作跟蹤技術(shù),手機(jī)能夠知曉并追蹤自身相對(duì)于外界的位置。
2、依靠環(huán)境理解功能,手機(jī)能夠探測(cè)各類表面(像地面、咖啡桌或者墻壁等水平、垂直以及傾斜的表面)的尺寸與位置。
3、通過光估測(cè)功能,手機(jī)能夠?qū)Ξ?dāng)前環(huán)境的光照條件進(jìn)行估測(cè)。
更新日志
版本v1.47.243160293
修正了部分細(xì)微錯(cuò)誤,并做出了優(yōu)化。安裝或更新至最新版本便能查看!






































