前言
增強(qiáng)現(xiàn)實(shí)技術(shù)是當(dāng)前信息技術(shù)領(lǐng)域的一項(xiàng)重要的綜合性技術(shù)枢步,融合了模式識(shí)別珍特、計(jì)算機(jī)圖形學(xué)等多個(gè)學(xué)科的知識(shí)奏纪。今天我們就和大家一起來看一下京髓,這個(gè)技術(shù)到底可以帶給我們什么吧。
ImageTarget** [圖片目標(biāo)]
1.環(huán)境配置
Windows 10(64-bit)操作系統(tǒng)夜牡、Unity 3D 5.3.x+(64-bit)与纽、Vuforia 6.0+ SDK
這里需要對(duì)開發(fā)環(huán)境進(jìn)行簡(jiǎn)要的說明。
√磷啊(1)首先Windows系統(tǒng)和Mac OS 都是可以的急迂,我平時(shí)用Windows 10,所以就以此為例子來進(jìn)行講解蹦肴。當(dāng)然Win7僚碎、Win8 也都是可以的。目前雖然也有支持Linux的Unity3D 非官方版本阴幌,但是將Vuforia導(dǎo)入后運(yùn)行會(huì)報(bào)錯(cuò)勺阐,目前還沒解決。所以推薦使用Windows或者M(jìn)ac OS矛双。
(2)Unity3D從Unity 5 開始分為了32位版本和64位版本渊抽,如果你的計(jì)算機(jī)是64位系統(tǒng),可以自由選擇议忽,但是注意懒闷,Vuforia SDK只有到Vuforia 6才開始支持64位的Unity。這也就意味著栈幸,如果你使用VuforiaSDK之前的一些版本愤估,例如Vuforia 4和Vuforia 5,你就只能使用32位的Unity了速址。
2 下載Vuforia 6
2.1 下載Vuforia 6 SDK [https://developer.vuforia.com/downloads/sdk]
當(dāng)前SDK最新的版本是Vuforia 6玩焰。SDK選項(xiàng)卡下有不同平臺(tái)的開發(fā)包。Samples選項(xiàng)卡下有不同平臺(tái)的例程壳繁,你可以在熟悉使用SDK后自己下載使用震捣,其中就包括平面跟蹤和物體跟蹤等常見功能。
點(diǎn)擊Download for Unity闹炉,下載到本地蒿赢,下載路徑最好是純英文的,否側(cè)導(dǎo)入unity時(shí)會(huì)報(bào)錯(cuò)渣触。如果需要注冊(cè)賬號(hào)羡棵,就注冊(cè)一個(gè),并且要記錄下來嗅钻。因?yàn)橐院蠊芾砻罔€和數(shù)據(jù)庫(kù)還會(huì)用到皂冰。
2.2 申請(qǐng)License
點(diǎn)擊Develop選項(xiàng)卡下的License Manager選項(xiàng)卡店展,點(diǎn)擊Add License Key。
然后選擇相應(yīng)的信息秃流,如下圖赂蕴,并輸入一個(gè)App Name。
點(diǎn)擊Next舶胀,出現(xiàn)確認(rèn)信息界面概说,再確認(rèn)即可。
然后回到License Manager面板嚣伐,發(fā)現(xiàn)已經(jīng)有了剛剛建立的MyFirstAR(你肯定用的是其他的名字吧糖赔,都是可以的)
點(diǎn)開這個(gè)剛剛建立的條目,顯示如下轩端。
把上面這一大段字符復(fù)制到本地保存起來放典,以備以后使用。
2.3 建立數(shù)據(jù)庫(kù)
點(diǎn)擊Develop下的Target Manager選項(xiàng)卡基茵,會(huì)看到如圖所示奋构。
然后點(diǎn)擊Add Database,在彈出的對(duì)話框中輸入名字耿导,并選擇Type為Device声怔,然后Create。
然后Target Manager中會(huì)顯示新添加的數(shù)據(jù)庫(kù)舱呻,打開它,顯示如下悠汽。
點(diǎn)擊Add Target來添加自己的標(biāo)志圖箱吕,作為被跟蹤的標(biāo)志板。
由于我使用的是平面標(biāo)志板柿冲,所以Type中選擇Single Image茬高,F(xiàn)ile選擇自己準(zhǔn)備好的圖像。我是選擇了一個(gè)龍珠人物的圖像假抄。圖像要求紋理復(fù)雜并且不能是對(duì)稱的怎栽。Width要求輸入圖像的寬度。我使用的圖像打印出來是0.4m宿饱,所以為了符合實(shí)際尺寸熏瞄,我就將寬度設(shè)置為了0.4。這里需要知道谬以,unity里面默認(rèn)的單位是米强饮。然后點(diǎn)Add,就成功將圖案上傳到服務(wù)器了为黎。
如上圖邮丰,我們建立的數(shù)據(jù)庫(kù)中已經(jīng)有了添加的圖像行您,并且評(píng)分為5星,表明圖像上特征點(diǎn)很多剪廉,適合作為標(biāo)志圖案娃循。然后點(diǎn)擊Download Database(All),選擇開發(fā)平臺(tái)為Unity Editor斗蒋。
3 建立AR工程
打開之前建立的空工程捌斧,導(dǎo)入下載的Vuforia 6 SDK和下載下來的數(shù)據(jù)庫(kù)。
依次選擇Assets——Import Package——Custom Package吹泡,分別導(dǎo)入上述文件(vuforia-unity-6-0-117.unitypackage和MyDataset.unitypackage骤星,也許你用的是其他的名稱,只要選對(duì)相應(yīng)文件即可)爆哑。
將當(dāng)前場(chǎng)景保存為AR.unity洞难,然后找到Project下的All Prefabs,點(diǎn)擊會(huì)在右側(cè)顯示下圖揭朝。
將ARCamera和ImageTarget兩個(gè)都拖放到Hierarchy中队贱,點(diǎn)擊剛拖進(jìn)來的ImageTarget,在右側(cè)的Inspector中找到C#腳本ImageTargetBehaviour潭袱,其下拉選項(xiàng)的Database選擇“MyDataset”柱嫌,ImageTarget就選擇你的圖片名,其他默認(rèn)屯换。
然后在Hierarchy中點(diǎn)擊ARCamera编丘,在右側(cè)的C#腳本Vuforia Behaviour下拉選項(xiàng)中找到App License Key,將申請(qǐng)的License key復(fù)制到方框中彤悔。找到Database Load Behaviour腳本嘉抓,勾選Load MyDataset Database,然后它下面會(huì)出現(xiàn)Activate晕窑,也勾選上抑片。
現(xiàn)在所有的軟件設(shè)置已經(jīng)完成,現(xiàn)在需要在場(chǎng)景中疊加一些虛擬物體杨赤。我們先創(chuàng)建一個(gè)Cube敞斋,并將它作為ImageTarget的子物體,調(diào)整位置和大小疾牲,如圖所示植捎。
保證你的攝像頭是正常連接上的。查看的方法是说敏,點(diǎn)擊Hierarchy中的ARCamera鸥跟,然后查看右側(cè)Inspector中的WebCamBehaviour腳本是否檢測(cè)到了Camera Device。如圖,我的攝像頭采用的是Logitech HD Pro C920医咨。
一切就緒后枫匾,保存場(chǎng)景,并點(diǎn)擊運(yùn)行按鈕拟淮「绍裕可以看到效果如圖
3DTarget** [3D目標(biāo)目標(biāo)]
1. 插件下載
登陸官網(wǎng),點(diǎn)擊Develop下的Tools,下載Vuforia Object Sanner(Vuforia物體掃描器),Vuforia Object Scanner是一個(gè)用于掃描物體表面識(shí)別點(diǎn)信息的App很泊,只支持Android操作系統(tǒng)角虫,根據(jù)官網(wǎng)規(guī)定,建議大家采用Samsung Galaxy S5和Google Nexus 5這兩款安卓手機(jī)進(jìn)行操作委造。
[下載完畢并解壓之后會(huì)得到以下兩部分內(nèi)容:
文件夾Media:三維物體掃描圖戳鹅,需要采用A4紙打印出來。
scanner.apk:用于三維物體掃描昏兆,需要安裝上述描述的安卓手機(jī)中枫虏。
接下來,我們依然按照之前章節(jié)中的方法下載Samples插件包并導(dǎo)入到工程中爬虱,下圖中Object Recognition表示對(duì)應(yīng)的插件包中包含物體識(shí)別案例隶债。
2.掃描三維物體識(shí)別信息(點(diǎn)云數(shù)據(jù))
將上述打印出來的紙張放在桌面上,并在右上角坐標(biāo)區(qū)域放置需要識(shí)別的三維物體跑筝,并打開已經(jīng)安裝的掃描數(shù)據(jù)app死讹,360度掃描物體將生成后綴名為.od的數(shù)據(jù)文件。
3曲梗、創(chuàng)建數(shù)據(jù)庫(kù)
接下來登陸Vuforia開發(fā)者官網(wǎng)創(chuàng)建數(shù)據(jù)庫(kù)赞警,本次我們選擇3D Object,點(diǎn)擊Browse按鈕選擇上一步驟中生成的數(shù)據(jù)文件。
4.創(chuàng)建成功之后點(diǎn)擊下載數(shù)據(jù)包虏两,并導(dǎo)入到Unity工程中仅颇。
5.實(shí)現(xiàn)三維物體掃描
5.1.在Vuforia文件夾中找到ARCamera和ObjectTarget兩個(gè)預(yù)制件并拖拽到層級(jí)視圖Hierarchy。
5.2.選中ObjectTarget碘举,在Inspector面板中選擇三維數(shù)據(jù)包。
5.3.然后在ObjectTarget下創(chuàng)建一個(gè)掃描成功后要顯示的子對(duì)象搁廓,并調(diào)節(jié)到合適的位置大小引颈,在此我們直接創(chuàng)建Unity子彈的三維模型Sphere。