Vuforia Engine provides a motion hint to optimize tracking of objects in scenarios where they are stationary or moved.
Vuforia Engine supports a variety of scenarios for tracking different objects. A motion hint type can be set to significantly improve tracking of an object.
Motion hint is available for:
- Image Targets,
- Cylinder Targets.
- Multi Targets,
- Object Targets,
- Model Targets.
A guide for setting the motion hint for Model Targets can be found in Optimizing Model Target Tracking as motion hints for Model Targets have distinctive effects!
NOTE: All object tracking targets created before Vuforia Engine 10.0 will have the ADAPTIVE motion hint by default. Model Targets will use the motion hint configured in the Model Target Generator.
Target Motion Hint
Vuforia provides three motion hints:
- STATIC is only available for Model Targets and should be used for Objects that are always stationary. See Optimizing Model Target Tracking for more information.
- ADAPTIVE is the default mode and is suitable for most use cases. It stabilizes tracking on objects while they are stationary, and it allows for limited motion from one position to another while tracking the object.
- DYNAMIC allows tracking objects that is in constant motion through handheld interactions. Tracking will not be stabilized for stationary objects.
This mode will not use Device Tracking, resulting in loss of tracking if the object is moved out of the camera view, occluded, and users will experience reduced tracking quality when it is not in motion.
Set the Motion Hint
By default, the ADAPTIVE motion hint is set if nothing else is configured for the target with Model Targets as an exception as they receive the default hint from the MTG (Model Target Generator).
Motion hint in Unity
The motion hint is assigned to a target in its behaviour component. Select the ADAPTIVE or DYNAMIC hint from the dropdown menu.
Or use the API call to set the hint. The hint must be set while the observer is disabled. Setting the hint at runtime while the target is active will deactivate and reactivate it causing the tracking to reset.
NOTE: Setting the motion hint to STATIC on object tracking targets other than Model Targets will have no effect.
Motion hint in Native
Use get/set calls to apply a motion hint to a target in a native application. The hint should be set before starting the Engine and before activating the associated Observer. Setting it at runtime and while the target is active will reset its tracking. Only the ADAPTIVE and DYNAMIC motion hints are allowed.
vuImageTargetObserverGetMotionHint(const VuObserver* observer, VuMotionHint* motionHint); vuImageTargetObserverSetMotionHint(VuObserver* observer, VuMotionHint motionHint);