I have been developing AR applications since 2021. This repository serves as a collection of the AR building blocks I have created during that time.
Requirements:
- Unity
- ARFoundation and ARKit/ARCore
Note: This building block requires an iPhone or iPad equipped with a LiDAR scanner.
EDM (Electronic Distance Measurement), a term from surveying, is also highly useful in AR applications.
I recently encountered "SiteVision," an AR device equipped with laser-based EDM, at a trade show in Tokyo.
The iPad Pro and iPhone 12 Pro (and later) feature LiDAR. I've found that LiDAR-based EDM is exceptionally useful for placing AR anchors accurately on walls.
=> code
Most of smartphone models in the market are not equipped with LiDAR. We use point cloud for distance measurement instead of LiDAR.
=> code
This app is just to visualize the origin on the world coordinates.
=> code
This app uses ARCameraBackground for recognizing a QR code with ZXing library.
=> code
This is to explane how IFC-format BIM can be rendered in my original AR app.
I downloaded "FZK Haus" and "Azuma House" from the following BIM archive: http://openifcmodel.cs.auckland.ac.nz
Then I modified the original BIM with Blender (with BlenderBIM add-on) for my AR app:
- modified some parts to make them look better
- added CC0Texture to some faces
- added a piano chair
- etc
=> code
This project demonstrates a standard AR application that leverages the EDM feature mentioned above to place characters at specific locations.
=> code
This application supports the tracking of multiple AR markers simultaneously.
=> code
This application displays 240-degree 16K panoramic photos captured with the iPhone SE Camera app. The iPad mini is particularly well-suited for viewing these high-resolution panoramas. To use your own photos, save them in the Resources/Panorama folder and configure the settings as shown below.
I developed the following Shader Graph to map panoramic textures (Texture2D) onto a 240-degree virtual screen.
Screenshots of the application running on an iPad mini:
=> code
Note: I disabled the "Auto Focus" option in the AR Camera Manager to improve tracking stability.
This Python 3 script converts PDF documents into transparent PNG images suitable for AR applications:
$ PDF_converter_for_AR.py -i floorplan_sample.pdf
If you don't specifically need Vulkan's performance benefits, the simplest path for your Android smartphone is to remove Vulkan from the Graphics APIs list and use OpenGLES3. This avoids the need for the Command Buffer feature and is generally more "battle-tested" for AR projects.








