Vision VR/AR Summit Asia 2016大會(huì)的Keynote主題演講中,PTC Vuforia總裁Jay Wright上臺(tái)分享了Unity與PTC的合作,在Unity編輯器中內(nèi)置集成Vuforia增強(qiáng)現(xiàn)實(shí)平臺(tái)。
為了幫助開發(fā)者更好地進(jìn)行AR內(nèi)容開發(fā),Vuforia創(chuàng)建了AR Starter Kit,可在Asset Store下載。 該資源包擁有多個(gè)AR場(chǎng)景,每個(gè)場(chǎng)景實(shí)現(xiàn)不同的功能,您可以自行實(shí)驗(yàn)或添加到現(xiàn)有的Unity項(xiàng)目中使用。
這里有一篇Vuforia-AR-Starter-Kit的官方使用文檔,想看官方說明的可以直接看這里:
https://library.vuforia.com/articles/Training/Vuforia-AR-Starter-Kit
下載完Vuforia-AR-Starter-Kit后,我們需要到官網(wǎng)注冊(cè)一個(gè)Vuforia賬號(hào)
注冊(cè)地址:https://developer.vuforia.com/user/register
注冊(cè)完成信息填寫完成并在郵箱激活后我們就可以登錄Vuforia管理后臺(tái)了。
創(chuàng)建一個(gè)Vuforia案例
1、獲取License Key
在后臺(tái)管理中我們點(diǎn)擊Develop,Add license key
這里有個(gè)選擇你的項(xiàng)目類型,我們選擇Development(開發(fā)者版本),剩下的兩個(gè)是消費(fèi)者版本和企業(yè)版本功能更強(qiáng)大但需要收費(fèi)。
然后設(shè)置好應(yīng)用名字,設(shè)備選擇Mobile而不是數(shù)字眼鏡。
勾上后點(diǎn)擊Confirm,表示同意Vuforia開發(fā)者協(xié)議
2、創(chuàng)建目標(biāo)識(shí)別數(shù)據(jù)庫(kù)
接下來點(diǎn)擊Target Manager,創(chuàng)建自己的目標(biāo)識(shí)別數(shù)據(jù)庫(kù)
設(shè)置好名字后點(diǎn)擊Create創(chuàng)建。
點(diǎn)擊剛剛創(chuàng)建的數(shù)據(jù)庫(kù),Add Target。
目標(biāo)圖形的種類,我們選擇單張圖片,圖片寬度我們可以右擊查看
確定后,這樣我們的一個(gè)識(shí)別目標(biāo)數(shù)據(jù)庫(kù)的內(nèi)容就創(chuàng)建好了,當(dāng)然你可以繼續(xù)往數(shù)據(jù)庫(kù)中添加想要的識(shí)別文件。
我們要盡量使用清晰,對(duì)比度高的識(shí)別圖,這樣才能盡可能獲得高的星級(jí),建議使用星級(jí)4以上的圖片,這樣才能使識(shí)別的時(shí)候成功率更高。接下來下載這個(gè)數(shù)據(jù)庫(kù),我們是準(zhǔn)備在Unity中使用,所以選擇Unity Editor。
3、創(chuàng)建Vuforia案例
1、導(dǎo)入項(xiàng)目
由于我們創(chuàng)建的是一個(gè)最基本的Vuforia項(xiàng)目,為免給新手造成疑惑,這里暫時(shí)不用Vuforia-AR-Starter-Kit包,我們從官網(wǎng)下載基本的Unity SDK并將其和上面下載的目標(biāo)識(shí)別數(shù)據(jù)庫(kù)導(dǎo)入U(xiǎn)nity中。
https://developer.vuforia.com/downloads/sdk
導(dǎo)入成功后如下圖所示
2、創(chuàng)建項(xiàng)目
將Vuforia->Prefabs中的ARCamera和ImageTarget兩個(gè)預(yù)制體拖入層級(jí)視圖中,并將Main Camera刪除。
預(yù)制體ARCamera上帶有AR攝像機(jī)以及App相關(guān)設(shè)置;預(yù)制體ImageTarget代表一張識(shí)別圖像,并且?guī)в凶R(shí)別事件處理相關(guān)腳本。
點(diǎn)擊ARCamera,復(fù)制我們之前創(chuàng)建的license key,填入第一個(gè)箭頭指的位置,并將第二個(gè)箭頭位置LOAD 識(shí)別庫(kù)名字和Active打上√。
點(diǎn)擊ImageTarget,在下圖腳本處修改,將DataBase改成之前自己創(chuàng)建的,并在Image Target處選擇自己創(chuàng)建的目標(biāo)圖形
在ImageTarget下放一個(gè)物體模型,當(dāng)做識(shí)別后顯示出來的物體,這里我們選擇一個(gè)Cube,當(dāng)然你也可以選擇其他模型。然后調(diào)整Cube的transform使它處于合適位置與比例,并使ARCamera以一個(gè)合適的角度照射到此Target。
3、運(yùn)行測(cè)試
點(diǎn)擊運(yùn)行按鈕,然后將識(shí)別圖放在電腦攝像頭前(不要吐槽我像素渣,筆記本自帶的攝像頭,窮o(╯□╰)o,不過也充分說了Vuforia的識(shí)別能力是非常強(qiáng)的)。可以看到實(shí)驗(yàn)非常成功。
接下來我們發(fā)布到手機(jī)上,發(fā)布安卓的環(huán)境配置這里就不介紹了,請(qǐng)自行搜索。
按下圖點(diǎn)擊,找到Identification,將其中的 com.compan.ProductName的compan隨便做改動(dòng),然后點(diǎn)Build,成功生成APK包后在手機(jī)端安裝。
手機(jī)端實(shí)驗(yàn):
也成功運(yùn)行。
4、攝像頭對(duì)焦:
由于默認(rèn)情況下攝像機(jī)不能對(duì)焦,我們可以給ARCamera寫一個(gè)腳本掛在上面,在Start的時(shí)候開啟對(duì)焦。
void Start () {
Vuforia.CameraDevice.Instance.SetFocusMode(Vuforia.CameraDevice.FocusMode.FOCUS_MODE_CONTINUOUSAUTO
);