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