Friends, hello everyone! Not so long ago, we talked about where to start developing AR apps for a beginner. Briefly walked through the characteristics of Android and iOS as platforms for developing applications in augmented reality, and discussed the advantages and disadvantages.
Today we continue this topic, namely: we will delve into the developing of augmented reality on the iOS platform. Why did we decide to analyze this topic? The answer is simple: in our opinion, Apple development is always client-oriented, and if, at first glance, development on this platform is more complicated, we are confident that the application would not be so stable without these complexities.
ARKit and RealityKit – what is it?
It is important to note that application development is not so much on iOS as on a special platform – Augmented realityKit . The platform’s set of tools allows you to recognize the surrounding space’s dimensions and take into account the nature of the lighting to fit AR content as accurately as possible into real life. In addition, you can work together on the platform – this helps the development teams make collective decisions and makes it possible to connect the client to the development in spectator mode: the customer can see how the work is going and make his recommendations and comments in real-time.
Apple also added the ability to automatically save progress: work on the project will remain at the stage to finish it. This saves time; the developer does not need to worry about starting all over again.
Of course, Apple took care of WebAR too: a special Quick Look extension was released that allows you to view AR content outside of applications: this technology uses 3D models in a special format – it allows you to combine several objects, for example, an image, text and a 3D model in single file. The file format is an unencrypted zip file created using the Phyton platform tools. The file is opened through the Safari browser and mail, notes, or messages. In just 1 click, the user gets access to AR content, and in this case there is no need to use a separate application.
In general terms, Apple is working hard to expand the capabilities of the ARKit platform to make augmented reality as accessible and user-friendly as possible. Augmented reality objects are calibrated to the real environment, acquiring the features of a tangible object – the superposition of shadows and highlights from nearby real objects gives the effect of mixing the real and virtual worlds.
At first glance, ARKit development seems to be very easy. However, it is important to note that the platform is not responsible for loading and rendering the loaded 3D models. Previously, these two functions were performed by SceneKit , but it can no longer cope with the requirements of current AR applications.
Apple released RealityKit , and that’s what we’re going to talk about now. This framework enables high-performance 3D simulations and physical rendering to integrate virtual objects into the real world seamlessly. It integrates well for Swift and Metal, besides that, there are several other advantages due to which this framework “supplanted” its predecessor.
- Full integration with prototyping application – Reality Composer . The framework supports both .rcproject and .reality formats and .usdz , which is used for AR content on the web.
- The framework uses significantly less boilerplate code for building dynamics and animation than SceneKit.
- LiDAR scanner support is implemented using ARView – the RealityKit class.
- RealityKit includes “everything you need” for next-generation AR applications – Occlusion and Video materials, Anchor Entities, camera effects such as Motion Blur, Grain, Raytraced shadows, spatial sound, and many other elements.
Of course, the framework also has its drawbacks, such as the lack of a particle system, the inability to create models from vertices and other nuances. However, its development also does not stand still, and Apple is doing everything to give the user maximum opportunities.
ARKit is tightly coupled with RealityKit. It greatly simplifies the augmented reality experience by taking on the heavy lifting of the network, such as maintaining a consistent state, optimizing traffic, handling packet loss, or transferring ownership.
We will tell you how ARKit realizes itself in business in the future. Still, in the next article, you will find the specifics of developing on Android, and why many people start developing AR applications from this platform.
The Black VR team actively develops ready-made AR solutions for iOS users and carries out individual projects to develop augmented reality in the app and on the web.