Skip to content

Commit 169882b

Browse files
authored
Merge pull request #113545 from julianparismorgan/user/pmorgan/asa-evolution-and-cleanup
Azure Spatial Anchors: Sections on anchor evolution + some cleanup
2 parents b8e289b + 00119bd commit 169882b

9 files changed

+22
-12
lines changed

articles/spatial-anchors/concepts/anchor-relationships-way-finding.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ You can continue this procedure for more anchors and more sessions over time.
6868

6969
### Verify anchor connections
7070

71-
The app can verify that two anchors are connected by issuing a query for nearby anchors. When the query's result contains the target anchor, the anchor connection is verified. If the anchors aren't connected, the app can try to connect them again.
71+
The app can verify that two anchors are connected by issuing a query for nearby anchors, which you do by setting the `NearAnchorCriteria` on a `CloudSpatialAnchorWatcher`. When the query's result contains the target anchor, the anchor connection is verified. If the anchors aren't connected, the app can try to connect them again.
7272

7373
Here are some reasons why anchors might fail to connect:
7474

articles/spatial-anchors/concepts/guidelines-effective-anchor-experiences.md

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,15 @@ ms.service: azure-spatial-anchors
1313

1414
# Create an effective anchor experience by using Azure Spatial Anchors
1515

16-
This article provides guidelines and considerations to help you effectively create and locate anchors by using Spatial Anchors.
16+
This article provides guidelines and considerations to help you effectively create and locate anchors by using Azure Spatial Anchors.
17+
18+
## Anchor improvement over time
19+
20+
With Azure Spatial Anchors, each time you locate anchors, we attempt to improve the quality of future locate operations. We do this by using the environment data collected to augment the visual information on the anchors we are looking for. This process runs under the hood and is an offline optimization run by the Azure Spatial Anchors service to optimize for your environment. The additional data gathered during each operation builds a stronger understanding of the environment. This improves quality and allows you to better locate anchors through environment change, time passing, and for users looking at anchors from different angles and perspectives.
1721

1822
## Good anchors
1923

20-
Spatial Anchors helps you create good anchors. It's important to invest time in either educating or guiding users in your user experience (UX) to create good anchors. By investing in creating good anchors up front, you help end users to reliably find anchors:
24+
While Azure Spatial Anchors does attempt to improve the quality of anchors over time, it is also important to invest time in either educating or guiding users in your user experience (UX) to create good anchors. By investing in creating good anchors up front, you help end users to reliably find anchors:
2125

2226
- Across different devices.
2327
- At various times.
@@ -96,7 +100,7 @@ Visual tracking systems rely on the visual features in an environment. The more
96100

97101
Follow the general guidelines in this section to build a UX that encourages a useful scan of the environment.
98102

99-
First, if the user doesn't locate an anchor within a few seconds, the app should encourage users to move the device to capture more perspectives. The app can also encourage users to move themselves around the environment to scan for the anchor from more perspectives. The more feature perspectives that the device sees, the better.
103+
First, if the user doesn't locate an anchor within a few seconds, the app should encourage users to move the device to capture more perspectives. The app can also encourage users to move themselves around the environment to scan for the anchor from more perspectives. The more feature perspectives that the device sees, the better, as it will increase the likelihood that an anchor is located, and it will also collect more environment data that will be used to improve the quality of the anchor.
100104

101105
For target scenarios, ask the user to move around the target to view it from different perspectives. In other words, ask the user to capture the target from new perspectives until the anchor is located.
102106

articles/spatial-anchors/overview.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ These precise points of interest are referred to as Spatial Anchors.
2525

2626
Some example use cases enabled by Spatial Anchors include:
2727

28-
- [Multi-user experiences](tutorials/tutorial-share-anchors-across-devices.md). Spatial Anchors makes it easy for people in the same place to participate in multi-user mixed reality applications. For example, two people can start a game of mixed reality chess by placing a virtual chess board on a table. Then, by pointing their device at the table, they can view and interact with the virtual chess board together.
28+
- [Multi-user experiences](tutorials/tutorial-share-anchors-across-devices.md). Azure Spatial Anchors makes it easy for people in the same place to participate in multi-user mixed reality applications. For example, two people can start a game of mixed reality chess by placing a virtual chess board on a table. Then, by pointing their device at the table, they can view and interact with the virtual chess board together.
2929

3030
- [Way-finding](concepts/anchor-relationships-way-finding.md). Developers can also connect Spatial Anchors together creating relationships between them. For example, an app may include an experience that has two or more points of interest that a user must interact with to complete a task. Those points of interest can be created in a connected fashion. Later, when the user is completing the multi-step task, the app can ask for anchors that are nearby the current one to direct the user towards the next step in the task.
3131

@@ -36,7 +36,7 @@ sections provide information about getting started with building apps using Azur
3636

3737
## Next steps
3838

39-
Create your first app with Spatial Anchors.
39+
Create your first app with Azure Spatial Anchors.
4040

4141
> [!div class="nextstepaction"]
4242
> [Unity (HoloLens)](quickstarts/get-started-unity-hololens.md)

articles/spatial-anchors/spatial-anchor-faq.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,10 @@ For more information, see [Azure Spatial Anchors overview](overview.md).
4545

4646
**A:** Anchors are isolated by Azure account. Only apps to which you grant access to your account will be able to access anchors within the account.
4747

48+
**Q: How does Azure Spatial Anchors store data?**
49+
50+
**A:** All data is stored encrypted with a Microsoft managed data encryption key.
51+
4852
**Q: What information about an environment is transmitted and stored on the service when using Azure Spatial Anchors? Are pictures of the environment transmitted and stored?**
4953

5054
**A**: When creating or locating anchors, pictures of the environment are processed on the device into a derived format. This derived format is transmitted to and stored on the service.
@@ -56,7 +60,6 @@ Azure Spatial Anchors adheres to the [Azure Service Agreement Terms](https://go.
5660
![An environment and its derived sparse point cloud](./media/sparse-point-cloud.png)
5761
*Figure 1: An environment and its derived sparse point cloud*
5862

59-
6063
**Q: Is there a way I can send diagnostics information to Microsoft?**
6164

6265
**A**: Yes. Azure Spatial Anchors has a diagnostics mode that developers can choose to opt into through the Azure Spatial Anchors API. This is useful, for example, if you encounter an environment where you are unable to create and locate anchors predictably. We may ask if you can submit a diagnostics report containing information that helps us debug. For more information see [Logging and diagnostics in Azure Spatial Anchors](./concepts/logging-diagnostics.md).

articles/spatial-anchors/unity-overview.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ ms.topic: conceptual
1212

1313
# Building in Unity with Azure Spatial Anchors
1414

15-
Developers can choose Unity for creating and deploying mixed reality applications that use Azure Spatial Anchors.
15+
Developers can choose Unity for creating and deploying mixed reality applications that use Azure Spatial Anchors.
1616
The following platforms are supported:
1717

1818
**Unity for HoloLens**
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
## Provide frames to the session
22

3-
The spatial anchor session works by mapping the space around the user. Doing so helps to determine where anchors are located. Mobile platforms (iOS & Android) require a native call to the camera feed to obtain frames from your platform's AR library. In contrast, HoloLens is constantly scanning the environment, so there's no need for a specific call like on Mobile.
3+
The spatial anchor session works by mapping the space around the user. Doing so helps to determine where anchors are located. Mobile platforms (iOS & Android) require a native call to the camera feed to obtain frames from your platform's AR library. In contrast, HoloLens is constantly scanning the environment, so there's no need for a specific call like on mobile platforms.

includes/spatial-anchors-create-locate-anchors-locating.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,9 @@ Being able to locate a previously saved cloud spatial anchor is one of the main
55
- Locate anchors connected to a previously located anchor. You can learn about anchor relationships [here](/azure/spatial-anchors/concepts/anchor-relationships-way-finding/).
66
- Locate anchor using [Coarse relocalization](/azure/spatial-anchors/concepts/coarse-reloc/).
77

8+
> [!NOTE]
9+
> Each time you locate an anchor, Azure Spatial Anchors will attempt to use the environment data collected to augment the visual information on the anchor. If you are having trouble locating an anchor, it can be useful to create an anchor, then locate it several times from different angles and lighting conditions.
10+
811
If you are locating cloud spatial anchors by identifier, you will want to store the cloud spatial anchor identifier in your application's back-end service, and make it accessible to all devices that can properly authenticate to it. For an example of this, see [Tutorial: Share Spatial Anchors across devices](/azure/spatial-anchors/tutorials/tutorial-share-anchors-across-devices/).
912

1013
Instantiate an `AnchorLocateCriteria` object, set the identifiers you're looking for, and invoke the `CreateWatcher` method on the session by providing your `AnchorLocateCriteria`.
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
## Setting up the library
22

3-
Invoke Start() to enable your session to process environment data.
3+
Invoke `Start()` to enable your session to process environment data.
44

5-
To handle events raised by your session, set the `delegate` property of your session to an object, like your view. This object must implement the SSCCloudSpatialAnchorSessionDelegate protocol.
5+
To handle events raised by your session, set the `delegate` property of your session to an object, like your view. This object must implement the `SSCCloudSpatialAnchorSessionDelegate` protocol.
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
## Pause, reset, or stop the session
22

3-
To stop the session temporarily, you can invoke `Stop()`. Doing so will stop any watchers and environment processing, even if you invoke ProcessFrame(). You can then invoke `Start()` to resume processing. When resuming, environment data already captured in the session is maintained.
3+
To stop the session temporarily, you can invoke `Stop()`. Doing so will stop any watchers and environment processing, even if you invoke `ProcessFrame()`. You can then invoke `Start()` to resume processing. When resuming, environment data already captured in the session is maintained.

0 commit comments

Comments
 (0)