How to Convert a Photo into a 3D Model for Augmented Reality
Turning a photo into a 3D model for AR means producing a lightweight, real-time asset that can be anchored to the real world and delivered through AR runtimes such as ARKit/RealityKit on Apple platforms, ARCore on Android, or WebXR in the browser. The goal is not just a pretty model, but one that performs smoothly on a phone or headset while tracking the real environment.
The dominant delivery formats are glTF/GLB for runtime 3D asset delivery and USDZ for Apple AR Quick Look, with web display handled by components like <model-viewer>. Apple's Object Capture API uses photogrammetry to create 3D objects optimized for AR, while ARCore provides anchors, hit-testing, and depth for placing content in real environments.
Understanding AR Delivery Formats
glTF is a royalty-free specification for efficient transmission and loading of 3D scenes and models, and can be stored as a single binary .glb file; glTF 2.0 became ISO/IEC 12113:2022. This makes it ideal for runtime delivery across platforms. For Apple's AR Quick Look, USDZ is the required format, so you may need to export your model in both formats.
Because glTF/GLB and USDZ are distinct, a single asset may need conversion or export in multiple formats. Planning for this early saves time when you want to reach both iOS and Android users.
Apple's Object Capture and AR Quick Look
Apple's Object Capture API in RealityKit creates 3D objects optimized for AR in minutes using photogrammetry algorithms. This is a powerful way to turn a series of photos into a high-quality 3D model that works well in AR. AR Quick Look, powered by ARKit, places 3D objects in the real world and supports models and scenes created in Reality Composer for viewing on iPhone and iPad.
However, AR Quick Look and Object Capture are Apple-platform features; Android and web AR require different formats and pipelines. If you need cross-platform AR, you'll need to consider other tools and formats.
Web and Android AR: ARCore and WebXR
ARCore provides fundamental AR concepts including working with anchors, hit-testing, depth, lighting estimation, and augmented images, with development paths for Android, iOS, Unity (AR Foundation), and Unreal Engine. This makes it a versatile choice for Android and cross-platform AR development.
<model-viewer> displays interactive 3D models on the web and in AR, and is supported on the last two major versions of evergreen desktop and mobile browsers plus the last two Safari versions; WebXR features are only needed for webxr in ar-modes. The WebXR Device API supports rendering 3D scenes to AR and VR output devices, including handheld mobile phones that augment the camera view with computer-generated imagery; it is experimental and not Baseline, and requires a secure context (HTTPS).
Constraints and Considerations for AR Assets
AR assets must be lightweight and real-time capable, which constrains polycount and texture size compared with offline or VR rendering. This means you can't simply use a high-poly model from a traditional 3D workflow; you need to optimize for mobile performance.
WebXR is experimental, not Baseline, and requires a secure context (HTTPS), so browser AR support is not universal. Always test your AR experience across target devices and browsers to ensure compatibility.
Frequently asked questions
What file formats are used for AR models?+
The dominant delivery formats are glTF/GLB for runtime 3D asset delivery and USDZ for Apple AR Quick Look. glTF is a royalty-free specification and can be stored as a single binary .glb file; glTF 2.0 became ISO/IEC 12113:2022.
Can I use a single photo to create a 3D model for AR?+
The research does not confirm which photogrammetry or AI reconstruction methods work from a single photo versus multiple photos. Apple's Object Capture API uses photogrammetry algorithms to create 3D objects optimized for AR, but it typically requires multiple photos.
Is WebXR supported everywhere?+
No. WebXR is experimental, not Baseline, and requires a secure context (HTTPS), so browser AR support is not universal. It is supported on some browsers but not all.
Do I need different models for iOS and Android AR?+
Often yes, because glTF/GLB and USDZ are distinct delivery formats. Apple AR Quick Look uses USDZ, while ARCore and web AR typically use glTF/GLB. You may need to export or convert your asset for each platform.