This document discusses designing interactive augmented reality experiences for the web. It covers using smartphone AR capabilities like motion tracking and understanding the environment. It also discusses tools like WebARonARCore and WebARonARKit that allow bringing AR to the web. Prototypes were built to explore use cases, design principles, interfaces, and developer workflows. Code examples demonstrate techniques like loading assets, 3D rendering, model compression, and polyfills to enable AR capabilities on desktop. Guidelines and specifications and resources for getting started with web-based AR are also referenced.
19. Minimizing the use of new
Scratch matrices, vectors, quaternions
ES6 imports / exports to avoid pollution
Used [raw, image, glslify, json] loaders
Serving & reload via webpack-dev-server
eslint to catch mistakes and garbage
22. Converted .obj to .drc
Astronaut From Poly
185k > 9.5k ~20x 🤓
Astronaut From NASA
3.1M > 121k ~26x 😎
https://github.com/
google/draco github.com/google/draco
23. Responsive Layout via Bootstrap
CSS Styles via Bootswatch (Paper Theme)
three.js (shadows, lights, shaders, math)
Model sourced from poly.google.com
Model compressed ~20x by Draco
Desktop AR Prototyping Environment 💡
24. Polyfills AR api
🔥 RAY MARCHES 🔥
virtual scene (SDFs)
GPU Hit Computation
GPU > JS Encode float
Simple 1 line include
Rapidly iterate UX & UI
Desktop AR Prototyping Environment
28. AR Transition (0.25x Speed)
Entering & Exiting AR
1. Remove model
2. Remove SDF grid
3. Remove HUD
4. Fade out sphere
5. Fade in HUD
6. Enter AR flow
29. Entering & Exiting AR
1. Zero window scroll
2. Pop off canvas
3. Remove all content
4. Add canvas back
5. Add fullscreen CSS
6. Reverse for exiting