I am sure many people has beeing looking for ways to match holograms to real world objects accurately. The Lowes Kitchen demo shows a really good example of this and they recently put up 2 videos about how they did it. In part 2 it shows how they did the precision alignment.
you can see from below screenshots from the video. They used image trackers ( a few ) and some kind of 2/3 point alignment system to get the hologram locked in place.
Wesley: I thought world anchors lock objects to each other (i.e., preserve the distance between them and move them together as a group when adjusting positions). If the spatial mesh itself has some error (and I often see that it does; e.g., it may be a few centimeters from the actual surface), it seems that world anchors would not help too much?
I believe world anchor stores an objects world position that can be used at anytime by accessing the world store, there is no relation to another position of an object.
The use of world lock would also probably help as well.
They specifically said they did not use spatial mapping. They used those markers to place anchors then use them to match the model/hologram to the real life kitchen dummy. the link to the video pioints to that exact section.
Then is sounds like they are placing an object on the world, then applying a world lock to it. You can drag an object through out the world using the Gesture Recognizer navigation events. You can use navigation on rails to help place objects
I don’'t have familiar workings with their projects since it is a Microsoft project, it might be helpful to ask these questions on their development forums.
Here’s my understanding based on the video: It sounds like they are using April tags as fiducial markers. Once they are able to extra the local position of more than one marker using the AprilTags library, they use a manual calibration process to generate a transform of a known model (the base kitchen) so that the expected and actual fiducial tags align. I don’t know whether they are using a WorldAnchor to persist the local reference frame, but since they indicated they only need to do the calibration once, that seems likely.