VR安卓开发学习笔记(一)
2017-03-22 本文已影响1335人
暗尘随码去
初识VR
虚拟现实(Virtual Reality)技术是一种可以创建和体验虚拟世界的计算机仿真系统,它利用计算机生成一种模拟环境,是一种多源信息融合的、交互式的三维动态视景和实体行为的系统仿真, 使用户沉浸到该环境中。
2016年是VR的元年,它变得离我们不再陌生,VR移动端的兴起也让我们对VR有了更进一步的认识,几十到几百价格不等的VR眼镜,随处都可搜索到的VR视频资源,购物娱乐中心的体验店。VR不再那么触不可及。
很早之前因为好奇也买了一个49元的小米VR眼镜,但由于设备的质量不行玩了几天就再也没碰过了,最近因为公司项目需求,又入手了一副暴风魔镜s1并开始了进一步的研究开发,在此记录下学习过程和心得。
vr眼睛.png首先说下了解到的VR知识
- VR头盔和VR眼镜的区别
- 共同点:实际上二者都是通过把一个完整的图像,分成左右眼分视效果,按照远近引起的立体视差,从而引起立体效果。
- 硬件、价格差别:VR眼镜的组成,主要是依靠镜片为技术核心,借助手机这一外部设备,让用户的眼睛处在一个黑色的封闭空间里即可进行视觉体验。而VR头盔硬件构成VR头盔,则是独立出来不需要手机这个外设的工具,其中组成配件就有许多,例如传感器,蓝牙,无线信号等硬件。当然,由于前者由于硬件构成简单(一般只需一个外壳和、头带及两块凸透镜组成),因此VR头盔(一般在千元以上)在价格上一般远远高于VR眼镜(便宜的不到10元)。
- 可视范围不同:就VR眼镜而言,看视频时画面的大小是随着手机尺寸而决定的,另外反馈出来的视觉效果就是上下有黑色边框,让体验大打折扣。而对比VR头盔,戴上头盔在眼睛可视范围内是无死角的,视场角宽度根据不同厂商生产的头盔产品从86-120°之间。
- 清晰度:清晰度方面没什么特殊的可比性,目前手机最大的分辨率是1920x1080,而截至目前能所了解到的顶级头盔分辨率已经达到了单眼1200x1080 的水平。所以算上双眼平均下的话好像还是高挺多的。但单从实际效果来看,头盔是有明显颗粒感,而手机是没有的。
- 眩晕感 :由于陀螺仪好坏直接影响用户观看影片的眩晕效果,如果使用较差的陀螺仪会让用户有呕吐的感觉,VR头盔相对比较好。
移动端开发
魔镜VR开发者平台和谷歌VR开发平台的对比
- SDK下载链接魔镜SDK
- 里面包含demo,jar包和文档说明。
- 相关资料较少,而且写出来的程序必须上传到魔镜平台供用户使用,所以感觉使用起来不太方便。
- 谷歌SDK下载谷歌SDK
- demo中有VR视频,VR全景图和小游戏的sample。
- 文档详细,使用简单。
VR眼镜更多的还是展示全景图片和360视频,那么图片和视频有什么要求怎么制作呢?
资源格式.png 资源制作.png谷歌VR SDK的简单学习(播放VR视频 展示图片同理参照demo)
- sdk导入
compile 'com.google.vr:sdk-videowidget:1.30.0'
- 添加权限
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
- xml核心代码
<com.google.vr.sdk.widgets.video.VrVideoView
android:id="@+id/video_view"
android:layout_width="match_parent"
android:layout_height="250dp"/>
- java 播放核心代码(视频文件需放在新建的assets文件夹下)
videoWidgetView.loadVideoFromAsset("congo.mp4", options);
播放视频效果图.png