前言
HoloLens2部署的权威教程在微软的官方文档中,但有些问题其实官方文档并没有列出,所以在实际开发过程中如果遇到bug,就需要自身或者前人的经验去解决。
比如:
对于Hololens2来说,在VS中需选择ARM64而不是x86。部署需要有良好的网速;工程打包出来的文件路径和工程路径有关联,如果这两个路径不匹配,部署就会失败。部署后打不开可能是因为Unity中未添加需要部署的场景,在Build Settings中点击Add open Scenes。
本人部署过程中使用到的各类环境:
电脑:Win10,i9,i7,i5
硬件:Microsoft Hololens 2
软件:Unity 2019.4.11f1,Visual Studio2019
环境:MRTK2.5.9,Windows SDK10.19041.0
部署不强调顺序,设置正确即可。
正文
注意:需要部署到Hololens上的工程,一开始就应该选择UWP平台。
(1)Project Settings
菜单栏选择Edit->ProjectSettings->Player,检查是否切换到UWP平台
点击倒数第二栏的Publish Settings -> 然后拉到最底部,找到Capabilities一栏。
找到Capabilities之后,根据项目的需要进行勾选。
必选项1:空间感知
必选项2:凝视输入
必选项3:麦克风
将Capabilities这栏折叠,它下面的一栏就是Supported Device Families,展开它,选择其中的Holographic(全息投影)
折叠刚刚的Supported Device Families,下面有一栏XRSettings,展开它,设置如下:
首先要勾选VR Supported,这时unity可能会自动导入一些东西。
导入完之后,在Virtual Reality SDKs里面,将深度Depth Format 修改为16-bit depth,并且勾选Enable Depth Buffer Sharing。
(2)Build Settings 部署设置
将场景添加到部署列表的方法:
1.在unity的Project中,双击打开你需要部署的某场景,
2.打开Build Settings面板,(unity菜单栏左上角File->Build Settings)
3.点击Add Open Scenes,当前场景就会添加到部署列表中。
左边一栏Platform,是指你的工程需要部署到什么平台,因为要部署到HoloLens,所以需要选择第二个UWP(通用平台),接着在右边一栏进行设置,参考图中设置。
第四栏SDK版本需要说明一下,目前HoloLens里的Windows SDK版本为10.0.19041.0,如果这个SDK版本更新了,你就应该去装一个相对应版本的SDK。
SDK是在VS中安装的,如果你没装,这一栏就会无法选择。现在介绍一下SDK的安装方法:
打开vs installer,
点击工具->获取工具和功能,
选择’单个组件’,查找windows sdk,安装10.0.19041.0(根据自己的HoloLens的sdk版本选择)。
然后点右下角的修改按钮,安装完之后,需要重启Unity才能生效。
至此,SDK安装完毕。
如果有下图这样的黄色小三角提示,说明还差一些东西需要安装。
到底差了什么东西呢?缺少的是ARM64生成工具,同上理,在vs installer 中“单个组件”查找下图的这两个组件,并安装它们。
装完这两个后,重新打开工程,三角报警消息便会消失了。
最后一点,VS需要安装一下C++通用平台,之后部署需要。
如果你已经看到了这里,不如回想一下,我们刚刚所做的一系列设置都是针对于unity中的,也就是打包阶段,下一阶段才是部署阶段哩。
(3)打包
上述的很多设置只需要做第一次,之后就不需要重新修改了,除非你建立了一个新项目,那么,得重新设置一遍。
激动人心的打包终于开始了!在确认工程没有报错、没有设置错误后,点击Build Settings里右下角的Build按钮,它会提示你选择一个文件夹,你需要自己创建一个文件夹,存放打包出来的文件。
我这里在D盘下,创建了文件夹HololensBuilds,专门放build文件。
当然,如果build失败,原因多种多样。可能是设置不对,可能是脚本有错(摊手)。
开发者选项的设置:
在设置——更新和安全——开发者选项里,打开第一个按钮,“从任意源安装应用”。
当弹出以下的说明框,选择“是”。
接着打开第二个按钮——启用通过局域网连接进行远程诊断的功能,在第一次启用时,会弹出下图所示的提示,选择“是”。
这时需要等它安装完毕,才能进行下一步,安装提示如下图。
安装完成后,就是下面图这样子了:
此时,需要填写用户名和密码,填写完点击应用。这里的用户名和密码完全是自定义的,只要自己能记得住就可以。
鼠标滚轮往下滑,打开设备发现,如下图所示。
打开后,提示需要重启,重启后红字会消失。
至此,开发者选项设置完毕,请关闭开发者选项,保存电脑数据,重启。
(4)开始部署
unity成功打包出工程后,在文件资源管理器中,找到打包出的工程文件,用VS打开里面的.sln文件。如下图。
这里使用USB部署方法。在VS的设置栏中,选择Release(发布)、ARM64、设备。如下图。
如果目标选项中没有“设备”,则可能需要将 Visual Studio 解决方案的启动项目从 IL2CPP 项目更改为 UWP 项目。 在“解决方案资源管理器”中,右键单击“YourProjectName (通用 Windows)”并选择“设为启动项目”。
将HoloLens2通过一根USB数据线,和电脑的USB端口连接。
点击vs中的开始执行(不调试)。
第一次部署时需要配对HoloLens中出现的PIN码。这里需要用HoloLens操作。
戴上HoloLens,先用手部召唤出菜单,接着选择设置-开发者选项-配对,将出现的六位数PIN码输入到电脑中。
如果部署成功,出现的结果如下。同时HoloLens菜单里会多出一个app。
如果出现生成成功,而部署失败,需要从本文第(4)小节重新开始部署。
如果出现生成失败,需要从第1步开始重新build,并且要检查工程的设置是否正确。
部署成功后,就可以拔掉HoloLens连接着的USB数据线,并戴上它,打开工程。
打开工程可能出现的问题:
- 打开工程后若什么都没看见,可能是因为build settings中未添加场景(去看第(2)小节)。
- 打开工程后若很卡,可能是场景资源问题,或者脚本问题,建议在场景中放一个debug窗口,查看报错信息。
在电脑端登录HoloLens设备门户
这是一个很有用的系统员操作界面,可以查看HoloLens的各种信息,比如存储的相片,视频,也能将HoloLens所看到的全息影像投到电脑屏幕中。
先查看Hololens的IP :召唤菜单栏,打开设置->网络和Internet->硬件属性,记住192.开头的一个IP地址。
- 在浏览器中输入HoloLens中显示的IP地址
- 弹出警告框后,选择高级->继续前往
- 接着需要验证用户信息。若此台Holo未设置过用户名和密码,会要求设置;如果已经设置过了,就输入用户名和密码。(也就是之前在开发者选项中设置的用户名与密码。)如果密码忘了,也没关系,只要输错次数足够多,就会触发重置用户名密码的功能。😂
4. 进入设备门户,如下图所示的全英文界面。
举个例子,点击Views->Mixed Reality Capture->Capture 可以查看HoloLens的摄像头的视角画面,至于画面是否流畅,取决于电脑的网速。