劉泓哲 毛方賽 上海大學
自從1998年的一次橄欖球球賽,一些被圖文包裝過的文字及戰術組合的箭頭等信息被插入到現場直播后,AR應用就如雨后春筍一般在世界中迅速鋪開。好的AR應用猶如魔法一般讓人震撼不已。隨著AR技術的不斷成熟的今天,AR應用的開發仍然屬于少數人的專利,寫作人針對此種情況,對AR開發過程做了一次全流程梳理與展示,使大家能夠清楚的了解到這些新技術并不復雜,使得普通人去開發也變得可能。
開發一個APP需要硬件與軟件兩部分。如圖1所示:
圖1:軟件制作的總框架
硬件方面又分為兩塊,一個是輸出端,另一個是開發端。
當前AR主要是用在移動端,所以我們的智能手機是一個先決條件。手機不分種類,IPhone(含IPad)或者安卓手機都可以,這些就是我們的輸出端。開發端需要一臺電腦,XP系統以上(含XP)即可。
軟件方面也分為兩塊,一塊是引擎,另一塊是高通(Vuforia)的SDK。
目前個人及小型團隊較多的使用Unity引擎,當前最新的Unity版本是2017.3.0版本,內置了高通SDK。
根據一個系統虛擬與現實的占比,可以將系統分為4類:真實現實、增強現實、增強虛擬、虛擬現實。而增強現實和增強虛擬有合成為混合現實[1]。如圖2所示:
圖2:虛擬與現實的4中關系
我們制作的AR內容需要綁定一個特殊的對象,這個特殊的對象就是識別圖。AR的原理就是利用機器視覺(即手機攝像頭)檢測識別圖從而達到顯示出我們制作內容的目的。
根據內容,我們設計制作了一套五行卡牌,金木水火土元素。為了可視化表現,分別采用白虎,青龍,玄武,朱雀及黃龍表現,如圖3所示:
圖3:五行卡
上傳到Vuforia官網,即可進行標記。上傳過程如圖4,圖5,圖6所示,可參考AR學院[2]。
圖4:選擇目標管理器
圖5:創建識別數據
圖6:選擇圖片并加載
最后檢測星數及特征點,如圖7,圖8所示:
圖7:識別圖狀態
圖8:識別圖上的特征點
特征中的識別點人眼是無法看到的,但卻是攝像頭尋找的關鍵。識別點越多,越密集,越容易被攝像頭認出來,從而迅速的顯示里面“隱藏”的內容。
打開Unity引擎,把ARCamera和ImageTarget拖入到Inspector面板,把需要顯示的內容放在ImageTarget下,成為它的子物體。如圖9、10所示:
圖9.準備AR相機及識別
圖10.模型拖入識別圖
到這里,初步的工作基本完成,可運行你的工程,進行測試,點擊播放按鈕。如圖11:
圖11.測試
如需發布可以按照圖12的形式進行發布。
圖12.發布
參見下列圖13至圖。
圖13.金
圖14.木
圖15.水
圖16.火
圖17.土
圖18.金克木
圖19.火克金
圖20.金生水
圖21.土生金
圖22.木克土
圖23.木生火
圖24.水生木
圖25.火生土
圖26.水克火
圖27.土克水
AR應用不僅開啟著我們的智慧,也同樣方便我們的生活,它使我們看到了很多有用但肉眼看不到的信息。通過這次開發流程的說明,使大家了解了AR的核心構建,以及它的應用范疇。
備注:該應用全部為自主研發。下圖為安卓APP二維碼,下載安裝后可掃描圖3五行卡系列對識別圖進行識別,即可發現其中秘密。(如需技術支持或交流,可致電劉老師,來意請說明)
[1] AR學院 增強現實技術漫談一.
[2] AR學院 增強現實技術漫談二.