写点什么

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

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

关注

评论

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

架构实战营:毕业项目《电商秒杀系统》

刘璐

一个三线程序员的2020年,CSDN 10 万粉里程碑达成

爱好编程进阶

Java 程序员 后端开发

一起学Java——html

爱好编程进阶

Java 程序员 后端开发

亦直问JVM?凡不凡啊?记住这篇就不怕

爱好编程进阶

Java 程序员 后端开发

刚出炉热腾腾的定时任务可视化管理系统

爱好编程进阶

Java 程序员 后端开发

首届波卡黑客松项目「Manta Network」的进击之路

One Block Community

区块链 隐私安全 黑客马拉松 波卡生态

C语言_链表总结

DS小龙哥

5月月更

Laxcus分布式操作系统三代UI演进之路

LAXCUS分布式操作系统

分布式计算 操作系统 分布式存储 并行计算 GUI设计

使用cobbler 安装工具批量安装服务器

爱好编程进阶

Java 程序员 后端开发

MP4封装格式

Loken

音视频 5月月更

你真的知道Java同步锁何时释放?

爱好编程进阶

Java 程序员 后端开发

是能力更是文化,谈谈IT系统的安全发布

Samson

技术管理 SRE 系统稳定性 安全生产 5月月更

14岁懂社会- 《歧视也没什么错》读书笔记 - 丁点思考的车轱辘书

懒时小窝

读书笔记 14岁懂社会

利用Java反射实现两个具有相同属性bean赋值

爱好编程进阶

程序员 后端开发

到了2020年,技术水平到底需要达到怎样的程度才能成为顶级的阿里P8架构师

爱好编程进阶

Java 程序员 后端开发

困扰程序员的7个噩梦,只要遇上一个,都是崩溃的瞬间

爱好编程进阶

Java 程序员 后端开发

C++最佳实践 | 2. 代码风格

俞凡

c++ 最佳实践

架构实战营 - 第 6 期 模块五课后作业

乐邦

「架构实战营」

前端【js】学习JavaScrip心得

恒山其若陋兮

5月月更

如何保证 Redis 高可用和高并发(主从+哨兵+集群)

Ayue、

redis sentinel Redis 核心技术与实战

去中心化云存储技术 | CESS 的多层网络架构详解

One Block Community

区块链 去中心化存储 CESS 波卡生态

LockSupport与Condition

急需上岸的小谢

5月月更

全链路压测(十二):生产压测必不可少的环节

老张

性能测试 全链路压测 稳定性保障

《原则》读书笔记 - 又臭又长

懒时小窝

读书笔记

一个${}引发的惨案

爱好编程进阶

Java 程序员 后端开发

全栈开发之后端脚手架:SpringBoot集成MybatisPlus代码生成,分页

爱好编程进阶

Java 程序员 后端开发

关于扑克牌的一些讨论——《Fluent Python 2》读书笔记

codists

Python

全靠这份阿里大厂Java面试真题手册,让我成功拿下12家大厂offer

爱好编程进阶

Java 程序员 后端开发

在职场,光有技术是不行的,18年老程序员职场宝贵经验分享

爱好编程进阶

Java 程序员 后端开发

AI简报-图像质量评价指标-LPIPS

AIWeker

人工智能 深度学习 5月月更

SpringBoot之:SpringBoot中使用HATEOAS

程序那些事

Java Spring Boot 程序那些事 5月月更

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