前言:
2016年被称为VR元年,VR的火热就像当年的andorid刚进入中国市场一样。或许VR在发展上还有很多障碍,但却挡不住我们体验VR虚拟效果时带给我们的惊艳。下面就通过android做一个简单的VR全景图效果。
实现VR全景图效果
首先我们要下载VR库文件。Google官网为我们提供了VR资源的下载:
https://github.com/googlevr/gvr-android-sdk/
实现VR步骤:
0.0 在项目里新建一个资产目录assets,把图片放入资产目录下。
1.0 在清单文件下Application节点中加入android:largeHeap=”true”的属下节点.
2.0 导入VR需要依赖的library库,以导module的方式去导入:Common,Commonwidge,Panowidget
3.0 在Module的build.gradle文件里dependencies,添加:compile ‘com.google.protobuf.nano:protobuf-javanano:3.0.0-alpha-7’
4.0 完成项目XML布局,VrPanoramaView
5.0 由于VR资源数据量大,获取需要时间,故把加载图片放到子线程中进行,主线程来显示图片,可以使用一个异步线程AsyncTask或EventBus技术完成
6.0 因为VR很占用内存,所以当界面进入onPause状态,暂停VR视图显示,进入onResume状态,继续VR视图显示,进入onDestroy状态,杀死VR,关闭异步任务
7.0 设置对VR运行状态的监听,如果VR运行出现错误,可以及时的处理.
8.0 播放VR效果,只需执行异步任务即可.
步骤演示:
1.在项目main下新建一个资产目录:assets,放入VR图片
2.在清单文件下Application节点中加入 android:largeHeap=”true”的属下节点(使用VR的资源很消耗内存,所以我们为了避免OOM(内存溢出)的问题,要把警报权限提高,从192提高到512m)
3.在Module的build.gradle文件里dependencie中加入:compile ‘com.google.protobuf.nano:protobuf-javanano