WebVR系统

  谈到WebVR,顾名思义以Web为基础的VR,虚拟现实VR体验的内容不仅可以运行在客户端、移动端应用程序上,也可以运行 在网页上。一个虚拟现实三维场景运行在浏览器上的最大好处就是传播性更强,不需要安装软件,过去为了实现Web 3D可能需要各种插件,用户体验 不好,随着多数浏览器对WebGL API标准的支持,在浏览器上创建无插件3D场景不在成为障碍,大家可以通过一个超链接给朋友分享自己看到的 优质VR作品,真正实现VR作品的无障碍传播,就像现在的电影、歌曲一样。

WebVR API标准

  WebVR API是浏览器支持,可以被Javascript脚本语言控制的API,也可以称之为Javascript API。单击上面的标题可以查看相关的WebVR API 的使用说明。通过WebVR API可以获取运行平台的一些相关参数反馈给浏览器,进而可以用来控制场景。比如VRPose接口的WebVR API代表虚拟传感器的状 态(方向、位置、速度和加速度等信息)。这个接口是通过访问VRDisplay.getPose()VRDisplay.getImmediatePose()方法

内容创作(WebGL)

  随着浏览器对WebGL API和着色器语言GLSL ES的支持,在网页上实现3D场景没有在开发插件,这也是Web 3D技术发展的一个新高度,从Javascript API标准的高度 高度去支撑技术的实现。WebVR场景和普通的WebGL场景相比对WebGL的要求并没有什么技术上的特殊要求,只要你能够开发WebGL作品,就能够开发WebVR作品。区别就两方面,以手机作为VR播放设备为例, 一方面是WebVR的场景要分两个区显示,其实这个简单,也就是同一个WebGL 3D场景使用左右两个渲染窗口状态同步即可,你随便打开一个VR app作品查看便知,另一方面要根据VR设备的状态反馈的参数 数值来控制VR场景,比如你戴着VR眼睛转动头部,通过WebVR API返回的角度信息,WebGl场景会调整角度,实现原理和鼠标键盘控制三维模型的状态没有本质区别,你可以把手机的反馈位置、角度、加速度 等运动参数的陀螺仪当做图形系统的输入设备。
  创建WebVR场景可以使用WebGL原生代码,也可以使用封装的WebGL引擎,比如使用最为广泛的three.js三维引擎,其他的比如BabylonJS、scenejs等引擎。

体验设备(VR眼镜)

  VR眼镜有很多支持方案,其中最便宜的就是只有两个镜片的VR眼镜,没有GPU、CPU、内存和显示器,这时候一般把手机作为播放媒介,VR资源可以使用针对移动端浏览器的场景。 成本价格很低,甚至你可以自己动手做一个VR眼镜。
  创建WebVR场景可以使用WebGL原生代码,也可以使用封装的WebGL引擎,比如使用最为广泛的three.js三维引擎,其他的比如BabylonJS、scenejs等引擎。

WebVR API浏览器支持状况

  绿色 表示该版本浏览器支持WebGL2.0,红色表示该版本浏览器不支持WebGl2.0标准,数字代表该浏览器的版本号。
WebVR API浏览器支持状况   WebVR API标准的草案已经制定完成,多数浏览器还没有正式支持。不过最新版的谷歌浏览器支持WebVR API,有兴趣的读者可以自行测试。