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






































