C Specification
The XrFaceTrackingVisemesMETA structure is defined as:
// Provided by XR_META_face_tracking_visemes
typedef struct XrFaceTrackingVisemesMETA {
XrStructureType type;
const void* next;
XrBool32 isValid;
float visemes[XR_FACE_TRACKING_VISEME_COUNT_META];
} XrFaceTrackingVisemesMETA;
Members
Description
The XrFaceTrackingVisemesMETA structure returns the visemes.
The application can add XrFaceTrackingVisemesMETA to the next
chain of the XrFaceExpressionWeights2FB structure when calling
xrGetFaceExpressionWeights2FB.
The runtime should set isValid to XR_FALSE, if any of the
following are true:
-
the face tracker failed to estimate visemes
-
the application lost focus
-
the consent for audio recording was denied.
If isValid is XR_FALSE, the runtime must also set all elements
of visemes to zero.
Otherwise, if the runtime sets isValid to XR_TRUE, the runtime
must update the visemes array ordered so that the array elements are
indexed using the corresponding viseme enumeration
XrFaceTrackingVisemeMETA.
Each value in the visemes array must be between 0.0 and 1.0
(inclusive), and the values represent a probability.
If isValid is XR_TRUE, the summation of all elements in the
visemes array must be 1.0.
If the application only wants visemes without blend shapes, as a change
in the behavior of the underlying extension, it may assign 0 to
XrFaceExpressionWeights2FB::weightCount and
XrFaceExpressionWeights2FB::confidenceCount when calling
xrGetFaceExpressionWeights2FB.
In this case, the application can assign NULL to
XrFaceExpressionWeights2FB::weights and
XrFaceExpressionWeights2FB::confidences.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2026 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.