开发环境
Windows10专业版(打开开发者模式)
Hololens2(打开开发者模式)
Visual Studio 2019
Unity2019.4.36.f1c1
1.软件安装
1.1现有Visual Stuido和Unity卸载
使用Visual Studio Installer进行卸载,或参照官方教程,使用InstallCleanup.exe对程序进行彻底删除,Visual Studio Installer建议卸载
在卸载旧版本Unity Hub前先将目前不需要的Unity 版本删除掉。
1.2Windows SDK安装
1)安装Visual Studio前,建议从官网下载最新版本的.iso镜像请默认安装在C盘,如C:\win10SDK,除最新版外,可再安装几个其他版本。
用此方法部署若出现以下错误
MSB3774 :找不到 SDK“WindowsMobile, Version=10.0.20348.0”
则需要将整个win10SDK文件复制到C:\Program Files (x86)\Windows Kits\10路径里
2)Win 10 SDK 如果是通过VS安装包一起安装的,需要手动将安装位置的Windows Kits文件夹中的10文件夹复制到C盘的Windows Kits文件夹下(C:\Program Files (x86)\Windows Kits\10)
1.3Visual Studio安装
官方安装教程
安装以下负荷:
● .NET 桌面开发
● 使用 C++ 的桌面开发
● 通用 Windows 平台 (UWP) 开发
●使用 Unity 进行游戏开发(如果计划使用 Unity)
UWP 工作负荷中,所需组件:
● USB 设备连接(通过 USB 进行 HoloLens 部署/调试所需)
● C++ (v142) 通用 Windows 平台工具(使用 Unity 时必需)
1.4Unity安装
先安装最新版本Unity Hub,
在官网选择长期支持版,从Unity Hub下载
2.环境配置
2.1新建项目
打开unity hub,新建项目
项目创建完后,将工作平台切换到UWP平台
File → Build Settings
2.2配置MRTK
方法一:运行MixedRealityFeatureTool程序 官网,等待Start按钮变色后点击。(推荐使用)
在Discover Features页面选择如下组件或根据需求进行选择,其中,Foundation和OpenXR Plugin(新版unity才有)是必选,Examples、Extensions、Tools、TestUtilities
最后,Get Features → Import → Approve → Exit。
方法二:先下载相应的扩展包,再导入。
在unity菜单里,依次选择Assets → Import Package → Custom Package,选择已下载好的扩展包,将其导入工程中,弹出的设置窗口单击Apply即可。
2.3 激活Unity的XR功能
方法一:使用XR Plug-in Management(推荐使用)
在左侧XR Plug-in Management下新添的Windows Mixed Reality子模块按需选择功能
方法二:使用Legacy XR(Unity2020版已被移除)
2.4 创建和设置场景
在Unity编辑器的顶部菜单栏上,选择Mixed Reality→Toolkit→Add to Scene and Configure
作为演示,可以在场景中创建一个立方体
2.5导出Unity工程
2.5.1设置发布包
在Project Setting中,选中Player页面,在下方的Publishing Settings,设置Company Name和Package Name即可。(也可以不设置,默认即可)
创建证书(密码可以不设置,设置就需记住)
2.5.2 导出
File → Build Settings
3.程序部署到hololens2设备
若采用USB部署和WiFi部署,则第一次部署到hololens2上时,会提示输入PIN码。
在HoloLens 2设备上,选择Settings→Update & Security→For Developers打开开发设置面板,单击Pair按钮生成PIN码,然后在VS弹窗中输入此PIN码完成配对。
3.1 USB部署
3.1.1 通过VS部署(推荐)
打开unity(2.5.2导出文件)编译的sln工程,选择设备,再点击左边绿色三角形(或F5)
3.1.2 Unity引擎
3.2 WiFi部署
3.2.1 通过VS部署
打开unity编译的sln工程,配置开发环境
项目→属性→调试
最后点击左边绿色三角形(或F5)
3.2.2 Unity引擎
3.3 appx部署(安装不能覆盖,同一APP必须先卸载再安装)
3.3.1 通过VS部署
1)打开unity编译的sln工程,配置开发环境
2)发布APPX文件,具体操作方法可以参考博文
3)在浏览器登录hololens2的IP地址,进入管理界面(输入账号和密码),hololens2和电脑在同一局域网下
选择文件(.msix/.appx文件)后,点击install进行安装
3.3.2 Unity引擎
1)Mixed Reality → Toolkit → Utilities → Build Window
2)若appx包未生成成功,仅生成了.sln文件,可通过下面方式尝试解决“#define_SILENCE_STDEXT_HASH_DEPRECATION_WARNINGS”
打开.sln文件,找到sparseconfig.h文件
Il2CppOutputProject → IL2CPP → external → google → sparsehash → internal → sparseconfig.h
在图示位置添加代码
#define _SILENCE_STDEXT_HASH_DEPRECATION_WARNINGS
完成后重复步骤1)
3)参考 3.3.1 通过VS部署 里的步骤3)
4. Unity和Visual Studio关联
1)Visual Studio安装设置
通过Visual Studio Installer修改VS
2)
方法一:VS工具栏
工具 →扩展与更新 →联机 →搜索unity →Visual Studio Tools for Unity安装,挂钩Unity3d和VS
方法二:Unity工具栏
Edit →Preferences →External Tools →External Script Editor里选择,选择用不同编译工具(如VS2019)打开和编译Unity3d的脚本
有颜色即关联成功
5. 部署常见错误
5.1 MSB3774
MSB3774 :找不到 SDK“WindowsMobile, Version=10.0.20348.0”
1)将VS打包log翻到最上面,找到这一行:Msvc Install SDK Directory:,这里就是安装的Win10SDK路径,复制到资源管理器中。
2)将复制的文件拷贝到C:\Program Files (x86)\Windows Kits\10路径里。(这里是将整个win10SDK文件复制到Windows Kits\10)
5.2 DEP6957
DEP6957:未能使用“通用身份验证”连接到设备“127.0.0.1”。请验证项目调试设置中指定了正确的远程身份验证模式。COMException -异常来自 HRESULT:0x801C0003 [0x801C0003] Anchor2019
以下方法可以依次尝试:
1)检查USB线是否连接成功(在电脑上能否看到hololens2设备),或者hololens2和电脑是否在同一局域网下。
2)关闭hololens2蓝牙,关闭电脑防火墙
3)安装最新版本SDK
4)移除之前已成功部署过的APP
5)重新安装VS
6)用管理门户appx安装(此方法只是换了一种部署方式,并没有真正解决问题)
参考文章:
Hololens2开发环境配置及项目生成部署
Unity发布appx包部署HoloLens2设备
VisualStudio安装以及与Unity3d关联使用