写点什么

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

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

关注

评论

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

何时使用Kafka而不是RabbitMQ

越长大越悲伤

Kafk Rabbit MQ 消息列队

唯一入选中国厂商!灵雀云获Gartner® 首份《DevOps平台魔力象限报告》“荣誉提及”

York

容器 DevOps 云原生 Gartner 平台工程

Scrum看板工具在项目管理中的作用

顿顿顿

敏捷工具 scrum工具 scrum敏捷工具

STC89C52+DHT20设计的环境温湿度检测仪

DS小龙哥

6 月 优质更文活动

接口测试|Fiddler抓包设置及证书配置

霍格沃兹测试开发学社

什么是区块链?

TiAmo

区块链 去中心化 6 月 优质更文活动

直播程序源码技术分享主播邀请上麦功能

山东布谷科技

软件开发 程序 源码搭建 直播源码

StarRocks & Friends 上海站活动回顾(含 PPT 下载链接)

StarRocks

数据库 OLAP MPP 大数据 开源

小程序容器技术在移动警务中的业务价值

FinFish

小程序容器 移动警务 警务app

最佳实践|亚马逊可持续发展的架构模型

亚马逊云科技 (Amazon Web Services)

JavaScript

李彦宏:AI原生应用比大模型数量更重要

飞桨PaddlePaddle

人工智能 百度 paddle 大模型

如何通过场景规划帮助企业实现全面预算管理?

智达方通

智达方通 全面预算管理 财务规划和分析 财务规划与预测 全面预算管理系统

零基础自学:2023年的今天,请谨慎进入网络安全行业

网络安全学海

黑客 网络安全 信息安全 计算机 渗透测试

接口测试|Fiddler弱网测试

霍格沃兹测试开发学社

【领域驱动设计专题】一文带领你透视DDD领域驱动模型的本质和设计原理分析指南(通用语言体系)

码界西柚

领域驱动设计 DDD 领域驱动设计思想 领域驱动模型

华为开发者大会—开发者的一站式代码检查利器:华为云代码检查CodeArts Check

云计算 华为云 华为开发者大会2023

Selenium 中并行测试的重要性

FunTester

复旦大学智能计算平台与世界科学智能大赛启动仪式

新云力量

智能 计算 复旦大学

es笔记一之es安装与介绍

Hunter熊

elasticsearch Kibana 安装Kibana

搜索语义模型的大规模量化实践

百度Geek说

paddle NLP 大模型 企业号 6 月 PK 榜 6 月 优质更文活动 INT8

Flutter性能优化的一些路径思考

Onegun

flutter 移动开发

IoT场景时序数据库性能对比报告出炉,TDengine 远超 InfluxDB & Timescal

电子信息发烧客

2024深圳电子展,中国国际电子信息博览会(CITE电博会)

AIOTE智博会

电子展

解决QT QGraphicsView提升到QChartView报错的问题

芯动大师

强化学习从基础到进阶-案例与实践[6]:演员-评论员算法(advantage actor-critic,A2C),异步A2C、与生成对抗网络的联系等详解

汀丶人工智能

人工智能 深度学习 强化学习 6 月 优质更文活动 A3C算法

强化学习从基础到进阶-常见问题和面试必知必答[6]:演员-评论员算法(advantage actor-critic,A2C),异步A2C、与生成对抗网络的联系等详解

汀丶人工智能

人工智能 深度学习 强化学习 6 月 优质更文活动

接口测试|Fiddler设置手机抓包

霍格沃兹测试开发学社

浅析 Jetty 中的线程优化思路

vivo互联网技术

jetty EatWhatYouKill 线程策略

一图看懂华为云CodeArts Board5大特性,带你玩转看板服务

云计算 数据可视化 华为云 企业研发管理 数据看板

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