HoloLens 2开发中遇到的问题以及解决办法

1. Unity 中发布Hololens的时候界面变灰,提示无发布权限。

原因:Unity Hub的许可证错误(不一定是过期,有效期内也可能出现这种情况)。

解决办法:如果许可证未过期,关闭Unity编辑器,回到Unity Hub,在页面下方点击“MANAGE LICENSE”,在License页面中点击CHECK FOR UPDATES,问题解决。如果许可证已过期请重新申请许可证。

2. Unity发布UWP过程中莫名失败。

原因:这种情况原因不唯一,但大几率是项目文件夹的路径过长或是存在非英文字符

解决办法:把项目文件夹移动到纯英文字符且较短的路径中。尽量靠近驱动器根目

3. Unity发布UWP过程中提示SDK找不到或版本不足。

原因:Windows10SDK安装的路径过长或者存在非英文字符。

解决办法:将已安装的Windows10SDK完全卸载,并且将VisualStudio 2019完全卸载。重新安装时要单独下载Windows10SDK的安装包,在安装VS之前选择纯英文字符的较短路径安装Windows10SDK。笔者是安装在了C:/W10SDK路径中。注意不要使用Visual Studio2019来安装Windows10SDK。否则会导致SDK安装进默认路径中。

4.在导出VS文件后向设备发布时,出现提示找不到WindowsMobileSDK。

原因:系统默认的Windows10SDK的路径下,没有对应的所需文件。

解决方法

A.如果你的C盘足够大,那么找到之前安装Windows10SDK的路径,在其中找到“Extension SDKs”文件夹。将这个文件夹整个拷贝到路径C:\Program Files (x86)\Windows Kits\10\中,这个方法可以一劳永逸的解决此问题。

B.如果你的C盘已经空间不足。那么在出现这个错误提示后,关闭VS项目,找到报错对应的.vcxproj文件。将其中的代码:“<SDKReferenceInclude=”WindowsMobile, Version=10.0.17763.0″ />”删除或注释掉,保存关闭。这个方法不推荐,但可以暂时解决此问题。

5.当电脑和Hololens处于一个局域网中,想要使用远程设备发布时发现之前Hololens1远程设备发布时填写IP地址的选项找不到。

原因:Hololens 2的发布设置变更。

解决办法:在发布目标的下拉框中找到项目属性-配置属性-调试,在右侧面板的“计算机名”的后方输入Hololens 2的IP地址。

6.导入MRTK和TextMeshPro资源后依旧Console面板飚红。

原因:使用了较低的Unity版本。

解决办法:建议使用2019.3以上的版本。

7.在Unity编辑器中点击运行按钮测试正常,发布后部分或全部场景内容丢失。

原因:未知的配置错误或文件冲突。

解决办法:果断放弃该工程文件,开启新工程,将原本的资源、脚本场景等内容打包载入新的工程文件中。

8.发布到设备后发现有些内容只在单目中渲染显示。

原因:在Unity的PlayerSettings-XR Settings中下方的Stereo Rendering Mode(立体渲染模式)选择了SinglePass Instanced(单通道实例渲染)。而出错的内容所使用的Shader未进行相关的配置。

原理:在使用Hololens设备时,有两种常用的立体渲染模式:Single-passInstanced和Multi-pass。

Multi-Pass很好理解即普通的双目渲染,它会执行两次完整的pass渲染(每只眼睛一次)。但这种渲染方式会产生大量的cup工作量,这种渲染方式基本支持所有的shader,不需要对shader进行任何改变,但相应的它的性能消耗也是Single-pass Instanced渲染方式的两倍。

Single-Pass Instanced 即单目实例渲染,实例渲染一个单独pass,然后每一侧的Draw call都会使用这个实例化的Draw Call。这可以大大降低CPU的利用率,另外由于两边的Draw Call缓存有一致性,也可以稍微降低一些GPU的利用率。

解决办法

A. 重新配置Shader:所有非内置Shader都需要进行修改才能适用于single passInstanced。具体操作步骤请参考Unity手册中Hololens立体渲染模式部分。非专业图形学工程师不建议采用这种方法

B. 将Stereo Rendering Mode更改为Multi-pass。极度不推荐!这种方式对本来就紧张的渲染性能雪上加霜。

C. 使用官方MRTK的内置Shader。极度推荐!官方MRTK中的内置Shader几乎囊括了所有将在Hololens中使用的效果,且性能方面有很好的优化。其示例路径在:MixedRealityToolkit.Examples/StandardShader/Scenes。

9.其它未知原因,例如商店中的应用无法下载,运行速度变慢,未知原因发布失败,远程连接失败等。

解决办法:逐一排查,优先排查常规性问题,例如Holoelns 2设备的系统是否有及时更新,开发电脑的系统是否为正版(推荐Windows10Pro),电脑与HoloLens 2设备的开发者选项是否开启等。

(文章转载自公众号:微软HoloLens;作者:李晔)