While working on a location-based AR project with AR.js and A-Frame, I discovered that precise positioning isn't built into AR.js itself. The technology needed is called Visual Positioning System (VPS), which is a separate component.
What is VPS?
VPS uses computer vision to match features from your device's camera feed with pre-mapped 3D data of physical environments. This enables precise 6DoF positioning (both location and orientation) without requiring physical markers or GPS.
Current Market Solutions:
8th Wall: Integrated Niantic's Lightship VPS into their web AR platform, offering seamless anchoring to real-world surfaces ZapWorks (with Mattercraft): Provides VPS capabilities often at more competitive pricing Immersal: Offers VPS solutions that can be integrated into AR applications
Key Takeaways:
AR.js limitations: Focuses on marker-based and basic location-based AR but lacks built-in VPS
Separate technology: VPS is a specialized module requiring extensive mapping and processing
Commercial solutions: Available options like 8th Wall, ZapWorks, and Immersal offer integrated VPS capabilities
Cost consideration: While these solutions are powerful, they typically require commercial licensing that can be quite expensive