工作上有使用 AR: Augmented Reality 的需求,上網找找看有沒有什麼不錯的套件,在 SocialCompare 這網站條列了現有 AR 套件的功能說明與比較 (參1),經過一番比較挑中了 Qualcomm Vuforia 來實作,原因在於 ImageTarget 小於 100 的情況並且不使用特殊功能的情況下是免費的 (參2),這篇記錄一下安裝的過程。

2016-07-07 更新:本篇為 3.x 版本,目前 Vuforia 以更新到 5.5.9,新版本使用方式請參考 
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) – 多重模型載入
AR 的介紹小蛙就不多說了,這裡主要以記錄安裝過程為主,有興趣的朋友可以連結到參考資料或維基百科去看看更多說明。

1. 上 Vuforia Vuforia Portal (https://developer.vuforia.com/)
001.png

 

2. 點選 Download 後進入以下畫面,再點選「Download Download SDK 3.0.9 for Windows/Mac/Linux
002.png

 

  3. 下載 SDK 需要登入,如果沒有帳號密碼點選「Create account now」,登入後即可開始下載 SDK。
003.png      004.png

 

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 已經順利安裝起來了,這系列文章預估會有以下內容:

  1. Qualcomm Vuforia 教學 (1) – 安裝 Vuforia
  2. Qualcomm Vuforia 教學 (2) – Create Image Target
  3. Qualcomm Vuforia 教學 (3) – 替換茶壺 – Android 版本
  4. Qualcomm Vuforia 教學 (4) – 使用 Android NDK 版本並開啟多重偵測
  5. Qualcomm Vuforia 教學 (5) – 替換茶壺 – Android JNI 版本
  6. Qualcomm Vuforia 教學 (6) – 3D model -> .obj -> .h

敬請期待 (希望不會又偷懶不記錄 …)

參考資料:

  1. Augmented Reality SDK Comparison @ SocialCompare
    http://socialcompare.com/en/comparison/augmented-reality-sdks
  2. Target Manager @ Vuforia Developer Portal
    https://developer.vuforia.com/target-manager
  3. 擴增實境 @ 維基百科
    https://zh.wikipedia.org/wiki/%E6%93%B4%E5%A2%9E%E5%AF%A6%E5%A2%83
  4. [教學] 如何使用 Eclipse、Android SDK、ADT 配置 Android 開發環境 ? @ 海芋小站
    http://www.inote.tw/how-to-set-android-development-environment-with-android-sdk
  5. Installing the NDK @ Android Developers
    https://developer.android.com/tools/sdk/ndk/index.html#Installing

5 Replies to “Qualcomm Vuforia 教學 (1) – 安裝 Vuforia”

    1. Dear kobe:
      目前 Vuforia 更新了,這篇教學文章是比較舊的版本喔!
      如果之後工作上有需要更新版本,小蛙才會再把新版本的放上來!
      不好意思造成困擾 ><

  1. 老師請問一下
    我依照您的方法做到最後一個步驟,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.
    是有哪邊沒設定到嘛

    1. 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

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *