Vuforia AR的介紹和使用
定位的不同
目前世界上主流的AR SDK提供廠商,國外的主要是Vuforia艺玲、Metaio括蝠,國內(nèi)的主要是EasyAR。其中Metaio在2015年5月已被Apple重金收購饭聚,之后就沒有再對外公開過SDK忌警,經(jīng)過兩年的封閉開發(fā),Apple已經(jīng)打造出了強大的ARKit,能夠基于龐大的iOS和iPad設備生產(chǎn)出各種驚艷的AR產(chǎn)品法绵。Vuforia也在2015年11月被PTC公司重金收購箕速,但是后續(xù)一直在更新并提供SDK,因此在ARKit普及之前朋譬,Vuforia一直是開發(fā)者最青睞的AR SDK盐茎,眾多的功能以及高質(zhì)量的識別技術(shù),使得Vuforia早已深入人心徙赢。
目前版本
Vuforia主要由三大部分組成:
- Vuforia引擎字柠。
這個引擎是一個靜態(tài)鏈接庫,作為客戶端封裝進最終的App中狡赐,用來進行最主要的識別功能窑业,支持iOS、Android和UWP常柄,并且根據(jù)不同的平臺開放出了不同的SDK,可以根據(jù)需要從Android Studio秸架、Xcode、Visual Studio以及Unity中任選一種作為開發(fā)工具缭黔。本系列是以Unity為開發(fā)工具,因為Unity本來就是個游戲引擎惧互,對3D模型的導入以及控制非常方便喊儡,非常適合開發(fā)AR程序;
- 一系列工具匆赃。
Vuforia提供了一系列的工具低淡,用來創(chuàng)建對象、管理對象數(shù)據(jù)庫以及管理程序licenses。Target Manager是一個網(wǎng)頁程序,開發(fā)者在里面創(chuàng)建和管理對象數(shù)據(jù)庫称鳞,并且可以生成一系列的識別圖像,用在AR設備以及云端上。Licenses Manager用來創(chuàng)建和管理程序licenses周霉,因為每一個AR程序都有一個唯一的licenses。Vuforia Object Scanner是Vuforia近段時間新出的工具狞谱,用來進行十分黑科技的功能--實物掃描,但是很遺憾目前只支持某些Android設備与斤。
- 云識別服務磷支。
當你的AR程序需要識別數(shù)量很龐大的圖片對象,或者你的對象數(shù)據(jù)庫需要經(jīng)常更新,可以選擇Vuforia的云識別服務移盆。Vuforia Web Services可以讓你很輕松的管理數(shù)量龐大的對象數(shù)據(jù)庫,并且可以建立自動的工作流。
根據(jù)功能的不同裆蒸,Vuforia支持很多類型的AR識別類型,主要有以下幾種:
Image Targets
這是最常用、也是最簡單的識別對象,即單一靜態(tài)的平面圖像烂琴,比如打印的圖片或者產(chǎn)品包裝;
VuMark
這是Vuforia自己研發(fā)的一種新型條形碼反症,并且被稱為下一代條形碼,你能夠自己隨意設計這種條形碼的樣式,并且在其中融入相關的數(shù)據(jù)信息烦绳;
Multi-Targets
多對象識別躺孝,可以同時識別多張Image Targets戚啥,并且可以把它們和幾何立體物體結(jié)合起來览濒,比如一個紙盒子宙项,或者任意形狀的平面汇荐;
Cylinder Targets
是形狀類似于圓柱形的圖片革娄,可以將這些圖片貼到一些圓柱形物體上比如瓶子匆浙、杯子等等叹放,進行識別;
Text Recognization (Native only)
文字識別,可以識別大約10萬個英文單詞聪全,對于一些英語教育產(chǎn)品很是實用难礼。但是很遺憾谦炬,不支持中文漢字識別窜管,只支持英文赖条;
Object Recognization
實物識別纽竣,這是Vuforia在今年前不久推出的一種新型識別,識別對象已經(jīng)從簡單的圖像中跳出來了港令,可以基于現(xiàn)實生活中的實物模型進行掃描識別,很是黑科技绅喉,這也代表著AR的未來憨奸。但是很遺憾目前只支持三星S7等少數(shù)Android手機党瓮,不過隨著技術(shù)的進步枪萄,不久的未來一定會全平臺覆蓋妒牙;
Smart Terrain
這是一項突破性的技術(shù)童谒,可以基于用戶的真實物理環(huán)境重新建造虛擬的3D環(huán)境单旁,可以打造出新型種類的游戲以及很真實的視覺效果,這種產(chǎn)品中的元素可以和真實世界中的物理實體以及平面進行互動饥伊,非诚蠡耄酷炫,真正做到了虛擬和現(xiàn)實相互融合琅豆。
使用過程
證書
管理
上傳
下載
三種不同類型Database的比較
Vuforia提供了三種類型的Database愉豺,分別是Device、VuMark和Cloud茫因。這三種類型都各有自己的優(yōu)勢蚪拦,在開發(fā)產(chǎn)品時需要根據(jù)需求來選擇不同的Database:
- Device Database:
包含了安裝在設備本地的圖片以及3D模型對象的數(shù)據(jù)庫,可以開發(fā)Image Target(圖片識別)冻押、Multi Targets(多對象識別)驰贷、Cylinder Targets(圓柱圖像識別)以及Object Target(3D模型識別)。當你的產(chǎn)品需要最快速的圖像識別洛巢,而且圖片對象小于1000張括袒,并且數(shù)據(jù)庫中的對象不會經(jīng)常更新,那么Device Database就是最好的選擇稿茉。如果需要開發(fā)識別真實3D物體識別的產(chǎn)品锹锰,那就只能選擇Device類型的。
- Cloud Database:
包含了存儲于網(wǎng)絡云服務器上的對象的數(shù)據(jù)庫漓库,需要通過網(wǎng)絡進行獲取恃慧。Cloud類型的數(shù)據(jù)庫可以包含數(shù)量百萬級別的對象,因此當識別對象超過1000個渺蒿,而且對象需要經(jīng)常進行更新時痢士,Cloud Database是最好的選擇。需要注意的是茂装,Cloud Database只支持單一的圖像識別,并不支持Multi target和Cylinder Target。因為是通過網(wǎng)絡識別唆貌,因此采用Cloud進行識別的話需要根據(jù)網(wǎng)絡情況花費一定時間蜘腌。
- VuMark:
這是Vuforia自家研發(fā)的條形碼,被譽為下一代條形碼。和目前市面上通用的條形碼不一樣的是,VuMark的外觀可以完全自主定制,只要符合VuMark的相關規(guī)范就行训挡,而且VuMark中還能包含諸如字符串之類的數(shù)據(jù)信息,非常適合于企業(yè)級產(chǎn)品的開發(fā)歧强。
下面這張表是關于Device和Cloud類型的對比:
使用
Image Targets
Cylinder Targets
VuMask
虛擬按鈕
播放視頻
Vuforia 和HoloLens集成
高通的Vuforia給微軟的HoloLens帶來了一個重要的能力——將AR體驗與環(huán)境中的特定圖像和對象連接起來澜薄。
你可以使用這個功能在機器頂部的步驟指令上疊加引導步驟或者將數(shù)字功能添加到物理產(chǎn)品中。
企業(yè)開發(fā)人員-你可以使用VuMarks在工廠的地板上唯一的標識每一件機器-直接到序列號摊册。VuMarks的規(guī)姆艟可達數(shù)十億美元,可以設計成類似公司的標志茅特。對于HoloLens所能看到的任何產(chǎn)品忘分,它們都是理想的解決方案。
現(xiàn)有的Vuforia應用是為手機和平板電腦打造的白修,它可以很容易地在Unity上配置和在HoloLens上運行妒峦。
其他應用場景
Vuforia7 將要帶來的重要更新
PTC日前宣布擴展其Vuforia開發(fā)平臺,將數(shù)字內(nèi)容添加到更多不同類型的對象和環(huán)境中兵睛,以帶來新一代的增強現(xiàn)實體驗肯骇。
Vuforia是被廣泛使用的AR開發(fā)平臺,目前全球開發(fā)者已經(jīng)基于Vuforia平臺開發(fā)了超過4萬5千款的AR應用祖很,并支持智能手機笛丙、平板電腦和智能眼鏡使用。
據(jù)了解假颇,最新版本的Vuforia7將引入“Model Targets(目標模型)”功能胚鸯,這是一種把數(shù)字內(nèi)容疊加到現(xiàn)有的計算機視覺技術(shù)未能識別的對象中,通過“Model Targets”功能拆融,數(shù)字內(nèi)容可以疊加到如汽車、家電啊终、工業(yè)設備和機械中镜豹。
同時,Vuforia7也擴展了智能地形功能蓝牲。無論是室內(nèi)還是室外趟脂,Vuforia Ground Plane功能可識別出特定對象的地平線,如把數(shù)字內(nèi)容疊加到地面例衍、地板或者桌面上昔期。
Vuforia7的Vuforia Fusion是一個特別為全球范圍內(nèi)的設備提供最佳AR體驗的平臺已卸,它致力于解決AR技術(shù)(包括攝像頭、傳感器硼一、軟件框架如ARKit和ARCore)的碎片化問題累澡。
它可以感知底層設備的功能,并將其與Vuforia功能融合般贼,讓開發(fā)人員可以只需單個Vuforia API便能獲得最佳的AR體驗愧哟。
同時,Vuforia Fusion還將為ARCore和ARKit兼容設備帶來Vuforia的功能優(yōu)化哼蛆。
未來Vuforia7也會在即將推出的Unity版本中支持ARKit蕊梧,而ARCore則計劃在明年實現(xiàn)支持.
Vuforia 7主要有以下幾個方面的更新:
-
Vuforia Model Targets
什么是Model Targets識別?通俗點說就是3D物體的識別腮介,也就是形狀的識別肥矢。這個技術(shù)相對于傳統(tǒng)的印刷媒體、產(chǎn)品包裝的Image Targets識別來說叠洗,它能夠更詳細直觀地展示產(chǎn)品的功能和設計甘改。展示的內(nèi)容可以準確地被附加到物體上,例如汽車惕味、家電以及工業(yè)設備和機械設備楼誓。這個技術(shù)有望取代傳統(tǒng)的用戶手冊和技術(shù)服務指導。
-
Vuforia Ground Plane
隨著ARKit和ARCore的發(fā)布名挥,這個功能大家應該比較能夠理解疟羹,下一個版本的Vuforia也將具有類似功能。使用Vuforia禀倔,你也可以將增強顯示的內(nèi)容放置到一些平面上榄融,例如地板、桌面以及地面等救湖,不管是在室內(nèi)還是室外均可愧杯。其實早在13年,Vuforia就發(fā)布了一個叫做Smart Terrain的功能鞋既,當初還沒有那么強大力九。
-
Vuforia Fusion
這個功能通俗點講就是Vuforia可以解決ARCore和ARKit的硬件設備的限制問題,例如ARCore目前只支持Google Pixel系列機型和三星S8(海外版)邑闺,ARKit只支持搭載A9芯片以及iOS 11的設備跌前。而Vuforia可以支持超過100多款手機,對于開發(fā)者來說還算比較友好陡舅。
補充
Smart Terrain
這個實現(xiàn)的是 ARKit沒有的遮擋效果, 所以重點說一下.
有智能地形經(jīng)歷三個階段:
- 分段階段, 用戶設置一個舞臺區(qū)域使用抵乓,添加道具和初始化目標。
- 掃描階段, 設置的舞臺和道具由智能地形跟蹤器捕捉和重建。
- 追蹤階段, 增強Unity場景實時地形灾炭。
使用步驟:
Targets勾選 Enabale Smart Terrain.
多個 Targets可以使用同一個 Smart Terrain對象, 官方建議Targets數(shù)量不要超過5個.
ARCamera設置World Center Mode為SPECIFIC_TARGET , 并且將 Primary Surface 拖拽到 World Center參數(shù)處.
設置 Targets中 Smart Terrain的 Occluder Bounds.
設置 VuforiaConfiguration 的 Scene unit in mm 為 100.
Smart Terrain對象綁定腳本 DefaultSmartTerrainEventHandling , 實現(xiàn) ISmartTerrainEventHandler接口 和 OnPropCreate回調(diào).
可以在腳本里實現(xiàn) 根據(jù)prop實現(xiàn)prefab對象, 獲取 prop的size和height, 更新 primary surface的位置, 用戶交互操作.
一些參考:
Smart Terrain Workflow in Unity
https://library.vuforia.com/articles/Solution/Smart-Terrain-Workflow-in-Unity.html
Migrate Unity Project from Vuforia 6.2 to 6.5
https://library.vuforia.com/content/vuforia-library/en/articles/Solution/migrate-vuforia-62-to-65.html
Fuforia官方 Penguin Smart Terrain Sample
唯一的問題是現(xiàn)在沒有 Sample的下載
https://library.vuforia.com/articles/Solution/Penguin-Smart-Terrain-Sample
其他參考
AR學院教程匯總貼(Vuforia篇)
http://www.reibang.com/p/a3640e8837b5