“云无界、端无边” OGeek 技术峰会 9月17日 南京不见不散! 了解详情
写点什么

Facebook 发布 React VR,使用 React 进行虚拟现实开发

  • 2017 年 4 月 25 日
  • 本文字数:1016 字

    阅读完需:约 3 分钟

早在 2014 年 Facebook 就布局虚拟现实(VR)技术,并以 20 亿美元收购了沉浸式虚拟现实技术厂商 Oculus。近日 Facebook 又在虚拟现实领域有了新动向,基于其核心的开源前端框架 React 发布了一个虚拟现实网页应用的开发框架 React VR ,进一步践行了其一次学习,到处适用(Learn once, write anywhere)的口号。

过去的 2016 年被誉为虚拟现实的元年,国内外的诸多厂商,如 Oculus HTC 暴风等公司都发布了各自的虚拟现实产品,但是经过上半年的急速发展,下半年却进入了该行业的资本寒冬,而任天堂发布的增强现实(AR)手游Pockemon Go 的大获成功,又纷纷把大家关注的目光拉向了与真实世界交互性更强的增强现实技术。Facebook 在这个虚拟现实寒潮来临之际推出React VR,无疑是想通过简化VR 开发层面的技术难点,来带动虚拟现实的后续发展。

在网页端开发虚拟现实应用的一大挑战,就是其页面的刷新率,如果帧数低于60 帧每秒,就无法给用户带来足够好的用户体验,在Oculus Rift 上,这一指标更是建议达到90 帧每秒。要在单线程的JS 运行环境中达到这点,对性能的要求就比较苛刻。React VR 借鉴了React Native 中将运行和渲染进行分离的架构。它会在web worker 中运行React 的代码,再通过异步桥接将图像渲染到界面上,这样就可以更快地捕捉到用户动作并反馈到图像上,从而减少用户的眩晕感。在React VR 中还引用了诸多React Native 的概念,甚至可以说React VR 本身就是建立在React Native 上的一种平台。它沿用了React Native 的打包功能,以及诸多组件,如View、Text 等。这为有React Native 经验的开发人员减少了不少学习成本。

React VR 的内部是通过包装流行的 JS 3D 引擎 Three.js 来实现的。Three.js 内部通过 WebGL 来将应用展现到页面上,因此可以在支持 WebGL 的浏览器上浏览 React VR 的应用。而在虚拟现实设备上,其使用的是 WebVR 的 API。鉴于目前该规范还在开发中,目前仅支持 Oculus Rift 和三星 GearVR 等设备。

值得注意的是,目前已经存在一些虚拟现实网页应用的开发框架。Mozilla 的开源项目 A-Frame 就是一个相对成熟的例子。React VR 在与 React 的无缝集成上占有优势,这为具备 React 基础的开发人员减少了一定的学习成本,但是最终是否能够后来者居上还需要拭目以待。


感谢刘振涛对本文的审校。

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

2017 年 4 月 25 日 19:003107
用户头像

发布了 41 篇内容, 共 11.7 次阅读, 收获喜欢 1 次。

关注

评论

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

Qunar 酒店 NodeJS 覆盖率收集实践

Qunar技术沙龙

大前端 nodejs Node JavaScrip

「古老」茶产业碰上「年轻」区块链,能否擦出新火花?

CECBC

Apache APISIX 在 Airwallex 的应用 | 专访 Airwallex 技术平台负责人李杨

Apache APISIX 中国社区

Apache 开源 案例分享 api 网关 APISIX

凭借一份“面试真经pdf”,我四面字节跳动,拿下1-2级offer

Java 程序员 面试 后端 计算机

进化十多年,四足机器人的网红属性有改变吗?

脑极体

字节大牛的1850页Leetcode刷题笔记外泄!用实力折服众人

Java 程序员 字节跳动 面试 算法

厉害!GitHub星标70K阿里大佬手写的Spring Boot实战手册真不错

Java 编程 程序员 架构 计算机

Fil火爆的原因是什么?fil未来价格会多少钱一枚?

分布式存储 IPFS fil fil价格 fil行情

备战金九银十,史上最全498道面试题以及答案整理分享

程序员改bug

程序员 面试 编程语言

替换及重置Homebrew默认源以及M1安装

一个大红包

8月日更

Go 让 Apache APISIX 如虎添翼

Apache APISIX 中国社区

Apache 开源 插件 APISIX Go 语言

腾讯、阿里纷纷看好的NFT,能否成为拯救区块链的良药?

CECBC

如何利用 SEI 实现音画同步?

ZEGO即构

音视频 音画同步 数据流录制 flv

浅谈云上攻防——Kubelet访问控制机制与提权方法研究

腾讯安全云鼎实验室

k8s 云安全

markdown不支持代码块和表格,离开这里了

DBKernel

坚持“一城市一矿山” 拾起卖争当循环产业领跑者

InfoQ 天津

【六顶思考帽】学习心得

LeifChen

8月日更 六顶思考帽 创新思维

千字真言,字字珠玑,我的Golang学习笔记,赤诚分享

奔着腾讯去

Go 语言

牛掰!“基础-中级-高级”Java程序员面试集结,看完献出我的膝盖

Java 编程 面试 IT 计算机

排查指南 | 两个案例学会从埋点排查 iOS 离线包

蚂蚁集团移动开发平台 mPaaS

mPaaS

DevOps 调查第十年,如何借助工具实现落地?

SoFlu软件机器人

DevOps 基础软件 自动化平台

前端基础五之jQuery基础

ベ布小禅

8月日更

Activiti数据库表结构

金陵老街

狂刷《Java权威面试指南(阿里版)》,冲击“金九银十”有望了

Java 程序员 架构 面试 大厂

字节架构师离职后,熬夜整理55W字Java面试手册,逆风翻盘进阿里

Java 编程 程序员 架构 面试

在华为P50 Pro中,听到AI异构通信的朱弦三叹

脑极体

腾讯「小借条」引发的思考:区块链+的商业模式让各企业争先恐后的奥秘

CECBC

租房市场是流动的么?

escray

生活记录 8月日更 搜房记 租房

赋能数据中心绿色低碳 浪潮云洲有实招

浪潮云

云计算

DevOps如何攻克研发流程六大痛点?

BoCloud博云

netty系列之:netty中的懒人编码解码器

程序那些事

Java Netty nio 程序那些事

首届腾讯云大数据峰会暨Techo TVP开发者峰会

首届腾讯云大数据峰会暨Techo TVP开发者峰会

Facebook发布React VR,使用React进行虚拟现实开发_Facebook_周元昊_InfoQ精选文章