Microsoft recently announced a new managed cloud service and developer platform for creating collaborative and spatially-enabled AR experiences across different devices and platforms. The service is mainly targeted at business users found in industries such as manufacturing, architecture and medical education, that might benefit from 3D AR experiences in the context of the real world.
Spatial anchors and use cases
The term “spatial anchor” refers to digital content that is tied to a physical location that can be accessed and displayed on HoloLens, iOS and Android devices. These anchors live in AR apps that developers can create through the Azure Spatial Anchors developer platform and used by businesses in order to improve collaboration through AR. Microsoft uses the term “hologram” interchangeably with spatial anchors in the context of AR, which are objects made of light and sound that appear around people, obscuring what’s behind them as if they were real objects.
There are three specific example use cases for spatial anchors: multi-user experiences, way-finding and persisting virtual content in the real-world. A virtual game of chess between two people is an example of a multi-user experience. Way-finding can be used to connect multiple spatial anchors as part of a multi-step task for the user to complete, leading from one point of interest to the next. Persisting virtual content refers to AR objects that can be accessed or seen using a special device, such as a HoloLens.
Creating collaborative cross-device AR experiences
Azure Spatial Anchors was created after Microsoft noticed that its customers wanted to share their AR experiences amongst each other and place them in the context of the real world, in order to increase efficiency and productivity. Additionally, until the introduction of Azure Spatial Anchors, sharing AR experiences across different platforms and devices was far from easy in terms of setup and coding. The Azure Spatial Anchors cloud service and development platform are deliberately cross-platform in nature, enabling better collaboration experience, independent of the device that is used.
What makes this service interesting, is that it starts with location technology: 3D maps of a specific (indoor) location are created first which make it possible to place and locate spatial anchors inside a location. Each anchor has a coordinate system that adjusts as needed, relative to other anchors, so that anchored holograms stay in place.
Building and consuming spatial anchors
Microsoft offers online documentation with tutorials and code examples for creating AR apps with spatial anchors for different platforms. An Azure account is required for this process, as spatial anchors are stored as 3D coordinates in the cloud. Anchors are also isolated by Azure account: only apps that have been granted access to it will be able to access the anchors within it. Client apps that run on HoloLens or iOS, as well as Android phones and tablets supporting AR development platforms can access spatial anchors through REST APIs once an Azure app service instance goes live.
Azure Spatial Anchors depends on AR trackers that perceive the environment with cameras and track the device in 6-degrees-of-freedom as it moves through space. This tracking mechanism makes it possible to choose points of interest in the real-world for spatial anchors to be rendered. When an anchor is created, environment information around that point is captured and transmitted to the service. When another device looks for the anchor in the same space, similar data is transmitted to the service and matched against the previously stored environment data, after which the position of the anchor relative to the device is sent back to the application.
When using Azure Spatial Anchors for creating and locating anchors, pictures of an environment are processed on the device into a derived format. Similarly, the service stores and transmits a hash of the visual characteristics of a point from a derived sparse point cloud.