Professional Documents
Culture Documents
Augmented Reality in Ios Apps - Arkit Development Guide
Augmented Reality in Ios Apps - Arkit Development Guide
Augmented Reality in Ios Apps - Arkit Development Guide
Augmented reality was considered science fiction in the past. However, it has
evolved to become an integral part of the digital experience that we live in today.
Brought to fruition with the power of iPhone hardware and software
technologies, AR has entered the mainstream for many different real world
applications. Thanks to Apple’s software development tools in ARKit,
development of advanced mobile AR solutions has never been easier.
The most optimal environment for ARKit apps is a well-textured and lit area, a
flat surface for visual odometry, and a static scene of motion odometry. When
the environment does not meet these requirements, ARKit provides users with
ARKit has advanced far beyond simply displaying objects on flat surfaces.
Vertical surfaces, image recognition, and objects placed with geographic
coordinates are all possible now with the latest features of ARKit 5. However, it’s
important to consider that every virtual object requires a frame of reference.
Without a reference point, virtual objects cannot be displayed in a static location
on a user’s screen.
Our solution then relied on periodic GPS location updates. We could use routing
to calculate intermediate positions and combine this with compass data to
correctly place these pins in the scene. This was simpler than what ARKit
provided, but nonetheless it worked to our advantage.
This method could be improved for vehicles closer to the ground with ARKit 5’s
enhanced location anchors. Introduced with ARKit 4, location anchors use Apple
Maps Look Around data to identify landmarks like buildings. This allows for
better visual positioning of the device and enables more accurate placement of
virtual objects with geographic coordinates. By using landmarks as reference
points, virtual objects like text, pins, and other elements can be placed in
supported areas with unprecedented accuracy.
However, we run into some challenges when we want to place virtual elements
above buildings or near surfaces, not directly on those surfaces and buildings.
For example, you may want to display a pin above a destination in a navigation
The latest versions of ARKit have location anchors, a feature which was also
helpful in the moving vehicle example. If we wanted to place text or a pin above
a destination, we could simply give the app the geographic coordinates of the
location and where the virtual element should be displayed. When the user’s
camera spots the landmark and compares it to Apple Maps Look Around data,
the virtual object can be displayed on their screen correctly.
However, Location Anchors are not available in all cities and are not yet available
in non urban areas, so alternative methods of placement may be necessary like
GPS, UWB, or BLE beacons.
No matter what method is employed for placement, the scale of the virtual
object must always be proportional to the distance from the user. Naturally,
virtual objects that are farther away must be made smaller in the user’s view,
while closer objects are larger.
Best of all, creating the 3D model of the building is easier than ever with
advancing technology. The iPhone 12 Pro’s LiDAR scanner can be used for this
purpose as well, allowing for the scan of entire rooms into 3D environments.
Check out the video below to see indoor navigation routing technology in action!
ARKit’s data processing results in tracking data, face mesh, and blend shapes.
Tracking data gives us a better idea of where to display the content as the
subject face moves. Face mesh generates geometry of the face. Blend shapes
are parts of the face that have analog information. For example, if the eyes were
half open, the result would be 50% for that blend shape.
It may seem like a stretch, but it is a viable possibility. When a person gains and
loses weight, their face varies in width. An iPhone True Depth camera can detect
these variations and track them over time with an app. This can allow users to
track changes in their weight loss efforts over time.