GMTC北京站优惠购票最后一周!13个热点专题,50+大厂案例,这里一览 了解详情
写点什么

Oculus 正式发布 React VR 预览版

  • 2016 年 12 月 29 日
  • 本文字数:1168 字

    阅读完需:约 4 分钟

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 应用,比如等。与此同时,开发者仍然可以使用 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 )关注我们。

2016 年 12 月 29 日 18:003353
用户头像

发布了 321 篇内容, 共 121.1 次阅读, 收获喜欢 127 次。

关注

评论

发布
暂无评论
发现更多内容

架构师课作业 - 第十二周

Tulane

架构师训练营-week13-作业

晓-Michelle

极客大学架构师训练营

Spring 5 中文解析测试篇-集成测试之概要和注解

青年IT男

单元测试 Spring5

正在走进现实的“飞行汽车”,能否颠覆地面交通?

脑极体

喷一喷坑爹的面向UI编程

架构师修行之路

week13 作业

Geek_2e7dd7

面试不会微服务没关系,跟着我4天学会微服务!

小Q

Java spring 架构 分布式 微服务

用 Python 实现一个简易版的 Pong 游戏 (二)

Matrix Chan

Python Python Turtle Python 游戏编程

万字长文 | 23 个问题 TCP 疑难杂症全解析

yes

TCP 计算机网络

第三周作业

Vincent

极客大学

第三周学习总结

Vincent

极客大学

嘿,我想要寄一封挂号信,收件时间是 6 年后,标题是: 让 6 年后的我,加倍奉还。

叶小鍵

学习 成功学 心理学 李笑来

深入Spring Security魔幻山谷-获取认证机制核心原理讲解

朱季谦

spring security

week 13 学习总结

Geek_2e7dd7

你认为高级程序员应该具备那些技术技能树呢?

雨夜的博客

技术技能树 技术书籍

19.解决 Flink 升级1.11 报错 No ExecutorFactory found to execute the application

小知识点

scala 大数据 flink

甲方日常 9

句子

Java 运维 工作 随笔杂谈 日常

抽象可能从未停止过

架构师修行之路

系统设计 抽象 抽象思维

使用amoeba实现mysql读写分离

小Q

Java MySQL 编程 程序员

太赞了!华为工程师终于总结出了Linux归纳笔记,提供开放下载

小Q

深入浅出java虚拟机

AI乔治

Java 架构 性能优化 JVM JVM原理

JavaScript七大语言类型你知多少?

Walker

Java 大前端 编程语言

面试官:TCP/IP 协议到底在讲什么?想彻底搞懂TCP协议:还得从 TCP 三次握手四次挥手说起

编程 程序员 互联网 面试 计算机网络

敏捷教练的软技能

研发管理Jojo

软技能 敏捷教练 引导者

鼓舞人心!主席支持数字经济!央行数字货币研究所为世界制定区块链相关国际标准

CECBC

区块链 金融

产业互联网成区块链与数字货币的分水岭

CECBC

区块链 数字货币 产业互联网

深兰科技的征途,AI的赛场与战场

脑极体

CPU中的程序是怎么运行起来的

良知犹存

cpu

就靠这几段代码,带你玩转rpc通信协议,不信你学不明白

小Q

Java 架构 面试 RPC 网络

读《阿里工程师的自我修养》的读后感

雨夜的博客

程序员 自我管理 自我思考

USDT承兑商币支付系统搭建,USDT跑分承兑商app

金融行业数据库架构实践与运维

金融行业数据库架构实践与运维

Oculus正式发布React VR预览版_语言 & 开发_薛命灯_InfoQ精选文章