
Set up a web ar development environment with plain html and javascript, a text editor, and a browser. Run a server for testing and debug with console logs using remotejs.
Learn browser-based ar by building a webgl scene with three.js, creating a box geometry and camera, then overlay a transparent canvas over a live video feed to render 3d objects.
source code: 200-image-start
Load gltf models into a web ar scene with three.js by importing gltf loader, adding gltf.scene to anchor, and refining lighting, scale, and position; use a promise-based loader helper.
MindAR handles multiple targets using detection and tracking, and the maxTrack parameter controls how many targets to track, enabling simultaneous display of two targets while balancing performance.
Learn to remove green screen in a web ar scene using a chroma material, align the video plane perpendicularly to the target, and adjust position and scale for popping-out effect.
Fix autostart for web ar by requiring user interaction to trigger the start function, using a button, and preloading video assets via an init flow to satisfy Safari autoplay rules.
Render HTML elements with CSS in web AR by wrapping a div with a CSS 3D object, attaching it to an anchor, and using the CSS renderer.
Customize the MindAR ui by disabling ui loading or ui scanning, or assign a custom ui id to enable lifecycle-driven display of a bespoke scanning screen.
Import 3d models into an AR scene by loading a glasses gltf, downscaling it with 0.01, and attaching to a facial anchor, highlighting the occlusion when the head tilts.
Learn how to capture a photo, preview it, and share it via the Web Share API or fallback options, including URL sharing and press-and-hold techniques on mobile.
Swap the custom start end button for a 3js ar button to manage the webxr session lifecycle, including import and renderer wiring.
Explore how aframe wraps 3js to build AR scenes with HTML, using a-scene and a-box, with embedded mode and access to 3js objects for WebXR and MindAR.
Learn how to enable WebXR in A-frame using the WebXR component, configure hit-test and optional features, and drive a reticle and a box with controller select in a WebXR scene.
Outline the webAR pipeline and core technologies—WebGL, Wasm, glTF, 3D models, tracking engines like MindAR, WebXR, and TensorFlow.js—alongside key 3D frameworks.
Introduction
This is the most comprehensive guide to developing web based augmented reality applications. Web AR stands out from others in that it’s cross platform and requires no app installation. They are just regular web pages run on regular web browsers.
What will you learn
In this course, you will learn how to use MindAR opensource library for building Image AR effects and Face AR effects. MindAR is a successor of AR.js, which is the most popular free-to-use AR library on the world.
Besides, you will learn how to use WebXR api for building world AR effects. WebXR is a native browser api for developing immersive AR and VR effects on browsers.
You will also learn how to integrate tensorflow.js machine learning models into AR applications, to create highly interactive and interesting effects. For example, using hand gestures or facial expressions to control AR contents.
You will also kickstart the journey of mastering the most popular 3D rendering framework called three.js.
Other important web AR technologies will also be covered, including AFRAME, model-viewer and commercial AR SDKs.
Besides practical development skills, you will also learn theoretical knowledge on how AR works on a browser environment.
Course Structure
The course material is carefully designed. Each lecture is highly modular to deliver a single concept, which allows you to look up any references easily in the future. All the sample source code is concise and well explained.
Assignments
Besides lectures, you will have to finish 3 practical assignments in total, one for each type of tracking effects. One of the assignment is for you to create and deploy a real online AR portfolio for yourself, which you can show other people.
Development Tips
Useful development tips will be covered, including remote debugging tools and webcam mocking technique.