I am focusing hard on making AR for the web a reality. This repository is where i publish the code. Contact me anytime @jerome_etienne. Stuff are still moving fast, We reached a good status tho. So i wanted to publish thus people can try it and have fun with it :)
- Very Fast : it runs efficiently even on phones. 60 fps on my 2 year-old phone!
- Very Webby : It is a pure web solution, so no installation required. Full javascript based on three.js + jsartoolkit5
- Free and Open : It is completly open source and free of charge!
- Pure Standards : It works on any phone with webgl and webrtc
It is done in 2 easy steps :)
- Direct your android browser to this url.
- Point your phone at a hiro marker.
You are done! It will open a webpage which read the phone webcam, localize an hiro marker and add 3d on top of it. Here is an example of hiro marker. You can print the marker too or you can just display it on your desktop screen, like below.
- At the three.js level is the main one. It is working well and efficiently
- a-frame component - it export
<a-marker>
tag. It becomes real easy to use. It allows the things three.js extension does. Here are some slides aframe-artoolkit - webvr-polyfill: it is kind of working - still a work-in-progress
Three.js Examples:
- cameratransform : three.js example for cameratransform (source)
- markerroot : three.js example for markerroot (source)
- mobile-performance : three.js example for mobile-performance (source)
a-frame Examples:
- basic : a-frame example for basic (source)
- demo : a-frame example for demo (source)
- hatsune : a-frame example for hatsune (source)
- minecraft : a-frame example for minecraft (source)
- marker-camera : a-frame example for marker-camera (source)
- multiple-independant-markers : a-frame example for multiple-independant-markers (source)
- noinstall : a-frame example for noinstall (source)
WebVR-polyfill Examples:
/three.js
is the extension to use it with pure three.js/aframe
is the extension to use it with a-frame/webvr-polyfill
is the WebVR polyfill so you can reuse your #AR / #VR content easily
It is all open source ! jsartoolkit5 is under LGPLv3 license and additional permission. And All my code in AR.js repository is under MIT license. :)
For legal details, be sure to check jsartoolkit5 license and AR.js license.
# replace REVISION to the proper version
atom three.js/threex-artoolkitcontext.js
# Rebuild a-frame and webvr-polyfill
(cd aframe && make minify) && (cd webvr-polyfill && make minify)
# Commit everything
git add . && git commit -a -m 'Last commit before release'
# tag the release
git tag 1.0.0
# push the tag on github
git push origin --tags
# update the a-frame codepen
open "https://codepen.io/jeromeetienne/pen/mRqqzb?editors=1000#0"