配置開發環境
- 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文件刪除;如果還不行,卸載VS和win10 sdk再按序重裝吧。 - 安裝Unity Hub;
- 用Unity Hub安裝最新的2018.4 LTS版本:
- 創建一個新工程,將Unity切換到Universal Windows Platform:
注意:在Windows上工作時,有 255 個字符的MAX_PATH限制。 如果任何文件路徑的長度超出 255 個字符,則Unity受這些限制影響,可能無法編譯。 因此,強烈建議將Unity項目存儲在儘可能靠近驅動器根目錄的位置。點這裏看官網清單。
配置Hololens2
- 根據嚮導初次設定設備;
- 在Hololens2中,進入設置->更新和安全->開發者選項,打開以下功能:
- 使用開發人員功能
- 啓用設備門戶
- 將Hololens2和PC連到同一個Wifi中,進入設置->網絡和Internet->高級選項,查看IPv4地址;
- 在PC端瀏覽器中輸入上面得到的IPv4地址,打開Windows Device Portal;
- 如果提示連接不安全,先通過“高級”選項進去再說;
- 如果是第一次連接,則需要設定pin和密碼;
- 進入Preferences,下載證書(certificate)並安裝到“受信任的根證書頒發機構”中,重啓瀏覽器:
- 注意:如果想要在PC上使用Hololens2的投屏功能,請先檢查“連接”功能是否奏效:
配置Vuforia與Unity
- 註冊Vuforia賬號;
- 到Vuforia License Manager新建一個測試賬戶:
- 到Vuforia Target Manager添加一個DataBase,Type選"Device":
- 點擊進入新建的DataBase,點擊"Add Target",上傳用於Image Target測試的圖片:
注意:圖片要求:①格式爲**.jpg或.png**;②文件大小最多2 mb;③圖片位深度需要是16或24位。其他星級評定可以看這篇粗略的翻譯:Vuforia最佳實踐:設計和開發基於圖像的目標識別(Image-Based Targets)。 - 下載Vuforia Engine 9.0並安裝到Unity 2018.4安裝路徑下(unity.exe所在文件夾的上一級):
安裝路徑可以到Unity Hub的設置裏找:
注意:Unity Asset Store的Vuforia 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:
導致manifest.json報錯:
請根據路徑打開manifest.json,刪除紅框部分:
回到Unity,重新import之後會再問你一遍是否升級,這時候要選Cancel:
然後刪除剛剛升級包導入的文件夾/文件:
重新下載VuforiaSupprotInstaller,覆蓋安裝。
這個問題可能是翻牆軟件導致的,試過改系統變量、重裝Unity等方法依然不行,各位有什麼好方法可以交流交流
- 下載HoloLens sample並導入到Unity中:
- 在Unity內配置MRTK:
注意:如果打開MSBuild導致Visual Studio編譯的時候報錯,那就不要開;官網都建議你不要開:
- 檢查Player Settings的XR Settings:
注意:如果打開Remoting Support導致Visual Studio遠程編譯的時候報錯,那就不要開。 - 檢查Player Settings的Publishing Settings以下Capabilities是否打開:
- InternetClinet
- WebCam
- MicroPhone
- SpatialPerception
- 打開Window下的Vuforia Configuration,填寫App License Key:
- 準備攝像頭(沒有可以跳過),還是在Vuforia Configuration裏,檢查攝像頭是否加載正確:
測試Image Targets
- 按住ctrl鍵,拖拽SampleResources->Scenes下的2-ImageTargets到新文件夾,用拷貝的新場景進行測試:
- 關於Demo自帶的ImageTarget Object:
- 使用自己的DataBase:
注意:如果Database抽風了,自己的找不到了,可以從Vuforia的Target Manager下載:
下載之後解壓,將.dat文件和.xml文件放到StreamingAssets/Vuforia文件夾下:
此時material是空的,對應到Play場景裏就是透明的,影響不大; - 打印測試用的圖,在PDF裏:
- Play,用攝像頭測試;
注意:使用Holographic Emulation是不能用Hololens2直接進行AR識別的(至少我是這樣),所以需要用攝像頭代替Hololens2上的相機。沒有攝像頭得出包測試,很麻煩。 - 出包設置:
- 只保留當前場景:
- 打開Build Window:
- 設置Appx Build Options(雖然設置了Platform Toolset爲v141,不過不知爲何,在VS打開工程依然是v142):
- 設置Deploy Options,由於我的PC沒法在Unity裏通過Wifi連接Hololens2(但是可以通過瀏覽器登陸Windows Device Portal),所以這裏的Target Type用Local:
- 打包:
- 打包完成後用VS打開:
- 如果提示沒有v142生成工具:
- 右擊項目,進入屬性:
- 將平臺工具集改成"V141",點擊應用:
- 重定向項目:
- 打包到Hololens2:
注意:如果VS部署一直提示連接失敗,請確定USB連接正常 ,Hololens2處於運行狀態。
注意:如果沒有提示輸入PIN建立連接,請到Hololens2的開發人員選項中刪除匹配,重新進行配對。
注意:如果選用的模式和Unity中MRKT的Build Options設置不同,可能會導致無法連接Hololens2。請關閉VS,刪除工程所在文件夾(默認路徑是Builds/WSAPlayer)重新Build,再嘗試出包。
注意:如果出包成功之後再次出包時,VS提示連接失敗,請拔插type-C線或刪除工程所在文件夾後重試。
注意:如果選用Debug模式編譯,對性能會有所影響(特別是有高模動畫的情況)。
現在還在研究Model Target,點贊大於50就更~