微软Windows MR头显的开发及注意事项

什么是Windows MR头显?

微软Windows MR头显搭载Windows 10操作系统,提供沉浸式的体验,与HoloLens同属Windows混合现实家族,两者有较多相似之处,而区分两者的重要的变量为,HoloLens具备手势(Gesture)的交互操作和空间映射(或SLAM),Windows MR头显具备Boundary API。目前市面上较为成熟的Windows MR头显合作厂商主要有:惠普,戴尔,三星,联想,宏碁,3Glasses。

受帧率影响,Windows MR头显主要分为两大类:一类是60Hz,一类是90Hz。帧率的差别主要取决于PC端处理器和显卡的配置,具备独立显卡的Windows混合现实Ultra PC能够支持帧率达到90Hz,而具备集成显卡的Windows混合现实PC只能支持60Hz的帧率。

帧率为60Hz的Windows MR头显可以运行2D APP,3D影像,包括WebVR上的大部分程序。而帧率为90Hz的Windows MR头显能够运行性能更好的应用,例如Steam VR以及其它VR应用平台中高渲染的应用。

Windows MR头显与PC端的连接

当Windows MR头显与PC连接时,若PC端无法兼容,意味着PC端没有达到可运行Windows MR头显的配置要求:硬件设置与Windows Mixed Reality不兼容,或Windows系统没有更新到最新版本。

如果是硬件设备问题,为大家推荐一款能够检测PC是否与混合现实兼容的APP——WindowsMixed Reality PC Check,这是帮助大家快速判断的最佳方式。

如果是Windows系统兼容性问题,若设备管理器中“HoloLens Sensors”一直出现黄色感叹号,意味着设备驱动的程序安装包不存在或者无效,此问题是由PC端的系统所造成的,如果PC运行的是Windows10 N系统,注意此版本是无法进行混合现实开发的,PC端只适配于非N版本的Windows 10系统。

Windows MR头显之与运动控制器的连接

备是储存器(比如闪盘)和网络插口,由于USB 3.0控制器驱动程序并不具备读取和处理Container ID描述器的能力,所以使用范围比较有限。Container ID将Windows MR头显中运行的不同的程序按照逻辑进行重新组合,从而形成一个整体进行输出。此时开发者需要先删除文件名中含有“Extensible Host Controller”,但不含“Microsoft”字样的驱动程序,再确认删除旧驱动程序,最终确认每个项目中都包含带有“Microsoft”的“Extensible Host Controller”即可。

经过上述步骤后若仍未解决此问题,有可能是设备没有响应其驱动程序发出的命令,这只是一个间歇性问题。此时只需拔下Windows MR头显 30秒以上,重新插入即可。

连接后,大家可以在Windows MR头显的桌面系统中登陆Microsoft Store进行下载应用体验,而项目应用在Unity构建完成之后,会生成一个UWP应用:

此时需要做的就是将应用程序部署到Windows的Mixed Reality Portal上。程序包中,打开上图所标注的解决方案(MixedReality213.sln),以Visual Studio打开,找到顶部的工具栏,配置目标设备的参数 :

三个参数分别设置为: 配置的方式改为Release; 目标平台改为x64; 目标设备改为local machine。此时,按下Ctrl + F5即可将应用构建并安装在Mixed Reality Portal中,可以通过混合现实门户中的开始菜单重新启动。当UWP应用首次安装在Windows MR头显内,以后就能从Windows MR头显内的桌面系统直接开启了。