My environment has multiple markers each attached to signs planted in the ground, so they should never move. The idea is to walk around this park and see a bunch of virtual objects by pointing your device at the different signs that I've attached markers too. You should be able to see everything regardless of which marker you look at, the different markers are only so that you can view the scene from different locations. I do also have some different annotations I want to show depending on which marker is detected, but only 1 at a time.
This works perfectly when I use ImageTargets and set the max simultaneous targets to 1 and the world center mode to FIRST_TARGET. This way it always only sees one target at a time and only moves the camera within my virtual scene relative to it, keeping all the targets and other virtual objects where they should be.
However, I'm trying to switch to using Frame Markers because they seem to detect faster and more reliably and give me more control of the rest of the contents of the sign. But with Frame Markers, I have no way to set a tracking limit of 1. As far as my annotations go, I can just keep track of which was detected first, but positioning is a problem. If two frame markers are detected at once, one of them will be the world center and the camera will move relative to it, but the other will be moved in my scene. In theory my scene is modeled 1-to-1 with the real world, but it is still going to move a little bit due to slight errors and jitter. Even if it is lost it doesn't move back to its original location so then even if I detect only that one, it will be the world center for moving the camera, but from the wrong location. In my real installation it is very unlikely that two of these markers will ever be physically visible at the same time, but it has been a real problem in my test environment.
So two questions. 1) Is FIRST_TARGET world center mode (or any mode) is there any way to prevent subsequent targets that are detected from being moved? 2) When multiple targets are detected, is there any method or property that can tell me which target Vuforia considers the "first" and is using as the world center? I was hoping that StateManager.GetActiveTrackableBehaviours() would list the active ones in detection order, but it seems that it lists them in the same canonical order as StateManager.GetTrackableBehaviours() regardless of which order they were detected.