【U3D】Vuforia Hololens2 入門 開發 AR 踩坑 總結 Image Target

配置開發環境

  • Windows 10系統;
  • 安裝Windows 10 SDK (10.0.18362.0)
  • 安裝Visual Studio 2019 (16.2 或更高版本)
    注意:先安裝win 10 SDK,路徑名儘量短,再安裝VS 2019,不然會有路徑報錯問題: “IOException: Win32 IO returned 234”,路徑名過長所導致。如果已有路徑報錯問題,可以把報錯的winmd文件刪除;如果還不行,卸載VSwin10 sdk再按序重裝吧。
  • 安裝Unity Hub
  • Unity Hub安裝最新的2018.4 LTS版本:
    2018.4LTS
  • 創建一個新工程,將Unity切換到Universal Windows PlatformBuild Settings
    注意:在Windows上工作時,有 255 個字符的MAX_PATH限制。 如果任何文件路徑的長度超出 255 個字符,則Unity受這些限制影響,可能無法編譯。 因此,強烈建議將Unity項目存儲在儘可能靠近驅動器根目錄的位置。

    點這裏看官網清單

配置Hololens2

  1. 根據嚮導初次設定設備;
  2. Hololens2中,進入設置->更新和安全->開發者選項,打開以下功能:
    • 使用開發人員功能
    • 啓用設備門戶
  3. Hololens2和PC連到同一個Wifi中,進入設置->網絡和Internet->高級選項,查看IPv4地址;
  4. 在PC端瀏覽器中輸入上面得到的IPv4地址,打開Windows Device Portal
  • 如果提示連接不安全,先通過“高級”選項進去再說;
  • 如果是第一次連接,則需要設定pin和密碼;
  • 進入Preferences,下載證書(certificate)並安裝到“受信任的根證書頒發機構”中,重啓瀏覽器:
    Preferences
    Step 1
    Step 2
  • 注意:如果想要在PC上使用Hololens2的投屏功能,請先檢查“連接”功能是否奏效:
    ConnectConnection Support

配置Vuforia與Unity

  1. 註冊Vuforia賬號
  2. Vuforia License Manager新建一個測試賬戶:
    License Manager
  3. Vuforia Target Manager添加一個DataBaseType選"Device":
    Target Manager
  4. 點擊進入新建的DataBase,點擊"Add Target",上傳用於Image Target測試的圖片:
    Add Target
    注意:圖片要求:①格式爲**.jpg.png**;②文件大小最多2 mb;③圖片位深度需要是16或24位。其他星級評定可以看這篇粗略的翻譯:Vuforia最佳實踐:設計和開發基於圖像的目標識別(Image-Based Targets)
  5. 下載Vuforia Engine 9.0並安裝到Unity 2018.4安裝路徑下(unity.exe所在文件夾的上一級):Vuforia Engine 9.0
    安裝路徑可以到Unity Hub設置裏找:
    路徑
    注意Unity Asset StoreVuforia Sample和Unity通過Package Manager下載的Vuforia Engine(9.0以下版本)可能會有腳本衝突。
    注意:如果想要升級Vuforia Engine,選擇了第一個“Add Vuforia Engine to a Unity Project or upgrade to the latest version”,下載導入Unity之後,點擊Upgrade
    Upgrade
    導致manifest.json報錯:
    Manifest Error
    請根據路徑打開manifest.json,刪除紅框部分:
    Json
    回到Unity,重新import之後會再問你一遍是否升級,這時候要選Cancel
    Cancel
    然後刪除剛剛升級包導入的文件夾/文件:
    Delete
    重新下載VuforiaSupprotInstaller,覆蓋安裝。

這個問題可能是翻牆軟件導致的,試過改系統變量、重裝Unity等方法依然不行,各位有什麼好方法可以交流交流

  1. 下載HoloLens sample並導入到Unity中:
    Hololens Sample
  2. Unity內配置MRTK
    Configure Unity ProjectConfigurator
    注意:如果打開MSBuild導致Visual Studio編譯的時候報錯,那就不要開;官網都建議你不要開:
    MSBuild Tip
  3. 檢查Player SettingsXR Settings
    XR Settings
    注意:如果打開Remoting Support導致Visual Studio遠程編譯的時候報錯,那就不要開。
  4. 檢查Player SettingsPublishing Settings以下Capabilities是否打開:
    • InternetClinet
    • WebCam
    • MicroPhone
    • SpatialPerception
  5. 打開Window下的Vuforia Configuration,填寫App License Key
    Vuforia Configuration
    App License Key
  6. 準備攝像頭(沒有可以跳過),還是在Vuforia Configuration裏,檢查攝像頭是否加載正確:
    Camera Device

測試Image Targets

  1. 按住ctrl鍵,拖拽SampleResources->Scenes下的2-ImageTargets到新文件夾,用拷貝的新場景進行測試:
    Image Targets
  2. 關於Demo自帶的ImageTarget Object:
    Image Target Object
  3. 使用自己的DataBase
    ImageTargetScene
    Test Database
    注意:如果Database抽風了,自己的找不到了,可以從VuforiaTarget Manager下載:
    下載Database
    下載之後解壓,將.dat文件和.xml文件放到StreamingAssets/Vuforia文件夾下:
    放置文件
    此時material是空的,對應到Play場景裏就是透明的,影響不大;
  4. 打印測試用的圖,在PDF裏:
    在這裏插入圖片描述
  5. Play,用攝像頭測試;
    注意:使用Holographic Emulation是不能用Hololens2直接進行AR識別的(至少我是這樣),所以需要用攝像頭代替Hololens2上的相機。沒有攝像頭得出包測試,很麻煩。
  6. 出包設置:
    - 只保留當前場景:
    Build Scene
    - 打開Build Window在這裏插入圖片描述
    - 設置Appx Build Options(雖然設置了Platform Toolsetv141,不過不知爲何,在VS打開工程依然是v142):
    Build Options
    - 設置Deploy Options,由於我的PC沒法在Unity裏通過Wifi連接Hololens2(但是可以通過瀏覽器登陸Windows Device Portal),所以這裏的Target TypeLocal
    Deploy Options
  7. 打包:
    Build Unity Project
  8. 打包完成後用VS打開:
    Open in VS
  9. 如果提示沒有v142生成工具:
    - 右擊項目,進入屬性
    VS Settings
    - 將平臺工具集改成"V141",點擊應用工具集
    - 重定向項目:
    重定向
  10. 打包到Hololens2
    出包
    注意:如果VS部署一直提示連接失敗,請確定USB連接正常 ,Hololens2處於運行狀態。
    注意:如果沒有提示輸入PIN建立連接,請到Hololens2的開發人員選項中刪除匹配,重新進行配對。
    注意:如果選用的模式和UnityMRKTBuild Options設置不同,可能會導致無法連接Hololens2。請關閉VS,刪除工程所在文件夾(默認路徑是Builds/WSAPlayer)重新Build,再嘗試出包。
    注意:如果出包成功之後再次出包時,VS提示連接失敗,請拔插type-C線或刪除工程所在文件夾後重試。
    注意:如果選用Debug模式編譯,對性能會有所影響(特別是有高模動畫的情況)。

現在還在研究Model Target,點贊大於50就更~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章