React Native 增强现实 (AR)
Posted
技术标签:
【中文标题】React Native 增强现实 (AR)【英文标题】:React Native Augmented Reality (AR) 【发布时间】:2017-04-30 22:59:54 【问题描述】:我目前正在为客户调查几个涉及增强现实的 ios/android 移动应用:
-
能够预览他们家中的一件家具会是什么样子
数字化更衣室 - 预览自己穿的衣服会是什么样子
我们主要使用 React Native 来构建移动应用程序(其中一个项目是将功能构建到现有的 React Native 应用程序中)。
谁能分享他们使用 React Native 和 AR 的经验?分享任何可能有助于入门的框架/组件的链接?或者只是围绕从哪里开始进行一些讨论?
【问题讨论】:
你找到什么了吗? 【参考方案1】:看起来 React AR 尚未实现。但是已经有一些应用在 React 之上实现了某些库。
一个例子here。
一些用于 AR 的 JS 库包括 JSAruco 和 JSARToolKit。 JSAruco 基于 OpenCV,JSARToolkit 是 ARToolkit 的一个端口,通过中间端口 NyARToolkit (Java) 和 FLARToolkit (Actionscript)。一些examples。
React VR 即将推出。 Facebook 宣布了 React VR 的 alpha 版本,它建立在 React Native 之上,推文here。
-
框架的github page
React VR 的示例项目和文档here
编辑
Ar.js 是一个新的开源 js 工具包(基于three.js
+ jsartoolkit5
),看起来很有前途
更新
Apple 在适用于 iPhone 和 iPad 的 iOS 11 中引入了 ARKit,Here 是针对相同的 react 本机绑定。查找精选的 ARKit 项目和资源列表here。 5分钟example app
资源
react-native-live-translator - React Native 中的增强现实实验
arcore-android-sdk - 适用于 Android 的 Google ARCore SDK
three.ar.js - 一个 helper three.js 库,用于从 Google 构建 AR 网络体验
ARKit-Sampler - ARKit 的代码示例。
React-AR - React 增强现实(正在进行中)
Expo AR - 仅限 IOS
【讨论】:
不幸的是,ar.js 需要 WebRTC,而这在 iOS 或 MacOS 上的 Safari 上不受支持。 :( React VR 不是在 React Native 的之上构建的。它是从 RN 派生的,使用相同的构建系统,但除此之外,它们是独立的。可以把它想象成:从 RN 中获取 React 核心 + 工具集,并在其之上添加一个基于 three.js 的渲染(实际上是 WebVR)。【参考方案2】:另一种选择(无耻插件)是我公司的平台,Viro AR:https://viromedia.com/viroar/
它是一个 React-Native 库,将适用于 iOS 的 ARKit(即将推出适用于 Android 的 ARCore)与我们自己的专有原生渲染器结合起来,并将其封装在一个易于使用的 React-Native API 中,以便您可以开始构建您的 AR 体验马上!
我们甚至通过构建一个 AR 应用程序 Figment AR 对我们自己的产品进行了测试,该应用程序现已在 Apple App Store 上提供:https://itunes.apple.com/app/id1270018902
我们使用 React Native 构建它的 2D UI(按钮、列表视图、预览屏幕)和 Viro 用于相机显示、3D 渲染和世界跟踪。
检查我们!
文档:http://docs.viromedia.com/ 示例代码:https://github.com/viromedia/viro 问题/支持:https://github.com/viromedia/viro/issues & https://viromedia.com/contact-1/【讨论】:
嗨@A.Wali,目前不是,但我们正在评估它。如果您需要帮助或有任何疑问,请随时通过上面的问题/支持链接与我们联系! 嗨@ACVM:我的设备是否需要与 ARCore 兼容才能使您的库正常工作?因为,当我下载 Viromedia 应用程序时,AR 功能向我抛出错误,指出我没有最新的 ARCore。那么是否只能针对支持 ARCore 的特定设备或所有安卓设备? 我现在也将它用于 AR 并且我保证这个平台,slack 也提供了很好的支持。 @robertjuh:它适用于所有安卓设备还是 ARCore 支持的设备? 嗨@Abhinav,我们目前只支持 ARCore 和 ARKit 支持的设备。您可以在此处找到支持的 ARCore 设备列表:developers.google.com/ar/discover/#supported_devices【参考方案3】:我正在为 Apple 新发布的 AR 库 ARKit 构建一个 React Native 库。这应该是一个好的开始,因为 ARKit 很好地打包了 CV 算法,因此您可以专注于您想要实现的内容。
欢迎您查看我的 GitHub 存储库 (react-native-arkit
)。
【讨论】:
以上是关于React Native 增强现实 (AR)的主要内容,如果未能解决你的问题,请参考以下文章
android studio | openGL es 3.0增强现实(AR)开发 GLSurfaceView浅解