One of the benefits we gain from the increased support for Device Tracking is that we now can use the device pose for a better quality extended tracking. Extended Tracking is the concept that a target's pose information will be available even when the object is not in the field of view of the camera or cannot directly be tracked for other reasons. When the Device Tracker is turned on using Positional mode, all targets behave as they are Extended Tracked targets. In other words, these changes also mean that the Extended Tracking functionality is now a global setting and it applies to all of the active targets.
Due to this, the previous APIs for Extended Tracking are being deprecated. The APIs remain in the Vuforia Engine but will be removed in the near future. It is NOT recommended to run the deprecated Extended Tracking APIs alongside Device Tracking as it may have severe performance implications for your application.
Developers migrating applications which use Image Targets, Multi-Targets, Cylinder Targets, Object Targets, User-Defined Targets, or VuMarks, and are looking for equivalent Extended Tracking functionality as per 7.2, should use the FUSION_PROVIDER_OPTIMIZE_IMAGE_TARGETS_AND_VUMARKS parameter on Vuforia::setAllowedFusionProviders. This must be done before any trackers are initialized, but can happen after Vuforia Engine initialization, as long as the FUSION_PROVIDER_PLATFORM_SENSOR_FUSION bitwise value is not modified.
- In cases where the parameter flag does not modify the FUSION_PROVIDER_PLATFORM_SENSOR_FUSION bitwise value, the setAllowedFusionProvider can be set after Vuforia Engine initializes but before any Trackers are initialized.
- In cases where the parameter flag does modify FUSION_PROVIDER_PLATFORM_SENSOR_FUSION, the setAllowedFusionProvider must be modified before Vuforia Engine initializes.
When the Positional Device Tracker is enabled and the target is visible in the camera's field-of-view, then the target will report back as
TRACKED. Once the target is out of the camera's field-of-view, the target will report back as
The notion of Persistent Extended Tracking has also been removed. When Vuforia Engine is leveraging ARKit or ARCore, any maps are managed by the respective platform. If the device does not support ARKit or ARCore, then any maps used are managed by the Vuforia Engine internally. The default behaviour is persistent by default when the active Fusion Provider reports
FUSION_PROVIDER_PLATFORM_SENSOR_FUSION. There is no persistent behaviour when the active Fusion Provider reports
It is important to note that due to these changes along with the broadening of Vuforia Fusion, extended tracking may behave differently than it did for Vuforia Engine 7.1 and earlier. Refer to the Vuforia Fusion section below for more information.