Unity3D AR開發之Vuforia入門學習

引言:2016年的AR遊戲Pokemon GO火遍全球(除了中國),讓我第一次瞭解到AR的世界。神奇的虛擬對象出現在現實世界中,感覺小時候的遊戲王這類的動畫可以成爲現實。 最近小生學習了高通的Vuforia,本篇着重介紹入門操作。

開發版本:Unity 2018.1.3f1

適合人羣:對U3D有基礎認識,想要學習AR的童鞋


一、什麼是增強現實?

增強現實(Augmented Reality,簡稱 AR)是指把現實世界中某一區域原本不存在的信息,基於某種介質並經過仿真後再疊加到真實世界,被人類感官所感知的技術。

特點:真實世界和虛擬世界的信息集成,無縫銜接   ;具有實時交互性    ;在三維空間中定位虛擬物體


二、Vuforia學習

1、工作原理

用攝像頭拍攝現實場景,通過計算機視覺技術捕獲識別標記,實時記錄它的位置和方向,數據平臺中存儲的虛擬3D模型對象與真實場景相疊加。

P.S. Unity2017.2版本開始將Vuforia內置,在安裝時即可下載


2、Vuforia識別機制

通過檢測自然特徵點的匹配來完成,將識別圖檢測出的特徵點保存在數據庫中,然後將實時檢測出真實圖像中的特徵點與數據庫中識別圖的特徵點數據進行匹配

1、服務器對上傳圖片進行灰度處理,圖片變爲黑白圖像

2、提取黑白圖像的特徵點

3、將特徵點數據打包

4、程序運行時,對比特徵點數據包

注意:圖片中尖銳可辨,輪廓清晰的地方就是特徵點,例如矩形四個角就是四個特徵點,而圓形沒有特徵點

識別卡片需要材質較硬,不要有褶皺,輪廓清晰,豐富的細節,較高的對比度

特別注意:整幅圖片的8%的區域作爲功能排斥緩衝區,該區域不會被識別


3、實現步驟

<1>申請密鑰

現在Vuforia的官網註冊開發者賬號,並申請項目密鑰(License Key),免費開發者每月有1000次的掃描次數,而且左下角有水印。不過,用於開發學習也足夠了。


創建完項目後,即可獲取密鑰,密鑰是需要複製到項目中的配置文件中的

添加數據庫,用於保存識別圖的數據

添加識別圖,點擊Add Target按鈕

將識別圖上傳至網站,生成識別圖的特徵點數據包,點擊右側Download Database按鈕,下載Unity數據包
P.S. Rating一列中,星級越高說明特片的特徵點越多,越容易識別,建議不低於三顆星

<2>前期設置

打開Player setting窗口 勾選開發VR選項

發佈平臺需要改爲Android

Player Setting中Other Setting一欄中需要取消勾選Android TV Compatibility,因爲Vuforia不支持Android TV的發佈。


將官網申請的祕鑰複製到Resources文件夾中VuforiaConfiguration的App license key一欄


屬性:

camera device mode :設置默認識別速度優先還是質量優先

max simultaneous tracked images :最大識別圖數量

max simultaneous tracked objects :最大識別對象數量

camera direction :默認攝像機是前置還是後置

device type :默認爲手持handhelds


<3>導入Vuforia

如果是Unity 2017.2之前的版本,需要在官網下載Vuforia插件,然後導入Unity即可。

而這之後的版本,選擇GameObject-Vuforia-AR Camera,導入AR Camera的同時,會自動導入Vuforia相關內容。

將之前在官網下載的Unity數據包導入到Unity項目中

導入Image Target,選擇GameObject-Vuforia-Image


將Image Target的數據庫選擇爲之前導入的Unity包內的數據庫


將一個3D模型作爲ImageTarget的子物體


然後,打包運行即可!
下圖爲編輯器模式下演示:

結束語:至此,您可以實現單卡顯示的功能,之後,會繼續記錄Vuforia的其他功能,還請關注我哦!


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章