写点什么

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:004025
用户头像

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

关注

评论

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

企业号 5月 PK 榜,火热开启!

InfoQ写作社区官方

热门活动 企业号2024年5月PK榜

通义灵码入职阿里云后,同事们的工作发生了哪些改变?

阿里巴巴云原生

阿里云 云原生 通义灵码

利用淘宝商品详情数据接口创新品牌推广方案

tbapi

淘宝商品详情数据接口

产品需求文档怎么写?超详细的PRD模板来了!

彭宏豪95

项目管理 产品经理 在线白板 产品需求文档 效率软件

破茧成蝶,展翅翱翔——行云乔迁,再启新程!

行云管家

行云管家 行云 乔迁

观测云 VS ELK:谁是日志监控的王者?

观测云

ELK 日志分析

谷歌确认:链接并不那么重要

九凌网络

使用 jps 命令查看Java进程

带双筷子🥢去旅行

Java虚拟机

鸿蒙HarmonyOS实战-ArkUI组件(Navigation)

蜀道山

鸿蒙 HarmonyOS 组件 鸿蒙系统 鸿蒙 Ability

有了这么多套件,为什么还需要APaaS

明道云

我们团队来了一位新同事,主动要求帮忙敲代码!欢迎 AI 001号

阿里云云效

阿里云 云原生 通义灵码

使用 jstat 命令查看内存使用,监控 Java 应用性能

带双筷子🥢去旅行

Java虚拟机 #java

深入剖析 Java 类属性与类方法的应用

伤感汤姆布利柏

ETL工具怎么实现多流SQL实时运算?

谷云科技RestCloud

sql ETL 数据集成

京东JD商品详情API返回值揭秘:精准掌握商品信息

技术冰糖葫芦

API 编排 API boy API 策略 pinduoduo API

部署 LangServe 应用到 AWS

Jade@pluto-lang

AI AWS 教程 langchain Pluto

通义灵码入职阿里云后,同事们的工作发生了哪些改变?

阿里云云效

阿里云 云原生 通义灵码

我们团队来了一位新同事,主动要求帮忙敲代码!欢迎 AI 001号

阿里巴巴云原生

阿里云 云原生 通义灵码

Richard 林旅强:说说社区的故事和对 RTE 社区的畅想

RTE开发者社区

开源之夏 Apache StreamPipes 提交 IoTDB 集成项目,速来报名!

Apache IoTDB

一招MAX降低10倍,现在它是我的了| 京东到家门店系统OHC本地缓存优化实战

京东零售技术

后端 本地缓存 企业号 5 月 PK 榜

阿里巴巴中国站关键字搜索API返回值全攻略:精准定位所需商品

技术冰糖葫芦

API 编排 API boy API】 pinduoduo API

一款自研的热门AI产品-帝阅DeepRead

Baird

AI 产品开发 大模型

RAG 修炼手册|揭秘 RAG 时代的新向量数据库

Zilliz

Zilliz 向量数据库 rag

基于云制造的智能工厂简单介绍

inBuilder低代码平台

人工智能 智能工厂

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