首先在说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
总体来说准备全如下图
Unity3D发布打包系列之(三)——Hololens打包发布_第1张图片

如果要了解更多关于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平台Unity3D发布打包系列之(三)——Hololens打包发布_第2张图片

  • 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就要选择什么模式Unity3D发布打包系列之(三)——Hololens打包发布_第3张图片
    2.设置Player Setting
  • Other settingUnity3D发布打包系列之(三)——Hololens打包发布_第4张图片
  • 在 XR Settings 下 勾选 Virtual Reality Supported
  • 设置 Virtual Reality SDKs 为 Windows Mixed Reality Unity3D发布打包系列之(三)——Hololens打包发布_第5张图片
    3.为了保持Hololens较高性能需要打开Project Setting ->Quality,设置如下图框选的部分Unity3D发布打包系列之(三)——Hololens打包发布_第6张图片
    4.Unity 照相机设置为重色(建议黑色)
    Unity3D发布打包系列之(三)——Hololens打包发布_第7张图片
    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架构
Unity3D发布打包系列之(三)——Hololens打包发布_第8张图片
(3)在部署目标下拉菜单中选择“ 远程计算机”(也可以选择模拟器)
Unity3D发布打包系列之(三)——Hololens打包发布_第9张图片
(4)自动出现一个对话框来配置您的连接。在地址或机器名称字段中输入设备的IP地址。在Hololens上设置>网络和Internet>高级选项下,找到IP地址,也可以询问Cortana“我的IP地址是什么?”。将身份验证模式设置为通用(未加密的协议)
Unity3D发布打包系列之(三)——Hololens打包发布_第10张图片

注⚠️:第一次从PC将应用程序部署到HoloLens时,系统会提示您输入PIN。请按照以下配对设备说明进行操作。
PIN查找,进入Hololenssetting ->Update & Security找到For developers,在界面上点Pair 就会显示。Unity3D发布打包系列之(三)——Hololens打包发布_第11张图片

(5)选择调试>开始调试以部署您的应用并开始调试
Unity3D发布打包系列之(三)——Hololens打包发布_第12张图片


第二种:通过USB部署,将Hololens和PC通过数据线连接
Unity3D发布打包系列之(三)——Hololens打包发布_第13张图片
(1)标记1和标记2设置和Wi-Fi部署设置一样
(2)部署目标下拉菜单选择Device
Unity3D发布打包系列之(三)——Hololens打包发布_第14张图片
(3)后续设置更Wi-Fi设置一样,最后选择调试>开始调试以部署您的应用并开始调试


第三种:打包成本地安装包,从连接Hololens的Web浏览器App入口部署;
用你本地VS打开后,在右侧的解决方案资源管理器下面选择你的项目右键->应用商店->创建应用程序包
Unity3D发布打包系列之(三)——Hololens打包发布_第15张图片
选择--我要创建加载包,选择下一步
Unity3D发布打包系列之(三)——Hololens打包发布_第16张图片
设置输出路径和条件
Unity3D发布打包系列之(三)——Hololens打包发布_第17张图片
最后,点击创建

显示成功了,就打包出来了APP。Unity3D发布打包系列之(三)——Hololens打包发布_第18张图片

最后通过Web浏览器连接Hololens,在浏览器上App(应用)安装输出APP,在Hololens上就能完美的操作你的工程了。



***调试已安装或正在运行的应用程序***

您可以使用Visual Studio调试已安装的Universal Windows应用程序,而无需从Visual Studio项目中进行部署。如果要调试已安装的应用程序包,或者要调试已运行的应用程序。
转到调试->其他调试目标->调试已安装的应用程序包。
选择HoloLens 的“ 远程计算机”目标或沉浸式耳机的“ 本地计算机 ”。
输入设备的IP地址。
选择通用身份验证模式。
该窗口同时显示正在运行和不活动的应用程序。选择您要调试的一个。
选择要调试的代码类型。
单击附加或开始。

介绍Web浏览器连接Hololens

  1. 打开HoloLens的电源,对HoloLens2或HoloLens(第一代)上的Bloom执行“ 开始”手势以启动主菜单,选择“ 对于开发人员”菜单项。启用开发人员模式。返回主菜单找到设置,选择Wi-Fi连接,(注意:你的PC电脑也得连接相同的网络,形成局域网)。
  2. 查找设备的IP地址。在设置>网络和Internet> Wi-Fi>高级选项下找到设备上的IP地址。在PC上的网络浏览器中,输入你查找的IP地址。(注意:同样也可使用USB连接转入https://127.0.0.1:10080 )
  3. 第一次进入的话需要设置账号和密码,以及权限,如下图Unity3D发布打包系列之(三)——Hololens打包发布_第19张图片如果是非第一进入,需要登陆账号密码,登陆之后
    Home视图Unity3D发布打包系列之(三)——Hololens打包发布_第20张图片
    页面顶部的工具栏提供对常用状态和功能的访问:
    • Online:指示设备是否已连接到Wi-Fi。
    • Shutdown:关闭设备。
    • Restart:重启设备电源。
    • Security:打开设备安全性页面。
    • Cool:指示设备的温度。
    • A / C:指示设备是否已插入并正在充电。
    • Help:打开REST接口文档页面。

Mixed Reality Capture(混合现实捕捉)
Unity3D发布打包系列之(三)——Hololens打包发布_第21张图片
此功能可以用来保存你在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 )查看。