“AI 技术+人才”如何成为企业增长新引擎?戳此了解>>> 了解详情
写点什么

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

  • 2017-04-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-04-25 19:003326
用户头像

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

关注

评论

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

日系“怎样”系列新版升级,一本书讲透程序运行的方方面面

图灵教育

Python 程序员 C语言 计算机

MyBatis批量插入几千条数据慎用foreach

Java-fenn

Java

Lath(纯前端容器)打造页面间的无缝平滑连接体验

Java-fenn

Java

GoLand 插件推荐

非晓为骁

插件 goland goland插件

工作笔记之 SELECT 语句在 SAP ABAP 中的用法总结(上)

宇宙之一粟

数据库 SAP abap select 9月月更

关于进阶这件事,这位Python大佬有话说

图灵教育

Python 程序员 进阶 计算机

华为云GaussDB——打造金融行业坚实数据底座,共创数字金融新未来

Java-fenn

Java

软件测试 | 测试开发 | 聊聊后端Web开发框架(Python)的简单使用

测吧(北京)科技有限公司

测试

k8s 中 Pod 的深入了解

Java-fenn

Java

图解 Kafka 源码实现机制之客户端缓存架构

Java-fenn

Java

【建议收藏】17个XML布局小技巧

Java-fenn

Java

怎样体面地讲道理?

图灵教育

写作 表达 逻辑

大咖说·实在智能|RPA上云加速电商数字员工时代的到来

大咖说

RPA 全域生参

Wallys/QCN9024/QCN9074/QCN6024 802.11ax 4x4 MU-MIMO 6GHz wifi6E//AR9582 2x 2 900M 802.11an

wallys-wifi6

QCN9074 QCN9024 QCN6024

揭秘 Jetpack Compose 快照系统 | 开发者说·DTalk

Java-fenn

Java

关于进阶这件事,这位 Python 大佬有话说

图灵社区

Python 程序员 进阶 计算机

日系“怎样”系列新版升级,一本书讲透程序运行的方方面面

图灵社区

Python 程序员 C语言 计算机

CAT 认证敏捷团队教练工作坊 (Coaching Agile Teams) | 2023年1月 7 日开课

ShineScrum捷行

敏捷教练 专业教练

小间距LED显示屏更受欢迎

Dylan

LED显示屏 led显示屏厂家

什么是跨域,后端工程师如何处理跨域

C++后台开发

后台开发 后端开发 跨域 C++开发 后端开发工程师

聚焦金融行业未来,博睿数据亮相第五届中国银行CIO峰会

博睿数据

AIOPS 金融 银行 博睿数据 ONE平台

我所知道的webpack5那些不太一样的改变

Java-fenn

Java

深入浅出带你走进Redis!

Java-fenn

Java

Kong重构了其事件通知机制

八苦-瞿昙

Event Gateway API Gateway

智慧楼宇:东京建物引入“ZETA+AI”物联监测方案,实现楼宇预测性维护

ZETA开发者

人工智能 AWS 预测性维护 设备预测性维护 ZETA

Js 异步处理演进,Callback=>Promise=>Observer

掘金安东尼

前端 异步 函数式 9月月更

怎样体面地讲道理?

图灵社区

写作 表达 逻辑

J神出品!让 Compose 从此摆脱 ViewModel

Java-fenn

Java java;

软件测试 | 测试开发 | 该如何测客户端专项测试?

测吧(北京)科技有限公司

测试

Go 语言官方依赖注入工具 Wire 使用指北

Java-fenn

Java

运维智能化的三大关键技术

穿过生命散发芬芳

9月月更 运维智能化

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