Awesome Open Source
Awesome Open Source


This is a complementary app to James Paterson's NormanVR project that displays norman animations in augmented reality using ARCore and openFrameworks.

Two versions of the app are included in this repo and they both do exactly the same thing: draw norman animations and place them in space. The difference is that the normanARShader version shows how you can work with shaders and ARCore.

Please note this app currently only works with Android phones that support ARCore.

Usage Details

For now, there are three "invisible" buttons you can tap. The bottom third of the screen contains a next and previous button to cycle through animations. The rest of the screen is for the placing button, which anchors an animation to a specific place in space.


  1. Prepare your device for use with ARCore: first you need to install the ARCore service on your device. The best way to do so is to follow these instructions.

  2. Download an experimental version of openFrameworks: To use ARCore we currently have to use the master branch of openFrameworks from the teams GitHub repo.

  3. Download openFrameworks libraries: You'll also need to download a few additional libraries for OF. Simply run the following ./ -p android -n from openFrameworks/scripts/dev/ directory.

  4. Get ofxARCore: Download the openFrameworks ARCore addon. Unzip the folder and move it to the addons folder so your path looks like so: openFrameworks/addons/ofxARCore/.

  5. Download NormanAR: Download this repo, unzip it and place it within the apps folder in openFrameworks. The path to the norman app should be: openFrameworks/apps/normanAR/.

  6. Download Android Studio: The app has been tested with Android Studio 2.

  7. Open NormanAR with Android Studio: Use the "Open an existing Android Studio project" option and open either the normanAR/normanAR project or the normanAR/normanARShader project. Once that's launched, you'll have to set the project path to Android NDK r12b. Download the NDK here. Then set the new NDK path in your "Project Structure" settings. If you're confused about how to do that, read the "Compile the app on Android Studio" section in this getting started guide.

  8. Build the project and deploy to your phone: Have fun

By default, Android Studio will deploy a debug version of the app to your phone. The release version will run much faster, but to deploy that you'll have to build a signed APK for your phone.

If you're generally new to openFrameworks and confused about installation, this getting started guide has some general pointers even though it uses a more stable branch of OF.

Creating custom animations

Each version of the app comes with four animations (each in the form of a json file) stored within the bin/data/animations folder. More animations can be found in the animations/ folder. The more json files you load, the longer it will take for your app to open.

More details for creating your own custom animations to come soon.


This is not an official Google product, but part of a larger collaborative experiment between James Paterson and Google Creative Lab.


  • For general openFrameworks and Android Studio problems checkout this getting started guide.
  • After installing the APK on your phone, make sure the camera permissions for the app are set appropriately. Go to Settings > App info > normanAR > Permissions and make sure the camera permissions is turned on.

Final Thoughts

We encourage open sourcing projects as a way of learning from each other. Please respect our and other creators’ rights, including copyright and trademark rights when present, when sharing these works and creating derivative work. If you want more info on Google's policy, you can find that here.

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
C Plus Plus (363,871
Openframeworks (357
Ar (329
Arcore (157
Related Projects