The Mixed Reality Forums here are no longer being used or maintained.
There are a few other places we would like to direct you to for support, both from Microsoft and from the community.
The first way we want to connect with you is our mixed reality developer program, which you can sign up for at https://aka.ms/IWantMR.
For technical questions, please use Stack Overflow, and tag your questions using either hololens or windows-mixed-reality.
If you want to join in discussions, please do so in the HoloDevelopers Slack, which you can join by going to https://aka.ms/holodevelopers, or in our Microsoft Tech Communities forums at https://techcommunity.microsoft.com/t5/mixed-reality/ct-p/MicrosoftMixedReality.
And always feel free to hit us up on Twitter @MxdRealityDev.
Saving Spatial Anchors when Spatial Mapping is off?
Is it possible to save spatial anchors so that they persist in between app sessions if I am not using Spatial Mapping? I am implementing WorldAnchorManager and though the anchors are getting saved they arent persisting between sessions. Does this work only when spatial mapping is on?
Best Answers
-
Reeley ✭✭✭
The Hololens has two spaces one for your office and one for your room. It then recognizes this spaces. Worldanchors have a isLocated property, so if you are in your office all worldanchors which you saved in your home have this property set to false. If you then would assign a non located anchor to a gameobject, it would be positioned in the origin by default.
The isLocated property can change tho. Because sometimes a WorldAnchor cant be located although you are in the right space. I think there is an event for this which gets fired when the isLocated changes.Hope this helps
5 -
stepan_stulov ✭✭✭
I know this question has been answered, but I will add to it.
SpatialMapping is feeding of the reconstructed spatial mesh to your app. This reconstruction is is based on multiple sensory data streams from different cameras/sensors.
Spatial anchors (world anchors) are means to keep a certain point stable to its nearest environment. That stabilization is not running against the reconstructed spatial mapping but raw data somewhere under the hood of HoloLens.
The two processes are thus independent (on the application level) and your anchors should work regardless of whether you enable or disable feeding of the reconstructed spatial mesh to your app.
Confusion about the relationship between the two comes from the fact that traditionally to add a world anchor you usually use gaze's intersection with the spatial mapping mesh. You can, however, anchor the holograms that had nothing to do with neither gaze nor spatial mapping.
Building the future of holographic navigation. We're hiring.
6
Answers
If they are getting saved you should be able to retrieve them. This also works without Spatialmapping.
The thing is anchors are only a point in the room so if you want to save a 3d model, you have to instantiate a new one on start up and assign a saved worldanchor to this object.
Try
WorldAnchorManager.Instance.GetAllIds();
it gives you a string array of all worldanchors in the anchor store. (Just so we can be sure they are actually there)Hey @Reeley thanks! I figured it out. I was able to get the ids and they were being saved. I have a couple of follow up questions:
1) How does the Hololens know where it is? If I place spatial anchors in my home, then go to office and place some there, both while hotspotted to my phone, how will it distinguish between the two?
The Hololens has two spaces one for your office and one for your room. It then recognizes this spaces. Worldanchors have a isLocated property, so if you are in your office all worldanchors which you saved in your home have this property set to false. If you then would assign a non located anchor to a gameobject, it would be positioned in the origin by default.
The isLocated property can change tho. Because sometimes a WorldAnchor cant be located although you are in the right space. I think there is an event for this which gets fired when the isLocated changes.
Hope this helps
I know this question has been answered, but I will add to it.
SpatialMapping is feeding of the reconstructed spatial mesh to your app. This reconstruction is is based on multiple sensory data streams from different cameras/sensors.
Spatial anchors (world anchors) are means to keep a certain point stable to its nearest environment. That stabilization is not running against the reconstructed spatial mapping but raw data somewhere under the hood of HoloLens.
The two processes are thus independent (on the application level) and your anchors should work regardless of whether you enable or disable feeding of the reconstructed spatial mesh to your app.
Confusion about the relationship between the two comes from the fact that traditionally to add a world anchor you usually use gaze's intersection with the spatial mapping mesh. You can, however, anchor the holograms that had nothing to do with neither gaze nor spatial mapping.
Building the future of holographic navigation. We're hiring.