The ExistentTrackingConfidence component evaluates and reports the reliability of the hand tracking data. This component can be essential for evaluating the current confidence of the hand tracking data on systems that do not provide such a feature.
While the component is used by default in the ExistentHandComponent to evaluate the current state of hand tracking, the confidence value generated can be used anywhere in the Existent platform to drive in-game logic.
The component analysis the hand tracking data from four different points of view to generate the final confidence value:
Occlusion: Using the camera transform and the hand tracking data the component attempts to understand how much of the hand is visible to the user. During this step the component generates a percentage value which will influence the final confidence outcome.
Distance: If the user is wearing a wrist tracker the component will keep monitoring the distance between the reliable wrist tracker transform and the hand tracking data. The larger the distance the worst confidence value will be generated.
Velocity: If the user is wearing a wrist tracker the component will keep monitoring the velocity at which the tracker is moving and the velocity at which the hand tracking data is moving. Large discrepancies between these two measurements will drop the confidence value.
Hand stillness: The component keeps track of the hand movements over the number of frames specified. The more frames the hand data are exactly the same the lower the confidence value becomes.
Used by: ExistentHandComponent , ExistentPlayer
Unless you are using a custom setup your player class will inherit from ExistentPlayer, which will already provide you with two ExistentTrackingConfidence components.
If this is not the case the ExistentTrackingConfidence can be added to your player class by using the Add button in the components panel inside the blueprint editor. Once added you must specify which hand the component will work with, either left or right, the camera component name and optionally the wrist tracker component name.
While the component comes with sensible default values, you can greatly customise its behaviour. The confidence value method can be used to change how the final confidence value will be generated. Each of the confidence analysis methods can be customised and turned off if needed.
Dynamic Evaluation: The component dynamically updates confidence scores based on real-time tracking data, enabling immediate adjustments to tracking behaviour as conditions change within the VR/AR environment.
Debugging Support: Includes an array of console commands for toggling debugging features, enabling developers to visualise occlusions, track velocity discrepancies, and adjust confidence metrics on-the-fly for optimization purposes.
Extensive Compatibility: Designed to seamlessly integrate with other components of the Existent toolkit, particularly the ExistentHandTrackingComponent, for a cohesive tracking management system.