Vuforia開發(fā)完全指南(一)--- Vuforia概述

Vuforia概述


AR(Augmented Reality)增強(qiáng)現(xiàn)實(shí)凿掂,想必大家都已經(jīng)很熟悉了。這是當(dāng)下最熱的技術(shù)之一象浑,是利用計算機(jī)視覺和計算機(jī)圖像學(xué)領(lǐng)域的相關(guān)知識將虛擬世界融入到現(xiàn)實(shí)生活當(dāng)中橄唬。AR和另外的VR(Virtual Reality,虛擬現(xiàn)實(shí))以及MR(Mix Reality榜揖,混合現(xiàn)實(shí))并稱能改變未來生活的3R技術(shù)勾哩,更是被譽(yù)為下一代計算平臺抗蠢。去年(2016年)是VR元年,各大科技巨頭都紛紛砸重金進(jìn)入這個領(lǐng)域思劳,Oculus和HTC的VR設(shè)備的驚艷亮相迅矛,帶動了整個VR行業(yè)的大熱。MR更是黑科技中的戰(zhàn)斗機(jī)潜叛,目前只有微軟的Hololens走在最前面秽褒。相對于VR和MR壶硅,AR的技術(shù)要早很多年,其實(shí)也已經(jīng)在現(xiàn)實(shí)生活中初見端倪销斟,大家熟悉的直播中常用的虛擬面罩其實(shí)就是AR的應(yīng)用場景之一庐椒。世界上第一次將AR運(yùn)用到現(xiàn)實(shí)生活中要追溯到上個世紀(jì)90年代,美國空軍的Armstrong實(shí)驗(yàn)室在1992年研制出了Virtual Fixtures系統(tǒng)蚂踊,該系統(tǒng)起初是為了增進(jìn)人類的表現(xiàn)力以及完成一些遠(yuǎn)程控制任務(wù)而設(shè)計约谈。但是當(dāng)時受制于硬件的限制,AR這一技術(shù)始終沒有被大規(guī)模普及開來犁钟。近年來隨著計算機(jī)硬件的驚人進(jìn)步棱诱,特別是微電子領(lǐng)域的高速發(fā)展,使得硬件這一壁壘早已被打破涝动,AR技術(shù)得以撥開云雨重見天日迈勋,并被認(rèn)為是下一代通用計算平臺。

像所有的開發(fā)一樣醋粟,AR也需要有巨頭來提供SDK靡菇,使得開發(fā)者們能夠基于底層封裝好的模塊,快速的開發(fā)出一系列AR產(chǎn)品米愿。目前世界上主流的AR SDK提供廠商镰官,國外的主要是Vuforia、Metaio吗货,國內(nèi)的主要是EasyAR泳唠。其中Metaio在2015年5月已被Apple重金收購,之后就沒有再對外公開過SDK宙搬,經(jīng)過兩年的封閉開發(fā)笨腥,Apple已經(jīng)打造出了強(qiáng)大的ARKit,能夠基于龐大的iOS和iPad設(shè)備生產(chǎn)出各種驚艷的AR產(chǎn)品勇垛。Vuforia也在2015年11月被PTC公司重金收購脖母,但是后續(xù)一直在更新并提供SDK,因此在ARKit普及之前闲孤,Vuforia一直是開發(fā)者最青睞的AR SDK谆级,眾多的功能以及高質(zhì)量的識別技術(shù),使得Vuforia早已深入人心讼积。

隨著VR/AR/MR的大熱肥照,筆者本人也利用Vuforia開發(fā)了一系列的AR產(chǎn)品,高品質(zhì)的識別速度讓顧客十分滿意勤众,Unity和Vuforia的深入結(jié)合也讓AR開發(fā)變得十分容易上手舆绎,并且能夠打造出十分驚艷的產(chǎn)品∶茄眨《Vuforia開發(fā)完全指南》這一系列文章吕朵,就是筆者借著利用Vuforia開發(fā)的一些經(jīng)驗(yàn)猎醇,來將Vuforia開發(fā)的流程以及各種功能細(xì)節(jié)寫成教程,希望能夠幫助AR開發(fā)者們能夠快速進(jìn)入AR的世界努溃。


Vuforia的SDK支持很多平臺硫嘶,包括iOS、Android梧税、UWP音半,能夠適配市面上大部分的移動終端。Vuforia SDK封裝了底層用來圖像識別的計算機(jī)視覺模塊贡蓖,而且不用你操心攝像頭的開啟以及圖像的讀取曹鸠,這些Vuforia都為你提供好了一系列的參數(shù)設(shè)置,開發(fā)者需要做的只是按照需要配置這些參數(shù)斥铺,然后基于底層的識別算法開發(fā)出自己想要的AR程序彻桃。

Vuforia主要由三大部分組成:

  • Vuforia引擎。這個引擎是一個靜態(tài)鏈接庫晾蜘,作為客戶端封裝進(jìn)最終的App中邻眷,用來進(jìn)行最主要的識別功能,支持iOS剔交、Android和UWP肆饶,并且根據(jù)不同的平臺開放出了不同的SDK,可以根據(jù)需要從Android Studio岖常、Xcode驯镊、Visual Studio以及Unity中任選一種作為開發(fā)工具。本系列是以Unity為開發(fā)工具竭鞍,因?yàn)閁nity本來就是個游戲引擎板惑,對3D模型的導(dǎo)入以及控制非常方便,非常適合開發(fā)AR程序偎快;
  • 一系列工具冯乘。Vuforia提供了一系列的工具,用來創(chuàng)建對象晒夹、管理對象數(shù)據(jù)庫以及管理程序licenses裆馒。Target Manager是一個網(wǎng)頁程序,開發(fā)者在里面創(chuàng)建和管理對象數(shù)據(jù)庫丐怯,并且可以生成一系列的識別圖像喷好,用在AR設(shè)備以及云端上。Licenses Manager用來創(chuàng)建和管理程序licenses响逢,因?yàn)槊恳粋€AR程序都有一個唯一的licenses绒窑。Vuforia Object Scanner是Vuforia近段時間新出的工具,用來進(jìn)行十分黑科技的功能--實(shí)物掃描舔亭,但是很遺憾目前只支持某些Android設(shè)備些膨。
  • 云識別服務(wù)。當(dāng)你的AR程序需要識別數(shù)量很龐大的圖片對象钦铺,或者你的對象數(shù)據(jù)庫需要經(jīng)常更新订雾,可以選擇Vuforia的云識別服務(wù)。Vuforia Web Services可以讓你很輕松的管理數(shù)量龐大的對象數(shù)據(jù)庫矛洞,并且可以建立自動的工作流洼哎。

根據(jù)功能的不同,Vuforia支持很多類型的AR識別類型沼本,主要有以下幾種:

  • Image Targets噩峦,這是最常用、也是最簡單的識別對象抽兆,即單一靜態(tài)的平面圖像识补,比如打印的圖片或者產(chǎn)品包裝;


  • VuMark辫红,這是Vuforia自己研發(fā)的一種新型條形碼凭涂,并且被稱為下一代條形碼,你能夠自己隨意設(shè)計這種條形碼的樣式贴妻,并且在其中融入相關(guān)的數(shù)據(jù)信息切油;


  • Multi-Targets,多對象識別名惩,可以同時識別多張Image Targets澎胡,并且可以把它們和幾何立體物體結(jié)合起來,比如一個紙盒子娩鹉,或者任意形狀的平面滤馍;


  • Cylinder Targets,是形狀類似于圓柱形的圖片底循,可以將這些圖片貼到一些圓柱形物體上比如瓶子巢株、杯子等等,進(jìn)行識別熙涤;


  • Text Recognization阁苞,文字識別,可以識別大約10萬個英文單詞祠挫,對于一些英語教育產(chǎn)品很是實(shí)用那槽。但是很遺憾,不支持中文漢字識別等舔,只支持英文骚灸;


  • Object Recognization,實(shí)物識別慌植,這是Vuforia在今年前不久推出的一種新型識別甚牲,識別對象已經(jīng)從簡單的圖像中跳出來了义郑,可以基于現(xiàn)實(shí)生活中的實(shí)物模型進(jìn)行掃描識別,很是黑科技丈钙,這也代表著AR的未來非驮。但是很遺憾目前只支持三星S7等少數(shù)Android手機(jī),不過隨著技術(shù)的進(jìn)步雏赦,不久的未來一定會全平臺覆蓋劫笙;


  • Smart Terrain,這是一項(xiàng)突破性的技術(shù)星岗,可以基于用戶的真實(shí)物理環(huán)境重新建造虛擬的3D環(huán)境填大,可以打造出新型種類的游戲以及很真實(shí)的視覺效果,這種產(chǎn)品中的元素可以和真實(shí)世界中的物理實(shí)體以及平面進(jìn)行互動俏橘,非吃驶酷炫,真正做到了虛擬和現(xiàn)實(shí)相互融合敷矫。


Vuforia的SDK可以是免費(fèi)的例获,開發(fā)者只需注冊一個開發(fā)者賬號,進(jìn)入官網(wǎng)下載相關(guān)平臺的SDK就可以進(jìn)行開發(fā)了曹仗。當(dāng)然榨汤,免費(fèi)有免費(fèi)的限制,用免費(fèi)SDK開發(fā)的程序怎茫,攝像頭取景時左下角始終會有Vuforia的水印存在收壕,而且一些高級功能也有數(shù)量限制。所以如果你是想開發(fā)企業(yè)級產(chǎn)品轨蛤,最好還是花錢去買個licenses吧蜜宪。但是對于學(xué)習(xí)Vuforia,免費(fèi)SDK就夠了祥山,功能上沒有什么太大的影響圃验。

本系列教程采用的是Unity SDK,基于Vuforia + Unity開發(fā)AR產(chǎn)品缝呕。眾所周知澳窑,Unity是目前世界上最流行的游戲引擎,也是開發(fā)者用的最多的VR/AR開發(fā)工具供常,你不需要懂得計算機(jī)圖形學(xué)摊聋,不需要懂得光照計算,不需要會使用OpenGL栈暇,也不用操心模型是怎樣導(dǎo)入的等等一系列流程麻裁,你需要的只是將模型導(dǎo)入,然后用C#編寫控制腳本,根據(jù)平臺編譯生成二進(jìn)制文件煎源,就OK了色迂。同時Vuforia的Unity SDK十分人性化,有很多的常用設(shè)置薪夕,你可以根據(jù)需要設(shè)置相關(guān)參數(shù)脚草,并且不用操心攝像頭取景等問題赫悄,Vuforia都為你做好了原献,你需要做的只是free your imagination。


關(guān)于具體的開發(fā)流程蛉迹,本系列教程采用的是最新版的Unity作為開發(fā)工具岩调,C#作為開發(fā)語言(后期還會用到Objective-C蛛蒙,進(jìn)行Vuforia和Xcode的結(jié)合),Mac系統(tǒng)作為開發(fā)環(huán)境讲仰,Xcode作為程序編譯鏈接工具,iOS作為程序最終生成平臺痪蝇。但是其實(shí)也不必太在意操作系統(tǒng)的選擇鄙陡,Windows下的Unity一樣可以開發(fā)AR程序,只不過筆者選擇的運(yùn)行平臺是iOS躏啰,Unity生成iOS平臺App的流程是Unity先要生成Xcode工程趁矾,然后利用Xcode進(jìn)行編譯鏈接,生成最終的App二進(jìn)制文件進(jìn)行安裝给僵,因此選擇了Mac + Unity + Xcode這樣的組合毫捣。如果只是想開發(fā)Android程序,Windows就夠了帝际,因?yàn)閁nity生成Android程序不需要生成中間的工程蔓同,可以直接生成APK包進(jìn)行安裝。

好了蹲诀,接下來我會首先從最基礎(chǔ)的教學(xué)斑粱,讓一個不懂編程的人也能快速開發(fā)AR程序,然后逐步將Vuforia的各種AR功能展現(xiàn)出來脯爪。相信如果你能學(xué)完本教程则北,關(guān)于Vuforia的AR開發(fā),應(yīng)該可以算得上入門并且比較熟悉了披粟。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末咒锻,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子守屉,更是在濱河造成了極大的恐慌惑艇,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,427評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異滨巴,居然都是意外死亡思灌,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,551評論 3 395
  • 文/潘曉璐 我一進(jìn)店門恭取,熙熙樓的掌柜王于貴愁眉苦臉地迎上來泰偿,“玉大人,你說我怎么就攤上這事蜈垮『孽耍” “怎么了?”我有些...
    開封第一講書人閱讀 165,747評論 0 356
  • 文/不壞的土叔 我叫張陵攒发,是天一觀的道長调塌。 經(jīng)常有香客問我,道長惠猿,這世上最難降的妖魔是什么羔砾? 我笑而不...
    開封第一講書人閱讀 58,939評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮偶妖,結(jié)果婚禮上姜凄,老公的妹妹穿的比我還像新娘。我一直安慰自己趾访,他們只是感情好态秧,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,955評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著腹缩,像睡著了一般屿聋。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上藏鹊,一...
    開封第一講書人閱讀 51,737評論 1 305
  • 那天润讥,我揣著相機(jī)與錄音,去河邊找鬼盘寡。 笑死楚殿,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的竿痰。 我是一名探鬼主播脆粥,決...
    沈念sama閱讀 40,448評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼影涉!你這毒婦竟也來了变隔?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,352評論 0 276
  • 序言:老撾萬榮一對情侶失蹤蟹倾,失蹤者是張志新(化名)和其女友劉穎匣缘,沒想到半個月后猖闪,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,834評論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡肌厨,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,992評論 3 338
  • 正文 我和宋清朗相戀三年培慌,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片柑爸。...
    茶點(diǎn)故事閱讀 40,133評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡吵护,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出表鳍,到底是詐尸還是另有隱情馅而,我是刑警寧澤,帶...
    沈念sama閱讀 35,815評論 5 346
  • 正文 年R本政府宣布进胯,位于F島的核電站用爪,受9級特大地震影響原押,放射性物質(zhì)發(fā)生泄漏胁镐。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,477評論 3 331
  • 文/蒙蒙 一诸衔、第九天 我趴在偏房一處隱蔽的房頂上張望盯漂。 院中可真熱鬧,春花似錦笨农、人聲如沸就缆。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,022評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽竭宰。三九已至,卻和暖如春份招,著一層夾襖步出監(jiān)牢的瞬間切揭,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,147評論 1 272
  • 我被黑心中介騙來泰國打工锁摔, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留廓旬,地道東北人。 一個月前我還...
    沈念sama閱讀 48,398評論 3 373
  • 正文 我出身青樓谐腰,卻偏偏與公主長得像孕豹,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子十气,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,077評論 2 355

推薦閱讀更多精彩內(nèi)容