基于XR Interaction ToolKit开发的VR双平台兼容项目(一)

       最近需要把模型通过VR的形式展示,但设备并不是一种,有htc的vive跟oculus的quest。如果说是工程分开来做的话可以htc就用steamVR开发,quest的话就用oculus integration来开发。但两套工程的话工作量有点大,而且后期的更新维护也相当不方便。当然也尝试过同一个工程加入这两个插件,结果发现会有冲突,steamVR直接就不启动了,只好放弃这个想法。

        听别人介绍知道unity已经有一个插件可以兼容XR所有产品--XR Interaction toolkits,自己查阅相关资料发现可以一试,但奈何因为这插件现在也是内测版,国内使用的人不多,能参考的资料也有限,只能靠着网页翻译来了解国外开发者对这插件的一些使用体验。这里主要记录下使用XR Interaction toolkits的使用流程,以便日后需要用的话能回来看看,如果正好能帮到有需要的人,那就再好不过了。

       官方在github上已经开源了一套demo(点击跳转),只要将这demo在unity加载正常运行的话,就能够正常调用VR操作的了,当然在这之前还需要做一系列的准备工作,接下来会一一说明。

        首先说一下我的开发环境

操作系统:Windows 10

开发平台:Unity 2019.3.4f1

使用插件:XR Interaction ToolKit preview0.9.4

发布平台:HTC Vive,Oculus Quest

       windows这边,默认还是需要安装steam跟steamVR,注册账号跟配置这里就不详细说了,网上基本都有教程。

       要说明一点的是,在使用XR Interaction toolkits时,windows环境是默认会使用SteamVR的。跟使用unity的steamVR插件一样,当你运行unity工程时,steamVR.exe同样是会启用的,所以当你成功导入这套demo到unity里面 如果运行时steamVR不能启动,那就要检查一下steamVR的环境有没有配好,这里也不赘述了。

        Quest这边的话也有几个小点需要注意的。首先quest需要连接到 oculus link这个app将开发者模式打开,这个操作可能需要用到梯子,查阅一下网上的教程基本就知道了;因为quest实际上也是安卓设备,所以unity还需要配置好安卓环境;同时也需要一根数据线进行数据传输,如果是手提电脑开发可以利用同一路由来传输数据;安卓端的开发与测试一向是比较麻烦的,因为不能直接看到日志输出,而且每次测试都需要戴上头显相当别扭,这边还是找到了一个方案来解决这个问题。

       首先我是用安卓测试的那套方法来查看日志输出,也就是adb+ddms,只要能成功连接上quest的话ddms就能像安卓手机一样输出日志。至于画面输出的话我是用Scrcpy这款插件,只要装了adb的话连接上quest那么画面就能直接显示。至于quest端需要戴上才能显示画面的问题就更好解决了,头套的鼻梁处有一个红外感应,只要贴张纸上去就能一直显示页面!不过要注意的事如果画面不关的话手柄的电池会一直耗,我就因为忘记撕贴纸导致手柄装了新电池一天就没电了。。。

      当一切设置正常的话,scrcpy跟ddms上的显示如下面两个图片显示的那样了

        这样开发前的准备工作就大概完成了,接下来就可以进行Unity开发了。

猜你喜欢

转载自blog.csdn.net/ssssssilver/article/details/105689061
今日推荐