VR总结

     最近一段时间,都在做VR相关的游戏开发。接触了国内主流的VRSDK,包括小米,暴风(暴风app端和暴风一体机),华为,大朋,国外的有Google的Google的Carboard,和Oculus。

     首先接触的是Carboard,使用非常简单,SDK提供的功能非常全面,游戏中用到的基本功能都封装好了。包括UI的Gaze操作,以及对三维物体的操作,而且manifest设置基本不用改动,电脑端和手机端测试也比较方便。这次博客的根由是为了总结,所以Carboard也要做下总结:

  1.  Unity5.6以后,将Carboard以及daydream都整合到Unity里了,在用Carboard开发VR时,打包需要在playersetting里勾选Carboard。测试过,帧率不错。
  2.  如果需要开启或关闭,三维物体的gaze的检测效果,开始在UI摄像机上添加或移除Physics Raycaster,并可以选择监测层级,在很多情况下,非常有用。

     华为SDK

  1. 华为SDK,比较。。。简单。简单的原因是因为,他提供的功能很少,只提供了一个VR效果,没有gaze的UI操作。需要自己开发来写。不过gaze的UI操作也不是很难写,可以把Carboard的代码拿来,修改一下。修改的地反主要是检测输入的地方。
  2. 华为SDK还有一个比较蛋疼的地方是,你不能在编辑器内测试。因为他所有的操作都封装了,编辑器内是不存在摄像机的,它是在运行时生成摄像机。所有在刚开始接华为SDK的时候,只能猜测他生成摄像机的结构:生成了哪些摄像机,摄像机上又各设置了哪些参数(那时候还没接触android的东西,没有解包。。。)。
  3. 华为vr的sdk,只能运行在华为手机上,而且是华为p9,荣耀8。其他手机不行。
  4. 华为vr的sdk不能直接在华为手机上运行,你在手机安装后,可以在手机桌面上看到app的图标,但是进不去应用。你必须找华为相关人员,要一个开发者工具包,安装一个app到你手机上,设置你的app的包名才能测试。。

 

  暴风vrsdk

  1. 暴风的也有点坑爹。他提供了UI的gaze点击效果,但是我们没用他们的,我们自己写了一套(还是改的carboard的代码拿来用。。)。他自带的gaze是用canvas实现,这个我不敢苟同。而且是有bug,当你乱晃摄像机时,有可能找不到gaze了,它还在你视野中心点,但是在远处。。。
  2. 暴风vr有手柄,手机需要打开蓝牙链接暴风手柄,密码默认是4个0.
  3. 暴风vr手柄有两种输入方式,一种是获得转轴的二维坐标,一种是获得转轴上下左右四个方向,(默认是获得四个方向)需要在sdk的配置文件中设置,官方文档里有说明。
  4. 暴风一体机和暴风VRapp共用同一个sdk,不同的地方是,暴风一体机支持双轴手柄,需要在inputMoudle里添加检测双轴手柄的事件。
  5. manifest需要仔细设置。
  6. 暴风还一个蛋疼的地方是他的计费功能。根据官方文档,如果需要测试计费,你必须在暴风设置一个服务器回调地址,而这个回调地址只能在上传应用的地方设置,也就是说,你在测试计费前,需要先上传一个没有接入计费功能的包。。 接入暴风sdk的游戏可以实现同步app登录状态,但是前提是你先要打开暴风app,如果没有打开的话,是不能实现自动登录的。如果需要手动在vr游戏里输入账号密码的话,就很麻烦,必须连接手柄。登录界面,是暴风封装在activity里的界面。。简单粗暴。。而且没有任何提示。
  7. 升级sdk时,最好先把之前的sdk文件手动删掉。不然可能会出现打包失败的情况。

posted on 2017-07-04 13:24  施琅水月  阅读(289)  评论(0编辑  收藏  举报

导航