Viro React 是一个供开发人员快速构建增强现实 (AR) 和虚拟现实 (VR) 体验的平台。开发人员使用 React Native 进行编写,Viro 在所有移动 VR(包括 Google Daydream、Samsung Gear VR 以及适用于 iOS 和 Android 的 Google Cardboard)和 AR(iOS ARKit 和 Android ARCore)平台上本地运行他们的代码。更多信息在这里。

该项目包含 Viro React 的完整源代码和各种示例 Viro 项目。

该平台可以免费使用,没有分发限制。

使用 Testbed 应用程序运行示例项目的说明:

  1. 按照我们的快速入门指南中的说明设置依赖项,以便使用 Viro Media App 尝试这些示例项目。
  2. 使用 git: 将 repo 克隆到您的工作区git clone https://github.com/viromedia/viro.git
  3. 进入代码示例目录。
  4. npm install从这个项目的根运行。
  5. npm start从这个项目的根运行。
  6. 打开 Viro Media App,滑出左侧面板并选择“进入测试平台”。
  7. 在终端顶部的文本字段中输入整个 ngrok URL 输出 (xxxxxx.ngrok.io) 并点击“GO”
  8. 您现在应该在应用程序中!享受!

要从源代码重建测试平台应用程序,请参阅此处的测试平台存储库。

将示例代码作为独立项目运行的说明(没有 Testbed 应用程序):

通过我们的 Testbed 应用程序尝试了示例,现在想尝试将示例代码作为独立应用程序部署到您的设备吗?下面的这些快速步骤应该可以帮助您入门:

  1. 按照上面的步骤 1 - 4(使用 Testbed 应用程序的说明)
  2. 对于 Android,请确保您已从此处下载并安装 Android Studio以获取构建 android 应用程序所需的 SDK 和平台工具 确保您已设置所需的环境变量 - $ANDROID_HOME,并将其添加platform-tools$PATH变量中。如果不,
    export ANDROID_HOME=/YOUR_PATH_TO/Android/sdk
    export PATH=$ANDROID_HOME/platform-tools:$PATH
    export PATH=$ANDROID_HOME/tools:$PATH
    

    通过从项目的根目录执行以下命令来构建和启动 android 应用程序

    react-native run-android --variant=gvrDebug
    

  3. 对于iOS,在Xcode中打开ViroSample.xcworkspaceios/目录。在 Hit play下选择正确的“团队”ViroSampleViroSampleTest目标,General -> Signing以在您的 iOS 设备上构建和启动应用程序

在样本之间更改

  1. 在文本编辑器中打开 App.js。
  2. 对于 AR,在第 44 行设置 showARScene=true。
  3. 对于 VR,修改第 61 行:scene: scenes['360 Photo Tour'],scenes第 30 行字典中定义的场景。
  4. 重新加载/重新启动应用程序。

从 Mainline 使用 CI 构建的 Viro React 平台的说明:

您还可以尝试包含前沿功能和修复的最新主线版本。请记住,主线构建可能不如发布构建稳定。为此,只需:

  1. 转到此项目的Viro 操作工作流。
  2. 您应该会看到“Viro Bridge CI Pipeline”工作流列表。
  3. 单击最新成功构建的工作流管道(旁边应该是复选标记)。
  4. 下载最新构建的 ViroReact.tgz artiface。
  5. 使用 git: 将此 repo 克隆到您的工作区git clone https://github.com/viromedia/viro.git
  6. 进入代码示例目录。
  7. npm install从这个项目的根运行。
  8. 删除从 npm 安装中下拉的 ViroReact 框架(您将使用预先构建的框架)。
  9. npm install ../path/to/your/downloadedArtifact.tgz

手动搭建 Viro React 平台的说明:

构建 iOS Viro React:

  1. 按照我们的快速入门指南中的说明设置依赖项。
  2. 使用 git: 将 repo 克隆到您的工作区git clone https://github.com/viromedia/viro.git
  3. 使用Virocore 存储库中概述的构建说明构建我们的 iOS 渲染器。
  4. 验证您是否看到在ios/dist文件夹中创建的新文件。
  5. ios/文件夹中安装 Pod :
    cd ios
    pod install
    

  6. 在 test 文件夹中安装 node_modules:
    cd test
    npm install
    

  7. ViroExample文件夹中安装 pods :
    cd test/ios/ViroExample
    pod install
    

  8. ViroExample.xcworkspace在 Xcode 中打开。(确保您打开 .xcworkpace 文件,而不是* .xcodeproj 文件!)
  9. 选择产品->方案。如果您没有看到React方案,请点击Manage Schemes...。在对话框中,添加React方案。
  10. 对 scheme 进行构建配置(Debug 与 Release)ReactViroReactViroExample确保它们都是 Release 或 Debug,具体取决于您尝试构建的内容。
  11. 就是这样!现在为 构建 React 方案Generic iOS Device,然后为同一目标构建ViroReact 方案。笔记:
    11.a If you want the ability to run on Simulator, change target to any of the `iOS Simulator` targets instead of `Generic iOS Device`.
    11.b If in your own app project setup, you prefer to include Viro React as a static library rather than relying on `use_frameworks!` - build scheme `ViroReact_static_lib` instead of `ViroReact` as mentioned above in step #11.
    

  12. 您应该会libViroReact.aios/dist/lib/libViroReact.a.
  13. 要运行 Viro React 测试,请ViroExample在插入的 iOS 设备上运行方案。

构建 Android Viro React:

  1. 在 viro 目录下,运行./prepareRelease.sh.
  2. 您的 android 桥现在应该是在 release 下构建的。
  3. 您应该会看到在 android/react_viro/react_viro-release.aar 中创建的新文件
  4. 构建 android 发布测试:
    $ cd test/android
    $ ./gradlew assembleGvrRelease
    

  5. 将 app-gvr-release.apk 从test/android/app/build/output/gvr/app-gvr-release.apk插入的 Android 设备上安装。

将构建的 iOS 和 Android 捆绑并使用到单个 npm tar 包中:

  1. ./prepareRelease.sh你在上面跑Android的建立反应的桥梁和捆绑iOS和Android的桥进入一个react-viro-*.tgz文件。* 来自package.json文件的当前版本。

更多信息

查看我们的网站。

查看我们的文档。

在这里加入我们的 Slack 小组。

示例代码

Figment AR(完整的开源应用程序)

包含完整源代码的存储库,使用 ViroReact 和 React Native 构建,用于 Viro Media 屡获殊荣的 Figment AR 应用程序。在Google Play和App Store上可用。

正在上传…重新上传取消​ ​ ​ ​

在GitHub - viromedia/figment-ar: This repository contains the entire source code, built using ViroReact and React Native, for Viro Media's Figment AR App.下载完整源代码

示例代码概述

带有显示“Hello World”的 360 度全景照片的场景。

360 度摄影之旅

360 度全景照片示例,向您展示如何显示带有可点击热点的 360 度全景照片。

人体

此示例展示了 3d 对象。绕着 3d 心脏旋转,从不同的角度看它!

虚拟现实媒体播放器

了解如何使用可以播放、暂停和停止的交互式播放控件来显示和播放 2d 和 360 度视频。

产品展示

了解如何使用可以播放、暂停和停止的交互式播放控件来显示和播放 2d 和 360 度视频。关于如何为电视制作交互式购物应用程序的演示。将 flexbox 用于带有动画的 UI 和 3d 对象。

增强现实样本

在场景中检测到的 ARKit 平面上显示对象、文本和动画的场景。

AR汽车标记演示

一个 ARScene 寻找这个图像并添加一个能够改变其颜色的汽车模型。

AR驾驶汽车演示

一个 ARScene,允许用户将汽车放置在一个表面上并驾驶它环游世界。请参阅项目目录中的说明以启用演示。

AR海报演示

搜索此垂直标记并渲染 Black Panther 跳出标记的 ARScene 。

AR 跟踪名片演示 - 仅限 iOS

使用图像跟踪连续跟踪此名片的 ARScene 。

AR 完整示例应用程序

带有 Viro AR 示例应用程序的完整 React Native。演示如何在现实世界中放置、拖动和缩放对象,同时提供 2D UI 反馈。

转存失败重新上传取消

教程

如何在 5 分钟内构建一个交互式 AR 应用程序

如何在 5 分钟内构建 AR 门户

将类似 Snapchat 的 AR 镜头添加到任何应用程序

Viro React: 使用React Native开发VR、AR程序相关推荐

  1. 日本京都大学 77TB重要数据被删;元宇宙要凉?Meta停止开发 VR/AR系统。 | 一周 IT 资讯...

    惠普公司闯大祸!日本京都大学超算系统77TB重要数据被删:滴滴宣布裁员,幅度达20%:Meta 停止开发 VR/AR 操作系统,独立自主计划受挫:2021年编程语言排行榜出炉,Python稳居榜首:T ...

  2. 用Vuforia(高通)开发VR/AR介绍

    Vuforia开发介绍 引言:Vuforia是与高通公司的合作的产品,致力于虚拟现实的技术,其技术最大的优点是在于Mixed Reality.(VR/AR相结合)我目前认为这是比较好的交互方式(当然依 ...

  3. 只懂JavaScript也可以开发VR/AR内容了!

    虚拟现实产业要成功的话不仅需要足够好又支付得起的硬件条件,还需要足够多的内容让消费者沉浸其中.当越来越多的开发者以常规的速度出现在这个行业里面时,可以确定这其实仍然保持着供不应求的局面.于是,一款以网 ...

  4. 如何将Unity开发的AR程序编译到IPad/iPhone上真机运行

    如何将Unity项目编译成iOS app,并在ipad或者iphone上真机运行呢?大体步骤分为三步: 使用Unity生成 .xcodeproj 文件 使用XCode将AR APP编译到IPad/iP ...

  5. 【转】【React Native开发】

    [React Native开发]React Native控件之ListView组件讲解以及最齐全实例(19)  [React Native开发]React Native控件之Touchable*系列组 ...

  6. windows 下配置 react native 开发环境

    windows 下配置 react native 开发环境 安装nvm 由于react native 需要使用 NodeJs 4.0以上版本,为了方便切换NodeJs,首先我们需要安装nvm. 你可以 ...

  7. React Native开发之必备React基础

    为了帮助大家快速上手React Native开发,在这本节中将向大家介绍开发React Native所需要的一些React必备基础知识. 概述 本节课将从React的特点.如何使用React.JSX语 ...

  8. React Native开发错误警告处理总结(已解决 !持续更新)

    注:本文是我在开发过程中遇到问题解决方法的总结,之后会持续更新,希望帮助到更多的学习者.文中有不妥的地方希望指出共同学习,同时欢迎大神补充.(之后我会放出自己开发整理的笔记和GithubDemo地址, ...

  9. Windows环境下安装React Native开发环境----记一次填坑过程

    前言 集成React Native开发环境遇到各个坑,调试了很久出现过找不到设备,百度上个别人的资料有误被绕来绕去耽误了很多时间,下载慢等待时间过长等问题,最后多方查阅资料,电脑重启等操作终于部署好了 ...

最新文章

  1. python可以做什么系统-python能做哪方面的工作
  2. 【机器学习】集成学习知识点总结一
  3. idea中lombok的使用
  4. DELPHI之备忘(二)
  5. Web开发者的最佳开发调试环境Chrome
  6. 四元数乘法_复数的意义——四元数
  7. 网站服务器日志分析,如何进行网站日志分析(理论篇)
  8. 物理安全是指保护计算机,计算机网络 物理安全
  9. java geoprocessor_ArcGIS GeoEvent Processor for Server 安裝與配置 (僅適用於壓縮安裝包)...
  10. Django 分页查询并返回jsons数据,中文乱码解决方法
  11. qt 工具栏分隔符_带有分隔线和上下文工具栏的RecyclerView Android
  12. linux关闭端口进程命令,windows Linux 下命令行查看端口占用情况并且关闭进程
  13. Swagger注解 详解
  14. php手机网页唤醒支付宝APP支付,支付宝H5唤醒APP
  15. js 获取移动端设备类型及系统版本号
  16. keep怎么弄轨迹动画_keep怎么录视频?教学视频录像和轨迹动画视频录制方法介绍...
  17. SafeIterableMap
  18. 软件工程课程周学习进度报告——第三周
  19. 实验二 同步时序方式设计_秒表
  20. C语言入门 - 什么是递归?

热门文章

  1. TOA定位算法的关系与泰勒级数法的原理
  2. IGMP/MLD协议详解
  3. 成熟锂离子电池管理系统BSM方案,包括pcb,原理图
  4. 安装MPlayer播放器(号称Linux中的万能播放器)
  5. Scanner的简介
  6. 试读《揭秘家用路由器0day漏洞挖掘技术》
  7. 基于matlab的摄像头,基于Matlab的单目摄像头标定
  8. 阿里云官网全新版本抢先看
  9. html网页制作期末大作业成品:健身网站 bootstarp 响应式 4页 带汉堡菜单
  10. linux下精简安卓rom,ROM助手精简版