如何在Unity中為Android設(shè)備開(kāi)發(fā)移動(dòng)AR應(yīng)用程序
了解ARCore功能,用Unity為Android設(shè)備開(kāi)發(fā)移動(dòng)AR應(yīng)用程序。
現(xiàn)在A(yíng)RCore已經(jīng)退出了開(kāi)發(fā)者預(yù)覽版,是時(shí)候開(kāi)始為支持的Android手機(jī)選擇AR應(yīng)用程序了。由于谷歌的ARCore 1.0是相當(dāng)新的,為此,目前還沒(méi)有很多開(kāi)發(fā)人員的信息,但是我們將會(huì)緩解這個(gè)問(wèn)題。
谷歌的(ARCore)和蘋(píng)果的(ARKit)增強(qiáng)現(xiàn)實(shí)解決方案都支持現(xiàn)有設(shè)備,無(wú)需額外的硬件。這對(duì)于A(yíng)R開(kāi)發(fā)者來(lái)說(shuō)是一個(gè)巨大的飛躍,因?yàn)橛袛?shù)百萬(wàn)的這些設(shè)備已經(jīng)在公眾手中。因此,有能力創(chuàng)造出可以被大眾“現(xiàn)在”使用的軟件,對(duì)AR移動(dòng)市場(chǎng)的競(jìng)爭(zhēng)已經(jīng)有了很大的加速。
如果您正在尋找蘋(píng)果設(shè)備開(kāi)發(fā)的幫助,請(qǐng)?jiān)L問(wèn)下一個(gè)現(xiàn)實(shí)的ARKit 101系列。否則,讓我們開(kāi)始使用Unity為Android設(shè)備開(kāi)發(fā)移動(dòng)AR應(yīng)用程序。但是,在我們深入學(xué)習(xí)之前,讓我們先談?wù)勔幌翧RCore的功能。
運(yùn)動(dòng)跟蹤
與ARKit類(lèi)似,ARCore具有跟蹤在現(xiàn)實(shí)世界中定位的虛擬對(duì)象的位置和旋轉(zhuǎn)的能力。這就是所謂的運(yùn)動(dòng)跟蹤。這種效應(yīng)是通過(guò)內(nèi)置在所謂的慣性測(cè)量單元或IMU中的加速度計(jì)和陀螺儀的集合來(lái)實(shí)現(xiàn)的。從相對(duì)意義上說(shuō),IMU可以確定它所綁定的對(duì)象的位置和旋轉(zhuǎn)。
自從2008年第一款智能手機(jī)HTC G1問(wèn)世以來(lái),這些設(shè)備都內(nèi)置了相當(dāng)復(fù)雜的傳感器。雖然當(dāng)時(shí)沒(méi)有陀螺儀,有加速計(jì)、GPS接收器和數(shù)字羅盤(pán),但即使在當(dāng)時(shí),Layar瀏覽器也很酷地使用了AR。
幸運(yùn)的是,在這一點(diǎn)上,運(yùn)動(dòng)跟蹤或多或少是一個(gè)已解決的問(wèn)題,我們作為開(kāi)發(fā)人員并不需要處理IMU的輸入和輸出。微軟,蘋(píng)果和谷歌都可以給我們提供一個(gè)Unity界面,而且它可以工作。
環(huán)境理解
雖然運(yùn)動(dòng)跟蹤或多或少得到了解決,但環(huán)境理解,谷歌的平面搜索術(shù)語(yǔ),或標(biāo)準(zhǔn)RGB相機(jī)確定墻壁和地板等表面的能力仍然是相當(dāng)新的。雖然基于在機(jī)器人領(lǐng)域進(jìn)行的大量研究來(lái)幫助機(jī)器了解他們所處的領(lǐng)域,但它在增強(qiáng)現(xiàn)實(shí)中的應(yīng)用是不可否認(rèn)的。
運(yùn)動(dòng)跟蹤和環(huán)境理解相結(jié)合,可以將虛擬物體放置在桌面上,然后移動(dòng)設(shè)備,同時(shí)讓物體在桌面上精確地保持在同一位置,創(chuàng)造出相當(dāng)可信的視覺(jué)效果。
光估計(jì)
這一技術(shù)的最后一種是能讓人相信虛擬存在的假象被稱(chēng)為光估算。通過(guò)使用ARCore,智能手機(jī)的攝像頭可以接近該區(qū)域的光源,并在應(yīng)用程序中進(jìn)行復(fù)制。在這一點(diǎn)上,你的虛擬物體的亮點(diǎn)和陰影將會(huì)看起來(lái)與周?chē)目臻g相匹配。
幸運(yùn)的是,Unity創(chuàng)建的ARCore SDK插件可以自動(dòng)處理這些技術(shù)。因此,我們需要做的就是讓您了解如何利用這些工具的強(qiáng)大功能,并讓您通過(guò)ARCore開(kāi)始嘗試AR,這正是我們本系列的目標(biāo)。
您將在本系列教程中學(xué)習(xí)到什么!
本系列旨在讓新的ARCore開(kāi)發(fā)人員開(kāi)始創(chuàng)建AR應(yīng)用程序。我們將從軟件安裝和設(shè)置過(guò)程開(kāi)始,然后我們將構(gòu)建一個(gè)Unity場(chǎng)景并在該場(chǎng)景中設(shè)置Android ARCore SDK框架。我們將根據(jù)場(chǎng)景控制器的故障進(jìn)行跟蹤。
接下來(lái),便會(huì)進(jìn)行表面探測(cè),這將使我們能夠在A(yíng)R中對(duì)我們周?chē)氖澜邕M(jìn)行解釋。最后,我們將討論平面預(yù)置的主題,這將有助于我們?cè)诂F(xiàn)實(shí)世界中定位虛擬物體的能力。
隨著我們的前進(jìn),您可以參考本文以及下面的列表,作為方便的參考指南,在我們發(fā)布這些文章的同時(shí),系列文章的每一部分都會(huì)出現(xiàn)實(shí)時(shí)鏈接。
軟件安裝和設(shè)置
設(shè)置框架
場(chǎng)景控制器
表面檢測(cè)
平面預(yù)制和檢測(cè)
當(dāng)然,在未來(lái),我們可以介紹與ARCore相關(guān)的其他更具體的內(nèi)容。我們會(huì)在完成這個(gè)系列后盡力滿(mǎn)足您的需求。當(dāng)你在開(kāi)發(fā)增強(qiáng)現(xiàn)實(shí)應(yīng)用程序遇到一些麻煩,我們會(huì)在這里幫你弄清楚它們!