处理Unity中使用HTC VIVE PRo的SRWork插件若干问题
一、介绍
HTC VIVE Pro版本的头盔显示器可以使用一个叫SRWork的工具轻松制作混合现实功能的案例,如图1所示:功能很强大,目前据我写
这篇文真为止已经更新到了SRWork0.9.7.1版本。我使用的Unity为2018.4.26版本,头盔显示器设备为Pro2版本。在使用的过程中主要碰到如下问题:
- 无法开启Stem VR的摄像头进行测试,也即头盔上的摄像头无法在程序运行的时候打开;
- 无法运行SRWork RunningTime,如图2所示
- 使用Unity的案例场景运行报错,报错内容为如图3所示
其他的问题都可以在SDK的文档中找到解决办法,这几个问题是我额外碰到并且在文档中未提及的情况。
二、解决方法
2.1、无法开启Stem VR的摄像头进行测试
检查HTC的定位基站和头盔显示器是否出现定位不准的问题,我是重新进行房间设置之后解决了这个问题,成功之后可以看到如图4所示的画面
2.2、无法运行无法运行SRWork RunningTime
1)确认Steam的版本符合SDK的运行要求,如我在使用的时候碰到如下情况,从下载安装的Stem的软件中自动安装的StemVR版本为1.9.10版本,如图5所示,这个版本的StemVR软件会在桌面自动生成一个快捷方式,很容易误导我运行到这个版本,然而这个版本的
StemVR根本不符合运行的要求。于是我从Stem的菜单中重新打开StemVR,奇迹发生了,这次运行的版本是1.13.10版本,如图6所示
符合运行SRWork RunningTime的要求。
2)确认操作系统是否更新了运行所需的库文件,这个一般会自动安装,如果没有可以对电脑系统进行检查并更新。
2.3、使用Unity的案例场景运行报错
SRWork的Unity插件包分为Vive-SRWorks-Unity-Plugin和Vive-SRWorks-Unity-Experience,要运行Vive-SRWorks-Unity-Experience里面的案例必须要现导入StemVR插件和Vive-SRWorks-Unity-Plugin。其实,StemVR插件和Vive-SRWorks-Unity-Plugin时,Vive-SRWorks-Unity-Plugin里面的场景是可以正常运行的,偏偏就是Vive-SRWorks-Unity-Experience里面的案例场景怎么也运行不了。
这个问题真的是困扰了我很久,我一直觉得HTC的Unity SRWork插件导入到工程里运行不了是我的问题,通过不断的按照官网的文档重装StemVR软件、SRWorkRunningTime甚至Unity等,都没有解决这个问题。中间我还电话咨询过HTC的的技术支持人员,回答倒是很客气,但是没有解决我的问题。还去SRWork的专门论坛中搜索这个问题,搜不到又一页一页翻看找类似的问题的处理办法,最后都没有解决这个问题。这个时候,我开始怀疑是这个插件本身没有设置好的问题,或者说明里面少了一些什么。根据报错排查,终于找到解决办法。只需要将“ViveSR_Experience/ Input”文件夹下的几个json文件复制到“Assets\StreamingAssets\SteamVR”文件夹下并且替换以前的既可以运行案例场景中的程序。
三、总结
坑不在多,多尝试就行,坑不在于深,有思路就行。