BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

Oculus正式发布React VR预览版

| 作者 薛命灯 关注 24 他的粉丝 发布于 2016年12月30日. 估计阅读时间: 4 分钟 | QCon上海2018 关注大数据平台技术选型、搭建、系统迁移和优化的经验。

Oculus在10月初的Oculus Connect 3大会上宣布即将为VR Web带来VR React。12月,Oculus在他们的开发网站上公布了React VR预览版的相关细节,并为开发者演示如何基于VR React开发一个简单的VR Web应用。

Oculus推出React VR的目的是为了简化VR Web应用的开发。VR Web应用对帧率的要求越来越高,这意味着开发VR Web应用的复杂性也在增加。React VR希望可以做到让开发者在保持现有开发习惯和使用现有工具的前提下,能够维持Web开发的高速迭代。React VR把内容的渲染和应用的逻辑分开来,这样开发者就可以专注在应用的开发上。为了做到这一点,React VR结合了React和底层的WebVR及WebGL API,构建出一系列工具包,开发者可以通过标签的方式来开发Web VR应用,比如<View>和<Text>等。与此同时,开发者仍然可以使用Flexbox作为布局引擎,并结合React JS开发复杂的应用逻辑。

Oculus放出的预览版已经可以下载,他们希望在正式把React VR作为GitHub开源项目之前可以得到更多用户的反馈,以便确保该项目可以满足用户的关键需求。

React VR预览版的发布包里包含了相关文档,可以通过阅读这些文档直接上手。而且,在没有VR设备和WebVR浏览器的情况下,也能开发VR Web应用。不过在开始之前要求在本地安装了Node.js,因为Node为开发者提供了一些必需的工具,比如编译代码,同时作为本地的开发服务器。

React VR基于React Native框架和React Runtime构建,整个框架可以分为若干层,如下图:

处在最上层是React代码,它们通过WebWorker运行,并与浏览器通过消息传递的方式进行异步通信,渲染主线程因此可以很快地完成渲染工作,从而带来更好的VR体验。在React代码之下,还有几个层,它们一起为UI带来了活力。

  • React Runtime运行在页面上,并把React标签转换成OVRUI和Three.js对象。
  • OVRUI为下层的Three.js提供了几何图形类型,帮助开发者构建VR的UI。
  • Three.js是一个很流行基于WebGL的3D图形库,用于渲染3D几何对象。
  • WebVR和浏览器——以上的层都运行在浏览器之上,浏览器暴露了WebVR和WebGL API,不过开发者不需要直接跟这一层打交道。

React VR项目里还带有一个播放器,通过“react-vr init”脚本可以启动播放器。播放器与底层的WebVR API直接交互,在桌面和移动浏览器或者VR设备上让UI运行得更顺畅。播放器还能与Carmel浏览器一起工作。

React VR团队在GitHub上开放了一个反馈区域,并表示将通过npm发布后续的版本,并根据社区的反馈持续地发布新特性补丁。完整版的代码也将被移到GitHub上,并面向整个社区开放,希望通过社区的力量来让项目茁壮成长!


感谢郭蕾对本文的审校。

给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ@丁晓昀),微信(微信号:InfoQChina)关注我们。

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT