ViroReact: AR and VR using React Native
ℹ️ | Active development for Viro is now occurring at the Viro Community fork. We encourage all Viro developers to follow and get the latest updates at ViroCommunity/viro |
---|
Viro React is a platform for developers to rapidly build augmented reality (AR) and virtual reality (VR) experiences. Developers write in React Native, and Viro runs their code natively across all mobile VR (including Google Daydream, Samsung Gear VR, and Google Cardboard for iOS and Android) and AR (iOS ARKit and Android ARCore) platforms. More info here.
This project contains the full source code for Viro React, and various sample Viro projects.
The platform is free to use with no limits on distribution.
To report bugs/issues with Viro platform, please file new issues on this repository.
git clone https://github.com/viromedia/viro.git
.npm install
from the root of this project.npm start
from the root of this project.To rebuild the testbed app from source, please refere to the testbed repo here.
Tried the samples through our Testbed app and now want to try deploying sample code to your device as standalone apps? These quick steps below should get you started:
$ANDROID_HOME
, and added platform-tools
to $PATH
variable. If not,export ANDROID_HOME=/YOUR_PATH_TO/Android/sdk
export PATH=$ANDROID_HOME/platform-tools:$PATH
export PATH=$ANDROID_HOME/tools:$PATH
Build and launch android app by executing the following from the root of the projectreact-native run-android --variant=gvrDebug
ViroSample.xcworkspace
in ios/
directory.ViroSample
and ViroSampleTest
target under General -> Signing
scene: scenes['360 Photo Tour'],
to a scene defined in the scenes
dictionary on line 30.You can also try the latest mainline build containing bleeding edge features and fixes. Please keep in mind that mainline builds may not be as stable as release builds. To do so, simply:
git clone https://github.com/viromedia/viro.git
.npm install
from the root of this project.git clone https://github.com/viromedia/viro.git
.ios/dist
folder.ios/
folder:cd ios
pod install
cd test
npm install
ViroExample
folder:cd test/ios/ViroExample
pod install
ViroExample.xcworkspace
in Xcode. (Make sure you open the .xcworkpace file, and not* the .xcodeproj file!)React
scheme, hit Manage Schemes...
. In the dialog box, add React
scheme.React
, ViroReact
and ViroExample
and ensure they are all either Release or Debug, depending on what you are trying to build.Generic iOS Device
, followed by ViroReact scheme for the same target.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.
libViroReact.a
at ios/dist/lib/libViroReact.a
.ViroExample
scheme on your plugged in iOS device../prepareRelease.sh
.$ cd test/android
$ ./gradlew assembleGvrRelease
test/android/app/build/output/gvr/app-gvr-release.apk
onto your plugged in Android device../prepareRelease.sh
you ran above builds android react bridge and bundles both iOS and Android bridge into a react-viro-*.tgz
file. * for current version from package.json
file.Check out our website.
Look at our documentation.
Join our Slack group here.
A repository containing the entire source code, built using ViroReact and React Native, for Viro Media’s award winning Figment AR App. Available on Google Play and App Store.
A scene with a 360 photo that displays “Hello World”.
360 photo tour example that shows you how to display a 360 photo with clickable hot spots.
This example showcases 3d objects. Orbit around a 3d Heart to see it from different angles!
Learn how to display and play 2d and 360 video with interactive play controls that can play, pause and stop.
Learn how to display and play 2d and 360 video with interactive play controls that can play, pause and stop.
A demonstration on how to do an interactive shopping app for TV’s. Uses flexbox for UI and 3d objects with animations.
A scene with objects, text and animation displayed on ARKit planes detected in the scene.
An ARScene that looks for this image and adds a model of a car with the ability to change its colors.
An ARScene that lets the user place a car on a surface and drive it around the world. See instructions in the project directory to enable the demo.
An ARScene that searches for this vertical marker and renders Black Panther jumping out of the marker.
An ARScene that tracks this business card continously using image tracking.
A complete React Native w/Viro AR Sample App. Demonstrates how to place, drag, and scale objects in the real world while providing 2D UI feedback.