Hololens2開發環境配置及項目生成部署

Hololens2開發環境配置及項目生成部署

  • Hololens2開發環境配置及項目生成部署
    • 一、官方文檔及推薦配置說明
      • 1.官方文檔介紹
      • 2.推薦配置及配置說明
    • 二、安裝步驟
      • 0.現有Visual Stuido和Unity卸載
      • 1.Windows SDK安裝
      • 2.Visual Studio安裝
      • 3.Unity安裝
      • 4.MRTK配置
    • 三、初次環境配置
      • 1.新建Unity項目
      • 2.配置MRTK
      • 3.通過項目驗證 (MR OpenXR 1.6+) 為HoloLens 2配置項目
      • 4.發布包名設置
      • 5.生成平臺檢查
    • 四、應用程序編譯、生成和發布
      • 1.構建應用程序
      • 2.編譯生成應用程序
      • 3.通過USB進行生成和部署
      • 4.通過WIFI進行生成部署
    • 五、總結

Hololens2開發環境配置及項目生成部署

如果您是第一次配置Hololens2開發環境,請嚴格按照如下步驟嘗試,并按照推薦配置進行環境搭建,否則難以保證正確配置!!!否則難以保證正確配置!!!否則難以保證正確配置!!!(重要的事情說三遍)

一、官方文檔及推薦配置說明

1.官方文檔介紹

關于HoloLens2微軟有如下官方文檔:
[1]混合現實文檔
[2]Hololens 2 基礎知識:開發混合現實應用程序
通過以上文檔,我們可以快速定位關于Hololens2開發環境配置及項目創建的相關說明:
[3]針對 HoloLens 的 Unity 開發
[4]Hololens2開發環境安裝清單
[5]為Windows Mixed Reality配置Unity
然而,如果僅通過上述文章便可成功配置環境,本文的出現則沒有必要了,在實際操作過程中,我們仍然會遇到諸多問題,尤其是在Unity構建項目時,因此,本文記錄了一次從0開始成功配置Hololens2開發環境的過程,以供大家參考。

2.推薦配置及配置說明

1.操作系統:Windows10專業版(切勿根據文檔使用Windows11,參見博主鋒利成安裝經驗,在此一并表示感謝)
2.Windows SDK: 10.0.19041.0 (根據文檔選擇Win10SDK,因為目前Hololens2仍運行Win10系統,另外,請單獨安裝Windows SDK,以避免在Visual Studio中集成安裝導致報錯SDK找不到現象)
3.Visual Stuido: 2019 Community(與Unity版本相匹配,否則可能會在Unity中報錯"Selected Visual Studio is missing required components and may not be able to build the generated project.")
4.Unity:2021.3.X LTS版本或2020.3.X LTS版本(詳細信息參見文檔1和文檔2,2024年1月官方推薦版本)
5.MRTK工具包: 方式1下載地址、方式2下載地址及介紹地址

二、安裝步驟

下面,我將從一個全新的Windows 10專業版系統中進行安裝,系統安裝過程跳過,如果您已是Windows 10專業版用戶,且已安裝Visual Studio及Unity對應版本,但仍遇到程序構建(如缺少Visual Studio組件)、項目編譯(如不支持ARM64架構程序編譯、編譯報錯無法解決)、程序運行(不是有效的Win32程序)等錯誤,強烈建議您卸載已有的Visual Studio和Unity版本,并嚴格按照如下步驟進行配置。

0.現有Visual Stuido和Unity卸載

卸載Visual Studio您可以使用Visual Studio Installer進行卸載,該程序在開始菜單中可方便找到。請將其所有組件進行卸載。如果您前期不正確卸載導致系統有諸多注冊信息、無效內容殘留,進而導致重裝Visual Studio后運行出現報錯,您可參照官方教程,使用InstallCleanup.exe對程序進行徹底刪除。卸載完成后Visual Studio Installer可以保留,重新安裝時會自動覆蓋,但建議先自行卸載。
Visual Studio Installer卸載程序
Unity組件分為Unity Hub和Unity的x.x.x版本,系統中可安裝多個版本的Unity,因此可根據需求進行卸載。但強烈建議安裝最新版本Unity Hub,以在后續開發中有更利于Hololens2硬件開發的選項。卸載Unity及其組件可使用系統自帶應用和功能進行卸載,請在卸載舊版本Unity Hub前先將目前不需要的版本刪除掉。
Unity Hub刪除不需要版本

1.Windows SDK安裝

在安裝Visual Studio前,建議從官網下載10.0.19041.0版本的.iso鏡像,并雙擊WinSDKSetup.exe文件進行安裝。
請默認安裝在C盤,并勾選全部套件,以保證對arm架構程序開發的支持。
Window SDK安裝配置
安裝完成后關閉即可。

2.Visual Studio安裝

從官網下載2019 Community進行安裝。按照官方說明,在勾選推薦項目的同時,不要忘記勾選右側“通用Windows平臺開發”的USB設備連接性C++ (v142)通用Windows平臺工具。同時,檢查Windows 10 SDK (10.0.19041.0)是否已被包含。如果沒有,請先避開該版本SDK并勾選其他版本SDK進行VS的安裝,再重新進行步驟1安裝。
VS安裝配置
安裝完成后,打開Visual Studio檢查安裝完整性,通常情況下可正常打開。如出現報錯(“未能正確加載Visual Studio Common IDE package包……”),說明第0步Visual Studio卸載不干凈,請執行第0步使用InstallCleanup.exe對Visual Studio 2019全部刪除再重新從步驟1開始安裝。

3.Unity安裝

請首先安裝最新版本Unity Hub,以覆蓋Visual Studio自動安裝的舊版本Unity Hub。
Unity Hub
安裝完成后運行,您可先選擇安裝位置,然后點擊安裝編輯器,進行指定版本Unity的安裝。如果未找到您需要的版本可以登錄存檔網站進行下載,注意要下載LTS即長期支持版本。
Unity編輯器版本安裝
Unity存檔網站
找到對應版本后,請勾選如下兩個模塊:
Unity必選安裝模塊
最后,完成安裝。

4.MRTK配置

混合現實Toolkit (MRTK) 為微軟官方驅動的項目,它提供了一系列組件和功能來加速Unity中的跨平臺MR應用開發。現有的MRTK迭代到了版本3。MRTK2和MRTK3的區別可從官網了解到。其都支持Hololens 2設備。而針對于Unity 2020和2021版本,并為了更好的穩定性,建議使用MRTK2擴展包。
MRTK需要在項目中進行配置,可通過以下兩種方式進行配置:
(1)Github下載工具包
請從下載地址下載如下擴展包:
Github Unity的MRTK擴展包
其中,Foundation包是必須導入的,各個包的作用參考該網站,簡單總結如下:Foundation基礎包是使應用程序能夠跨混合現實平臺利用通用功能的代碼集;Extensions擴展包包括擴展Microsoft混合現實工具包功能的其他服務;Tools工具包包含一些使用Microsoft混合現實工具包增強混合現實開發體驗的工具;TestUtilities測試功能包是一系列幫助器腳本使開發人員能夠輕松創建播放模式測試;unitypackage是Unity包管理器,對于使用Unity 2019.4及更新版本創建的實例,可以通過Unity包管理器獲取MRTK。
(2)從Microsoft下載中心下載最新版本的混合現實功能工具
參考網站說明,進行下載和使用。
混合現實功能工具
在這里,建議將兩種方式的所需資源都下載下來,以備不時之需。同時,建議使用第二種方式,本文將以第二種方式進行配置說明,如想了解第一種方式的使用步驟,可參考博主無_跡的文章,并在此對其表示感謝。

三、初次環境配置

1.新建Unity項目

打開Unity Hub,創建新項目,在模板選擇處選擇3D或3D(URP),二者之間區別主要是渲染管線的不同。3D項目使用的是舊的管線,即Build In渲染管線;而URP使用的是新的管線。同時,3D URP對計算能力一般的移動設備支持性更好。這里根據需求進行選擇。
Unity新項目選項
在右側設置項目名和位置后,根據需求勾選啟用版本管理(如勾選會自動下載PlasticSCM軟件),后點擊創建項目,等待工程創建。創建完成后關閉Unity編輯器。注意:在 Windows 上創建項目時,MAX_PATH 限制為 255 個字符。 Unity受到這些限制的影響;如果任何文件路徑的長度超過255個字符,就可能無法編譯。 因此,建議將 Unity 項目存儲在盡可能靠近驅動器根目錄的位置。
Unity工程創建

2.配置MRTK

在此使用第二種方式(從Microsoft下載中心下載最新版本的混合現實功能工具)對MRTK進行配置。
運行下載的MixedRealityFeatureTool程序。等待Start按鈕變色后點擊。
MixedRealityFeatureTool運行畫面
選擇項目路徑后點擊Discover Features,如下所示:
MixedRealityFeatureTool項目路徑選擇
在Discover Features頁面選擇如下組件或根據需求進行選擇(其中,Foundation和OpenXR Plugin是必選,示例可按需選擇):
Discover Features組件選擇
最后,Get FeaturesImportApproveExit
導入并設置
然后再次打開項目,可能會出現一次警告,詢問是否要通過重啟編輯器來啟用后端,選擇是即可。最后出現如下界面,下方沒有報錯即可。
Unity編輯器
Unity編輯器

3.通過項目驗證 (MR OpenXR 1.6+) 為HoloLens 2配置項目

在Unity編輯器的頂部菜單欄上,選擇Mixed RealityProject Validation SettingsHololens 2 Application (UWP),如下:
項目驗證菜單選擇
在彈出的Project Valition界面中,注意選擇Windows徽標的UWP平臺,在下方展示出的問題中,選擇Fix All,如果一次無法解決所有問題,請嘗試多次點擊Fix All進行解決。
項目驗證
Fix All解決所有可修復問題后,可能仍剩如下問題,仔細閱讀問題,會發現是由于項目中未導入任何場景導致的。可單擊Edit默認設置。
在這里插入圖片描述
對于最后一個問題,你必須添加至少一個交互配置文件,點擊Edit后會跳轉至如下頁面。選擇三個組件即可,注意組件的位置。這三個組件分別是眼睛注視交互配置文件Microsoft 手勢交互配置文件Microsoft 運動控制器配置文件
交互配置頁面
交互配置選項
如果“眼睛凝視交互配置文件”或其他任何配置文件旁邊出現黃色三角形,請選擇該三角形,然后在“OpenXR 項目驗證”窗口中,單擊“修復”按鈕。 完成后,繼續回到“OpenXR 項目驗證”窗口進行添加即可。
最后,出現如下界面,并確保如下選項被成功勾選且無報錯,則表明配置完成。
配置完成頁面

4.發布包名設置

Project Setting中,選中Player頁面,在下方的Publishing Settings,設置Package Name即可。
包名設置

5.生成平臺檢查

區分于大多數博主的項目創建伊始便切換至UWP平臺,如果您嚴格按照上述操作進行,Unity會在為HoloLens 2配置項目過程中自動切換至UWP,您可以檢查FileBuild Settings,項目已經設置為UWP平臺工程。
生成平臺設置
注意上方配置,區別于Unity 2020,2021已經沒有Target Device這一選項,參見Unity論壇,因此對于警告“The local machine does not support running projects compiled for the ARM64 architecture……”,即本地計算機不支持編譯為ARM64架構的程序的運行警告??可忽略,在Visual Studio編譯后指定設備運行即可。到此為止,Hololens 2的開發環境便已配置成功。
如果有其余警告和報錯,請檢查Visual Studio安裝組件的完整性。

四、應用程序編譯、生成和發布

1.構建應用程序

FileBuild Settings中,選擇Add Open scenes將所有場景添加入項目,后點擊Build按鈕,選擇對應的構建文件夾,生成工程文件。
生成項目

2.編譯生成應用程序

在構建文件夾中,選擇sln文件,打開Visual Studio。
構建文件夾
在Visual Studio中,修改編譯模式為Release,架構為ARM64。如果需要通過WIFI進行生成部署,請選擇遠程計算機,如果要通過USB進行生成和部署,請選擇設備
VS編譯模式
為保證應用程序的順利開發,請在Hololens 2的設置中打開面向開發人員選項。
面向開發人員選項
下面,如果要通過USB進行生成和部署,請參考步驟3,要通過WIFI進行生成部署,請參考步驟4。

3.通過USB進行生成和部署

點擊?設備按鈕,進行項目生成和部署。項目會自動編譯,并嘗試在Hololens2上部署,部署過程中會出現下圖所示PIN窗口,可在Hololens2中的面向開發人員頁面點擊配對找到PIN。
PIN
至此,您可以在Hololens2中運行您的程序。

4.通過WIFI進行生成部署

選擇項目->屬性,進入項目屬性頁,選擇調試,將HoloLens 2的IP地址填寫至頁面,如下圖:
HoloLens2IP地址填寫
至此,其余步驟便和步驟3一致。

五、總結

以上為HoloLens2開發環境配置及項目生成部署的全部步驟,歡迎大家批評指正!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/716052.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/716052.shtml
英文地址,請注明出處:http://en.pswp.cn/news/716052.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

vmware的詭異網絡

坦白說,vmware的網絡我始終是沒有搞太懂。 我習慣使用的是“僅主機”和“NAT”。 “僅主機”我習慣配置靜態IP,互相訪問沒問題。 “NAT”則主要用于windows系統,簡單方便。windows虛擬機一般也沒啥特別的互相訪問需求,直接文件復制…

簡單了解GaussDB

大家都已經很熟悉openGauss了,昨天我的文章中說陜西電力的用采系統用Gaussdb替代了Oracle,就有朋友問我這個Gaussdb是不是就是openGauss。這個問題還真的有點不好回答,Gaussdb和openGauss淵源很近,但是還不是一碼事。華為在數據庫…

c++八股文:c++面向對象

文章目錄 1.c面向對象三大特性2.c的三個訪問修飾符3.多重繼承4.重載與重寫5.c多態怎么實現6.成員函數/成員變量/靜態成員函數/靜態成員變量的區別7.構造函數和析構函數8.c構造函數有幾種9.什么是虛函數什么是虛函數表10.虛函數和純虛函數的區別11.抽象類和純虛函數12.虛析構13.…

ABAP - SALV教程05 添加頁眉和頁腳

先看看效果叭CL_SALV_TABLE提供了SET_TOP_OF_LIST方法設置頁眉顯示和SET_TOP_OF_LIST_PRINT方法設置頁眉打印來實現添加頁眉的目的。CL_SALV_TABLE提供了SET_END_OF_LIST方法設置頁腳顯示和SET_END_OF_LIST_PRINT方法設置頁腳打印來實現添加頁腳的目的。這個四個方法的傳入參數…

Flutter異常上報及性能監控實現

1. 頁面異常監測 在Flutter中,通常用FlutterError監測Flutter框架拋出的異常,用runZonedGuarded監測應用中用戶代碼異常。 class AppGuarded {run(Widget app) {//1. 用FlutterError監測flutter框架拋出的異常FlutterError.onError (FlutterErrorDetail…

STM32F4 HAL庫串口死鎖問題調試記錄

文章目錄 STM32F4 HAL庫串口死鎖問題調試記錄調試方法結果分析解決方法一:方法二: STM32F4 HAL庫串口死鎖問題調試記錄 使用方法:通過串口DMA固定周期向外發送數據,同時開啟串口DMA接收用于接收其它板卡發來的數據。 問題&#x…

2024年,智慧文旅領航新時代,重塑旅行體驗的未來篇章!

隨著科技的飛速發展,智慧文旅正成為旅游行業的新寵,以其獨特的魅力和無限可能,引領著旅行體驗的全面升級。 2024年,智慧文旅火爆出圈,成為各界關注的焦點,為游客帶來了前所未有的震撼與享受。 智慧文旅&a…

290.【華為OD機試】連續出牌數量(深度優先搜索DFS—JavaPythonC++JS實現)

??點擊這里可直接跳轉到本專欄,可查閱頂置最新的華為OD機試寶典~ 本專欄所有題目均包含優質解題思路,高質量解題代碼(Java&Python&C++&JS分別實現),詳細代碼講解,助你深入學習,深度掌握! 文章目錄 一. 題目二.解題思路三.題解代碼Python題解代碼JAVA題解…

《猛獸派對》好玩嗎值得買嗎?蘋果電腦也能裝《猛獸派對》嗎?猛獸派對好友通行證 動物派對 猛獸對戰游戲

目錄 一、《猛獸派對》好玩嗎? 游戲玩法: 物理引擎: 關卡設計: 游戲特色: 評價: 榮譽: 二、蘋果電腦也能裝《猛獸派對》嗎? 第1步:下載并安裝CrossOver這款軟件…

C語言---文件操作(1)

1.文件的打開和關閉 fopen有2個參數,第一個是文件的名字,第二個是打開的模式(例如是讀文件還是寫文件) (1)該文件夾下面沒有data.txt文件,但是我執行了read操作,所以會顯示這樣的錯誤 (2&#…

『NLP學習筆記』圖解GPT3(How GPT3 Works-Visualizations and Animations)

圖解GPT3(How GPT3 Works-Visualizations and Animations) 文章目錄 一. GPT-1 vs GPT-2 vs GPT-3 vs GPT-3.5 vs GPT-4二. GPT32.1. 訓練動圖2.2. 預測動圖2.3. 代碼生成示例三. 參考文章原作者主頁:Jay Alammar原英文鏈接:How GPT3 Works - Visualizations and Animations …

ApplicationContext容器

ApplicationContext容器 1.概述 ApplicationContext接口代表了一個Spring容器,它主要負責實例化、配置和組裝bean。ApplicationContext接口間接繼承了BeanFactory接口,相較于BeanFactory一些基本的容器功能,ApplicationContext接口是在BeanFactory接口基礎上進行了擴展,增…

SQL 術語:Join 中的 Build 和 Probe 是什么意思?

博主歷時三年精心創作的《大數據平臺架構與原型實現:數據中臺建設實戰》一書現已由知名IT圖書品牌電子工業出版社博文視點出版發行,點擊《重磅推薦:建大數據平臺太難了!給我發個工程原型吧!》了解圖書詳情,…

如何在Vue中實現事件處理?

Vue是一種流行的JavaScript框架,廣泛應用于前端開發。在Vue中,事件處理是一個非常關鍵的概念,可以幫助我們實現用戶與頁面的交互,今天我們就來探討一下如何在Vue中實現事件處理。 首先,讓我們先了解一下在Vue中如何綁…

[pdf]《軟件方法》強化自測題業務建模需求分析共191頁,230題

潘加宇《軟件方法》強化自測題業務建模需求分析共191頁,230題,已上傳CSDN資源。 在完成書中自測題基礎上,進一步強化。 也可到以下地址下載: 資料http://www.umlchina.com/url/quizad.html 如果需要網盤提取碼:uml…

【Python】1. 背景知識

認識 Python 計算機基礎概念 什么是計算機? 很多老一輩的人, 管下面這個叫做計算機. 然鵝, 它只是 “計算器”, 和計算機是有很大區別的. 現在我們所說的計算機, 不光能進行算術運算, 還能進行邏輯判斷, 數據存儲, 網絡通信等等功能,。 以至于可以自動的完成非常復雜的工作…

代碼隨想錄day10(2)字符串:反轉字符串Ⅱ (leetcode541)

題目要求:給定一個字符串 s 和一個整數 k,從字符串開頭算起, 每計數至 2k 個字符,就反轉這 2k 個字符中的前 k 個字符。如果剩余字符少于 k 個,則將剩余字符全部反轉。如果剩余字符小于 2k 但大于或等于 k 個,則反轉前…

Spring與Spring Boot:簡化Java開發的革命性框架

Spring與Spring Boot:簡化Java開發的革命性框架 摘要:本文將深入探討Spring與Spring Boot兩個在Java開發領域具有重要地位的框架。我們將了解它們的核心概念、區別、聯系以及在實際項目中的應用。通過本文,您將更好地理解如何使用這兩個框架…

Zookeeper4:Java客戶端、應用場景以及實現、第三方客戶端curator工具包

文章目錄 Java連接Zookeeper服務端依賴代碼使用 應用場景統一命名服務統一配置管理統一集群管理服務器節點動態上下線理解實現模擬服務提供者【客戶端代碼】-注冊服務模擬服務消費者【客戶端代碼】-獲取服務信息進行請求消費 軟負載均衡分布式鎖理解實現 生產集群安裝N臺機器合…

Java中的Collection

Collection Collection 集合概述和使用 Collection集合概述 是單例集合的頂層接口,它表示一組對象,這些對象也稱為Collection的元素 JDK 不提供此接口的任何直接實現.它提供更具體的子接口(如Set和List)實現 創建Collection集合的對象 多態的方式 具體的實現類ArrayList C…