unity+Hololens开发(三)——部署安装程序
https://blog.51cto.com/myselfdream/2491769
首先在说Hololens打包发布之前(强调Hololens的打包部署前期准备工作非常重要,准备的不合适,VS编译的时候就会出错误)
首先,准备:
1.建议2019版的Unity,低版本也可以,只不过Hololens2带已经出了,高版本支持的更好
2.下载 MixedRealityToolKit,简称MRTK开发工具(注⚠️:Hololens1代可以不需要次开发工具,可以使用Hololens底层代码自己开发交互,Hololens2代必须使用此开发工具,MRTK支持2018上的IL2CPP和.NET脚本后端,)下载地址: https://github.com/Microsoft/MixedRealityToolkit-Unity/releases 工具开发API地址
https://hololenscndev.github.io/MRTKDoc/Documentation/GettingStartedWithTheMRTK.html 旧版的HoloToolkit转Mixed Reality Toolkit https://hololenscndev.github.io/MRTKDoc/Documentation/HTKToMRTKPortingGuide.html
3.Windows10系统,这里我重点强调一下(若要生成 HoloLens 2 应用,必须安装 Windows SDK版本 18362 或更高版本。如果仅针对桌面 Windows Mixed Reality 头戴显示设备或 HoloLens(第 1 代)应用程序,则可以使用 Visual Studio 2017 安装的 Windows SDK(注意:如果Hololens1开发用到MRTK V2的插件,则Windows SDK也必须提供Windows SDK 18362+))(VS中勾选,或者Windows10直接下载)手动下载: https://www.microsoft.com/zh-cn/software-download/windows10ISO
注意:⚠️如果电脑是win10家庭版,因此需要首先添加Hyper-v
https://jingyan.baidu.com/article/d7130635e5678113fcf4757f.html
完成安装后,在【启用和关闭windows】中开启功能。
4.Visual Studio 2019 (hololens1代可以使用Visual Studio 2017)建议使用最新版2019。
注意:
vs单个组件下面选的是Unity那个版本就建议使用那个版本开发。
请确保安装以下工作负载:
- 使用 C++ 的桌面开发
- 通用 Windows 平台 (UWP) 开发
在 UWP 工作负载内,如果要针对 HoloLens 进行开发,请务必选中以下可选组件:- USB 设备连接
5.Hololens Emulators (optional)模拟器安装 https://docs.microsoft.com/zh-cn/windows/mixed-reality/using-the-hololens-emulator
总体来说准备全如下图
如果要了解更多关于Hololens信息在官网可了解
地址: https://docs.microsoft.com/zh-cn/hololens/
工具地址: https://docs.microsoft.com/zh-cn/windows/mixed-reality/install-the-tools
准备工作做完,开发结束,打包过程:
1.Unity-Build Setting 切换到UWP平台
- Target Device 选择 HoloLens
- Architecture 选择你要x86还是X64,建议电脑多少位系统,就选哪个
- SDK 的选择根据 VS安装中的选择,如果都安装了的话,直接选择Latest Install就行
- Build Type( UWP 生成类型): D3D
- 勾选 Unity C# Projects 项(也可不勾选)
- minimum pratfrom version:(第二代)选18362以上
- Visual Studio Version 选择你装的VS
- Build configuration 选择Debug(调试)或者Release(正式)PS⚠️:这里选择什么模式,在VS中打包的时候标记1就要选择什么模式
2.设置Player Setting- Other setting
-
- 在 XR Settings 下 勾选 Virtual Reality Supported
- 设置 Virtual Reality SDKs 为 Windows Mixed Reality
-
3.为了保持Hololens较高性能需要打开Project Setting ->Quality,设置如下图框选的部分 -
4.Unity 照相机设置为重色(建议黑色) -
5.最后Build,打包成一个文件包
Unity报错:
IOException: Win32 IO returned 234. Path: C:\Program Files
(x86)\WindowsKits\10\References\10.0.17763.0\Windows.ApplicationModel.CommunicationBlocking.CommunicationBlockingContract\2.0.0.0\Windows.ApplicationModel.CommunicationBlocking.CommunicationBlockingContract.winmd"or"Temp\StagingArea\Data\Managed\Windows.ApplicationModel.CommunicationBlocking.CommunicationBlockingContract.winmd
问题的原因下载的Win10SDK这个路径下的文件名字超出了Unity程序设定的字节导出范围。
解决方案:Windows.ApplicationModel.CommunicationBlocking.CommunicationBlockingContract(在不报错的情况下,文件名称改成一个短的不包含汉字的名称)
**注意:首先在设备上启用开发人员模式,以便Visual Studio可以连接到它。
Hololens设置:
- Select the Settings tile to launch the app in your environment.
- Select the Update menu item.
- Select the For developers menu item(选择“ 对于开发人员”菜单项).Enable Developer Mode(启用开发人员模式). This will allow you to deploy apps from Visual Studio to your HoloLens
- Optional: Scroll down and also enable Device Portal. This will also allow you to connect to the Windows Device Portal on your HoloLens from a web browser(可选:向下滚动并启用设备门户。这也将允许您从Web浏览器连接到HoloLens上的Windows设备门户。).
*⚠️:具体做法可看官网(Hololens和Web联机): https://docs.microsoft.com/en-us/windows/mixed-reality/using-the-windows-device-portal
6.用你的Visual Studio打开上一步Build出来的文件包
7.开始Visual Studio设置(这里有好三种部署到Hololens方式)
第一种:通过Wi-Fi部署
(1)标记1:调试可以设置Debug模式,正是包设置Release模式
(2)标记2 Hololens 1代 选择x86架构 ;Hololens2代设置成ARM或者ARM64架构
(3)在部署目标下拉菜单中选择“ 远程计算机”(也可以选择模拟器)
(4)自动出现一个对话框来配置您的连接。在地址或机器名称字段中输入设备的IP地址。在Hololens上设置>网络和Internet>高级选项下,找到IP地址,也可以询问Cortana“我的IP地址是什么?”。将身份验证模式设置为通用(未加密的协议)
注⚠️:第一次从PC将应用程序部署到HoloLens时,系统会提示您输入PIN。请按照以下配对设备说明进行操作。
PIN查找,进入Hololenssetting ->Update & Security找到For developers,在界面上点Pair 就会显示。
(5)选择调试>开始调试以部署您的应用并开始调试
第二种:通过USB部署,将Hololens和PC通过数据线连接
(1)标记1和标记2设置和Wi-Fi部署设置一样
(2)部署目标下拉菜单选择Device
(3)后续设置更Wi-Fi设置一样,最后选择调试>开始调试以部署您的应用并开始调试
第三种:打包成本地安装包,从连接Hololens的Web浏览器App入口部署;
用你本地VS打开后,在右侧的解决方案资源管理器下面选择你的项目右键->应用商店->创建应用程序包
选择–我要创建加载包,选择下一步
设置输出路径和条件
最后,点击创建
显示成功了,就打包出来了APP。
最后通过Web浏览器连接Hololens,在浏览器上***App(应用)***安装输出APP,在Hololens上就能完美的操作你的工程了。
您可以使用Visual Studio调试已安装的Universal Windows应用程序,而无需从Visual Studio项目中进行部署。如果要调试已安装的应用程序包,或者要调试已运行的应用程序。
转到调试->其他调试目标->调试已安装的应用程序包。
选择HoloLens 的“ 远程计算机”目标或沉浸式耳机的“ 本地计算机 ”。
输入设备的IP地址。
选择通用身份验证模式。
该窗口同时显示正在运行和不活动的应用程序。选择您要调试的一个。
选择要调试的代码类型。
单击附加或开始。
介绍Web浏览器连接Hololens
- 打开HoloLens的电源,对HoloLens2或HoloLens(第一代)上的Bloom执行“ 开始”手势以启动主菜单,选择“ 对于开发人员”菜单项。启用开发人员模式。返回主菜单找到设置,选择Wi-Fi连接,(注意:你的PC电脑也得连接相同的网络,形成局域网)。
- 查找设备的IP地址。在设置>网络和Internet> Wi-Fi>高级选项下找到设备上的IP地址。在PC上的网络浏览器中,输入你查找的IP地址。(注意:同样也可使用USB连接转入https://127.0.0.1:10080 )
- 第一次进入的话需要设置账号和密码,以及权限,如非第一进入,需要登陆账号密码,登陆之后
Home视图
页面顶部的工具栏提供对常用状态和功能的访问:
- Online:指示设备是否已连接到Wi-Fi。
- Shutdown:关闭设备。
- Restart:重启设备电源。
- Security:打开设备安全性页面。
- Cool:指示设备的温度。
- A / C:指示设备是否已插入并正在充电。
- Help:打开REST接口文档页面。
Mixed Reality Capture(混合现实捕捉)
此功能可以用来保存你在Hololens上的操作过程的截图/视频等
设置:
- Holograms:捕获视频流中的全息内容。全息图以单声道而非立体呈现。
- PV camera:从照片/摄像机捕获视频流。
- Mic Audio:从麦克风阵列捕获音频。
- App Audio:从当前运行的应用捕获音频。
- Render from Camera:如果正在运行的应用程序支持,则将捕获的图像/摄像机的视角对齐(仅适用于HoloLens 2)。
- Live preview quality::选择“实时预览”的屏幕分辨率,帧速率和流速率。
- Live preview :单击或点击实时预览按钮以显示捕获流。停止实时预览将停止捕获流。
- Record:单击或点击“ 录制”以使用指定的设置开始录制混合现实流。停止录制会结束录制并保存。
- Take photo:单击或点击“拍照”以从捕获流中拍摄静止图像。
- Spatial anchors:显示在设备上拍摄的视频和照片的列表。
注意:同时进行MRC有一些限制
如果Windows设备门户在录制视频时某个应用尝试访问照片/摄像机,则视频录制将停止。
如果应用程序以SharedReadOnly模式访问照片/摄像机,则HoloLens 2将不会停止录制视频。
如果某个应用程序正在积极使用照片/摄像机,则Windows Device Portal可以拍照或录制视频。
直播:
HoloLens(第一代)可防止应用程序从Windows设备门户进行实时流式传输时访问照片/摄像机。
如果某个应用正在积极使用照片/摄像机,则HoloLens(第一代)将无法直播。
当应用尝试以ExclusiveControl模式访问照片/摄像机时,HoloLens 2将自动停止实时流。
当应用程序正在积极使用PV摄像机时,HoloLens 2可以开始直播。
Performance Tracing(性能追踪)
从您的HoloLens中捕获Windows Performance Recorder(WPR)跟踪
- 可用配置文件:从下拉列表中选择WPR配置文件,然后单击或点击“ 开始”以开始跟踪。
- 自定义配置文件:单击或点击浏览以从PC中选择WPR配置文件。单击或点击上载并开始开始跟踪。
要停止跟踪,请单击停止链接。保留在此页面上,直到跟踪文件下载完成。可以在Windows Performance Analyzer中打开捕获的ETL文件进行分析。具体分析(https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-8.1-and-8/hh448170(v=win.10)?redirectedfrom=MSDN )
App(应用)
管理HoloLens上安装的应用程序。
- Installed apps:删除并启动应用程序。
- Running apps:列出当前正在运行的应用程序。
- Install app:从计算机/网络上的文件夹中选择要安装的应用程序包。
- Dependency:为您要安装的应用程序添加依赖关系。
- Deploy:将选定的应用程序+依赖项部署到HoloLens。
注⚠️:前面通过第三种方式打包成本地安装包,如果要安装的话就通过此界面的Deploy来安装
Web浏览器的连接中其他功能我就不介绍了,因为主要用到的就是我上面说的这几个。如果大家有需要可以去官网( https://docs.microsoft.com/en-us/windows/mixed-reality/using-the-windows-device-portal )查看。
官网:https://docs.microsoft.com/zh-cn/windows/mixed-reality/develop/platform-capabilities-and-apis/using-visual-studio?tabs=hl2
通过 Wi-Fi 部署 HoloLens 应用
为 Visual Studio 项目配置以下属性:
- 选择应用编译选项
- 对于 Unity 项目,请选择“Master”或“Master”
- 对于所有其他项目,请选择“Release”
备注
可以在导出和生成 Visual Studio 解决方案中找到每个编译选项的完整定义。
- 根据设备选择生成配置
- 在部署目标下拉菜单中选择“远程计算机”
接下来,需要设置远程连接。 对于 C++ 和 JavaScript 项目,请转到“项目”>“属性”>“配置属性”>“调试”。 如果正在处理 C# 项目,将自动显示一个对话框。
备注
如果 C# 项目中未显示远程连接对话框,你可以从“属性”>“调试”手动打开它。
-
在“地址”或“计算机名”字段中输入设备的 IP 地址。
- 可在“设置”>“网络和 Internet”>“高级选项”下找到 HoloLens 的 IP 地址
- 我们始终建议手动输入你的 IP 地址,而不要依赖于“自动检测到”功能
-
将身份验证模式设置为“通用(未加密协议)”
- 根据需要生成、部署和调试应用
- 选择“调试”>“开始调试”以部署应用并开始调试
- 选择“生成”>“部署”以生成并部署而不调试
- 首次将应用从电脑部署到 HoloLens 时,系统会提示输入 PIN。 按下面的说明 配对设备。
通过 USB部署 HoloLens 应用
选择应用编译选项
-
- 对于 Unity 项目,请选择“Master”或“Master”
- 对于所有其他项目,请选择“Release”
备注
可以在导出和生成 Visual Studio 解决方案中找到每个编译选项的完整定义。
- 根据设备选择生成配置
- 在部署目标下拉菜单中选择“设备”
- 根据需要生成、部署和调试应用
- 选择“调试”>“开始调试”以部署应用并开始调试
- 选择“生成”>“部署”以生成并部署而不调试
- 首次将应用从电脑部署到 HoloLens 时,系统会提示输入 PIN。 按下面的说明 配对设备。
备注
如果通过 USB 进行应用部署时出现相当长的延迟时间,建议使用上一节中的远程计算机说明。
unity直接打包Appx安装
MRKT的文档说明:https://microsoft.github.io/MixedRealityToolkit-Unity/Documentation/GettingStartedWithTheMRTK.html
其中【Microsoft.MixedRealityToolkit.Unity.Tools.unitypackage 】打包工具!
下载地址:https://github.com/Microsoft/MixedRealityToolkit-Unity/releases
导入Unity当中后
Build Settings
打开打包窗口:
选择:【Build APPX】 进行打包
安装程序
首先确保电脑与HoloLens处于同一个网络
打开浏览器输入HoloLens的IPv4地址【IPv4地址地址获取方式:设置 - 网络和Internet - 硬件属性】:
如果浏览器提示“此站点不安全”或者“您的连接不是私密连接”等,请继续访问!
接着会让你输入账户密码:如果你的设备有设定过账号,但是又忘记了,请进行多次输入,貌似在输入12次以上会提示你重新设置账户密码。如果有账户密码,请输入!
【提示:这个账户密码有可能和电脑投屏时用的账户密码是同一个,如果登录不上的话,建议重置用户密码吧,或者说在别的机器上用的账户与密码,也许在另一台机器上不能通用!】
接下来出现的是这个界面
然后你就可以选择刚才打包好的文件开始安装啦。
安装完毕后,在HoloLens的应用中找到刚才安装的程序,打开后即可运行玩耍啦!
注:
可能是提示安装失败,但是HoloLens上确实安装成功了。