Qualcomm Vuforia 教學 (1) – 安裝 Vuforia
工作上有使用 AR: Augmented Reality 的需求,上網找找看有沒有什麼不錯的套件,在 SocialCompare 這網站條列了現有 AR 套件的功能說明與比較 (參1),經過一番比較挑中了 Qualcomm Vuforia 來實作,原因在於 ImageTarget 小於 100 的情況並且不使用特殊功能的情況下是免費的 (參2),這篇記錄一下安裝的過程。
2016-07-07 更新:本篇為 3.x 版本,目前 Vuforia 以更新到 5.5.9,新版本使用方式請參考
Android Vuforia 系列:
- Android Vuforia with jPCT-AE (1) – 基本範例
- Android Vuforia with jPCT-AE (2) – 載入 obj 測試
- Android Vuforia with jPCT-AE (3) – 載入 md2 測試
- Android Vuforia with jPCT-AE (4) – 載入 3DS 測試
- Android Vuforia with jPCT-AE (5) – 多重模型載入,以 obj 為例
AR 的介紹小蛙就不多說了,這裡主要以記錄安裝過程為主,有興趣的朋友可以連結到參考資料或維基百科去看看更多說明。
1. 上 Vuforia Vuforia Portal (https://developer.vuforia.com/)
2. 點選 Download 後進入以下畫面,再點選「Download Download SDK 3.0.9 for Windows/Mac/Linux」
3. 下載 SDK 需要登入,如果沒有帳號密碼點選「Create account now」,登入後即可開始下載 SDK。
4. 安裝 Android SDK + 安裝/更新 ADT 到新版
如果版本不符合 Eclipse 會跳出提示,這邊小蛙偷懶跳過不做了,可參考到 [教學] 如何使用 Eclipse、Android SDK、ADT 配置 Android 開發環境 ? @ 海芋小站 (參4)
5. 安裝 Vuforia SDK
解壓縮下載來的壓縮檔 vuforia-sdk-android-3-0-9.zip,解壓縮後把所有的工具放在 <DEVELOPMENT_ROOT> 目錄下,之後都會稱這個目錄為 <DEVELOPMENT_ROOT>,例如:放在 C:\Program Files\Android 的話,<DEVELOPMENT_ROOT> 就代表 C:\Program Files\Android。這邊要注意的是,小蛙發現如果放的路徑中間有空白,可能在做 ndk-build 或其他動作的時候會發生錯誤,如果可以盡可能選擇沒有空白的路徑。
6. 安裝 Android NDK
到 (參5) 下載 NDK,小蛙的環境是 Windows 8.1 64 bit 選擇自己對應的版本下載,解壓縮到剛剛第 5 點提到的 <DEVELOPMENT_ROOT>,因此整個結構會變成:
C:\Program Files\Android\ android-ndk\ android-sdk\ vuforia-sdk\
7. 設定 NDK
在 Eclipse -> Window -> Android -> NDK -> NDK Location 設定成上述路徑,例如:小蛙的是: C:\Program Files (x86)\Android\android-ndk-r10c (好孩子不要學,參考上面第 5 點,改成中間沒有空白的,不然後面會出問題)。
8. 設定 vuforia QCAR 環境變數
Eclipse -> Window -> Preferences -> Java -> Build Path -> Classpath Variables -> New…
Name : QCAR_SDK_ROOT
Path : C:/Program Files (x86)/Android/vuforia-sdk-android-3-0-9 (換成自己的路徑)
9. 設定在 Eclipse 專案中使用 QCAR 變數
在要使用 Vuforia 的專案中 -> 滑鼠右鍵 -> Properties -> Java Build Path -> Libraries -> Add Variable… -> QCAR_SDK_ROOT -> Extend… -> build / java / vuforia / Vuforia.jar -> OK
接著到 Order and Export 把剛剛新增的 QCAR_SDK_ROOT… 打勾
10. 下載測試範例
下載 (https://developer.vuforia.com/resources/sample-apps/features) 並解壓縮到 <DEVELOPMENT_ROOT>\vuforia-sdk-android-3-0-9\samples
11. 匯入範例檔
Eclipse -> File -> Import… -> General -> Existing Android Code Into Workspace…
Root Directory : C:\Program Files (x86)\Android\vuforia-sdk-android-3-0-9\samples
Projects : VuforiaSamples-3-0-5_0
怕把原始檔改壞,複製一分到自己的工作區域,把 Copy projects into workspace 打勾
12. 執行 VuforiaSample
Run As -> Android Application
專案可以跑起來,但會得到以下錯誤
BUILD FAILED D:\Workspace\PureProjectNew\VuforiaSamples\CopyVuforiaFiles.xml:4: D:\Workspace\build\lib\armeabi-v7a does not exist.
13. 修改設定檔 CopyVuforiaFile.xml
<fileset dir="C:/Program Files (x86)/Android/vuforia-sdk-android-3-0-9/build/lib/armeabi-v7a"/> 存檔後,Project -> Clean... -> Clean projects selected below VuforiaSamples Clean 完之後按照上個步驟執行就可以了!
14. 使用範例圖片測試
https://developer.vuforia.com/resources/sample-apps/features,每個 sample 點進去會有 PDF 的範例圖片可以測試,依照每個範例的名稱開啟對應的圖片。
經過一番折騰,Qualcomm Vuforia 已經順利安裝起來了,這系列文章預估會有以下內容:
Qualcomm Vuforia 系列:
- Qualcomm Vuforia 教學 (1) – 安裝 Vuforia
- Qualcomm Vuforia 教學 (2) – Create Image Target
- Qualcomm Vuforia 教學 (3) – 替換茶壺 – Android 版本
- Qualcomm Vuforia 教學 (4) – 使用 Android NDK 版本並開啟多重偵測
- Qualcomm Vuforia 教學 (5) – 替換茶壺 – Android JNI 版本
- Qualcomm Vuforia 教學 (6) – 3D model -> .obj -> .h
敬請期待 (希望不會又偷懶不記錄 …)
請問key 那段要放在程式碼哪裡 謝謝
Dear kobe:
目前 Vuforia 更新了,這篇教學文章是比較舊的版本喔!
如果之後工作上有需要更新版本,小蛙才會再把新版本的放上來!
不好意思造成困擾 ><
謝謝老師~~
剛剛查了一下Vuforia都需要辦帳號拿key
https://developer.vuforia.com/targetmanager/licenseManager/licenseListingDetails
然後再程式碼裡面添加
Vuforia.setInitParameters(mActivity, mVuforiaFlags, ” your_license_key “);
就可以了
現在能跑了 謝謝老師這篇詳細介紹
老師請問一下
我依照您的方法做到最後一個步驟,Android 平板 案了Start 回應我
04-28 15:38:15.312: E/Vuforia_Sample_Applications(11491): InitVuforiaTask.onPostExecute: Vuforia App key is missing. Please get a valid key, by logging into your account at developer.vuforia.com and creating a new project. Exiting.
是有哪邊沒設定到嘛
Dear mark:
請問您是用 4.0 以上的 SDK 嗎? 小蛙測試的時候用的是 3.x 版本的,猜測會不會是 4.0 版本所做的變動呢?之前印象中沒有這東西
https://developer.vuforia.com/targetmanager/licenseManager/licenseListing
剛查了一下有幾篇可試試看:
http://www.arjishu.com/forum.php?mod=viewthread&tid=5799
https://developer.vuforia.com/library/articles/Solution/How-To-add-a-License-Key-to-your-Vuforia-App
https://developer.vuforia.com/forum/vuforia-40-beta/vuforia-app-key