How to build a AR app by Unity with Vuforia<1>
前言
目前在unity上面有兩間廠商支援AR,一是鼎鼎大名的Google大神,剛開始推廣AR Core這個自家服務,雖然沒有什麼大問題,不過在相容性上面有些問題,很多舊一點的手機不能正常執行。另外一間是在AR這個領域耕耘許久的Vuforia,目前最新的版本是(8.3.8),由此可知這個套件已經經過市場的迭代更新,相容性的問題是比較理想的,終點是Unity已經內建支援,所以今天要選擇這個套件。
什麼是AR,可以做什麼
另外很多人不了解AR是甚麼,如果跟大家說,寶可夢算是第一個成功的AR產品,這樣子就比較容易理解。AR的服務大致上是利用手機的攝影鏡頭,並結合相關的技術,將虛擬的物件顯示在攝影畫面中,將兩者做結合。
目前大部分實現都是遊戲為主,不過AR也適合結合衛星導航,可以在投影在抬頭顯示器上面,清楚標示行進方向或者地標地址
還有一部分產品是結合AR眼睛,讓使用者直接佩戴,適合做教育訓練,讓新進員工可以按照步驟一步步操作維修訓練或者各項技術實習工作。
準備 Unity,啟動 Vuforia
首先開啟Unity 2018,選擇這個版本的主要原因是因為穩定度高,而且有問題還可以持續得到原廠更新服務。 當初安裝Unity的時候,也同時安裝Vuforia的話,現在只要將選項打開即可
File -> Build Settings -> Player Settings… -> Inspector -> XR Settings -> Vuforia Augmented Reality
如果沒有的話,點開 XR Settings 的畫面應該會是這樣:
點擊藍色的字體就可以直接引導到下載連結,會根據Unity的版本直接下載Vuforia的套件。 安裝完之後,同時需要將Unity重啟,接著 Vuforia Augmented Reality 應該就可以啟動了。
建立 Vuforia ID
接著我們需要建立Vuforia的開發帳號,現在連線Vuforia Developer Portal上註冊一個開發帳號
接著登入Vuforia
按下右上角的Get Development Key
接著新增一組Key,待會這個Key會出現在列表中
在列表中點擊名稱進入頁面即可看到一組序號,複製這組序號,待會貼到Unity Editor上面
回到Unity,打開Vuforia Configuration:
將剛剛的序號貼到 App Licence Key 中即可
建立 Vuforia image db
然後回到Vuforia的網頁,切換到 Target Manager 的頁面,新增一個database,這個檔案待會需要下載並安裝到unity當中
新增的Database會顯示在列表中,點擊進入頁面,此時點擊Add Target
此時選擇將一張照片上傳,並填入此照片的寬度和一個名稱,按下Add之後,稍等一下,Vuforia會將此圖片作一些處理,大約幾分鐘後顯示Complete,下載database檔案
記得要選擇Unity
然後就會將檔案下載並存成.unitypackage的檔案格式,待會直接在Unity中import進專案中使用
import Vuforia database unitypackage into unity
回到Unity,此時我們將剛剛的database檔案import進來(Assets -> Import Package -> Custom Package…)
此時打開 Vuforia Configuration 可以看到剛剛建立的檔案已經import進來了
建立AR場景
終於我們要開始建立AR場景,開啟新場景,然後先建立AR Camera 然就把預設的Camera刪掉,只留著預設的Directional Light
建立辨識照片物件
再來我們建立一張AR Image
此時會建立一個Image Target物件,看一下inspector中,此時已經自動將參數設定好,如果之後建立多張照片,只要直接點選改變設定即可
將Unity Chan加入
到 Asset store 下載Unity Chan的模型
下載完畢後,直接把unity-chan!/prefabs/unitychan 拉到 Image Target 下即可
然後使用USB接上手機,直接 build and run將app deploy到手機上
build apk and test
此時把剛剛在網頁上的照片打開,或者列印出來,app執行之後會直接開啟鏡頭,只要掃描到剛剛建立的圖形,就會在圖片上出現Unity chan的模型,此時你的第一個AR APP就完成了,很簡單吧,
感言
現在的開發工具越來越方便,配上越來越強的運算能力,現在甚至不需要寫一行程式就可以做好一個可以騙人的APP。就是因為如此,好的設計和玩法會更加重要,才是一款產品能夠突破重圍的重要關鍵。