名稱字串
XR_ANDROID_face_tracking
擴充功能類型
執行個體擴充功能
已註冊的擴充號碼
459
修訂版本
1
擴充功能和版本依附元件
上次修改日期
2024-09-06
IP 狀態
沒有已知的 IP 版權聲明。
著作人
Spencer Quin,Google
Jared Finder,Google
Levana Chen,Google
總覽
這個擴充功能可讓應用程式在 XR 體驗中取得混合形狀的權重,並算繪臉部表情。
這個擴充功能旨在提供所需資訊,以便在虛擬空間中建立逼真的自訂圖示和表情符號。應用程式可以在取得混合形狀的權重之前,先檢查臉部校正功能是否已啟用。
臉部追蹤
臉部追蹤器是一種感應裝置,可透過面向使用者的圖像串流和攝影機校正功能追蹤臉部表情。這個擴充功能的主要用途,是在虛擬場景中將使用者的表情動作對應至他們的虛擬人物。
臉部追蹤資料是敏感的個人資訊,與個人隱私和完整性息息相關。強烈建議儲存或轉移臉部追蹤資料的應用程式,一律要求使用者主動並明確接受這項操作。
- 應用程式建立主動臉部追蹤器時,會收到
XR_ERROR_PERMISSION_INSUFFICIENT
,直到應用程式獲得臉部追蹤器的存取權為止。 - 使用 xrGetFaceStateANDROID 取得臉部狀態時,除非已允許應用程式存取權,否則 XrFaceStateANDROID::isValid 不會傳回
XR_TRUE
建立臉部追蹤器句柄
XR_DEFINE_HANDLE(XrFaceTrackerANDROID)
XrFaceTrackerANDROID 句柄代表用於臉部追蹤的臉部追蹤器。
這個句柄可以用於透過這個擴充功能中的其他函式存取臉部追蹤資料。
xrCreateFaceTrackerANDROID 函式定義如下:
XrResult xrCreateFaceTrackerANDROID(
XrSession session,
const XrFaceTrackerCreateInfoANDROID* createInfo,
XrFaceTrackerANDROID* faceTracker);
參數說明
session
是 XrSession 句柄,臉部追蹤器會在其中啟用。createInfo
是用來指定臉部追蹤器的 XrFaceTrackerCreateInfoANDROID。faceTracker
是傳回的 XrFaceTrackerANDROID 句柄。
應用程式可以使用 xrCreateFaceTrackerANDROID 函式建立 XrFaceTrackerANDROID 句柄。
如果系統不支援臉部追蹤,xrCreateFaceTrackerANDROID 會傳回 XR_ERROR_FEATURE_UNSUPPORTED
。
有效用法 (隱含)
- 您必須先啟用
XR_ANDROID_face_tracking
擴充功能,才能呼叫 xrCreateFaceTrackerANDROID session
必須是有效的 XrSession 句柄createInfo
必須是有效 XrFaceTrackerCreateInfoANDROID 結構體的指標faceTracker
必須是 XrFaceTrackerANDROID 句柄的指標
傳回代碼
XR_SUCCESS
XR_SESSION_LOSS_PENDING
XR_ERROR_FUNCTION_UNSUPPORTED
XR_ERROR_VALIDATION_FAILURE
XR_ERROR_RUNTIME_FAILURE
XR_ERROR_HANDLE_INVALID
XR_ERROR_INSTANCE_LOST
XR_ERROR_SESSION_LOST
XR_ERROR_OUT_OF_MEMORY
XR_ERROR_LIMIT_REACHED
XrFaceTrackerCreateInfoANDROID 結構的說明如下:
typedef struct XrFaceTrackerCreateInfoANDROID {
XrStructureType type;
void* next;
} XrFaceTrackerCreateInfoANDROID;
成員說明
type
是這個結構的 XrStructureType。next
是NULL
或結構鏈結中下一個結構的指標。核心 OpenXR 或這個擴充功能中並未定義這類結構。
XrFaceTrackerCreateInfoANDROID 結構體會說明建立 XrFaceTrackerANDROID 句柄所需的資訊。
有效用法 (隱含)
- 使用 XrFaceTrackerCreateInfoANDROID 前,
XR_ANDROID_face_tracking
擴充功能必須啟用 type
必須為XR_TYPE_FACE_TRACKER_CREATE_INFO_ANDROID
next
必須為NULL
,或指向結構體鏈結中下一個結構體的有效指標
xrDestroyFaceTrackerANDROID 函式定義如下:
XrResult xrDestroyFaceTrackerANDROID(
XrFaceTrackerANDROID faceTracker);
參數說明
faceTracker
是先前由 xrCreateFaceTrackerANDROID 建立的 XrFaceTrackerANDROID。
xrDestroyFaceTrackerANDROID 函式會在臉部追蹤體驗結束時釋放 faceTracker
和基礎資源。
有效用法 (隱含)
- 您必須先啟用
XR_ANDROID_face_tracking
擴充功能,才能呼叫 xrDestroyFaceTrackerANDROID faceTracker
必須是有效的 XrFaceTrackerANDROID 句柄
執行緒安全性
faceTracker
和任何子系句柄的存取權必須在外部同步
傳回代碼
XR_SUCCESS
XR_ERROR_FUNCTION_UNSUPPORTED
XR_ERROR_HANDLE_INVALID
檢查臉部校正
xrGetFaceCalibrationStateANDROID
函式的定義如下:
XrResult xrGetFaceCalibrationStateANDROID(
XrFaceTrackerANDROID faceTracker,
XrBool32* faceIsCalibratedOutput);
參數說明
faceTracker
是先前由 xrCreateFaceTrackerANDROID 建立的 XrFaceTrackerANDROID。faceIsCalibratedOutput
會指出臉部追蹤器是否已校正。
應用程式可以使用 xrGetFaceCalibrationStateANDROID 函式檢查臉部校正狀態。
如果系統不支援臉部校正功能,xrGetFaceCalibrationStateANDROID 會傳回 XR_ERROR_FEATURE_UNSUPPORTED
。否則,faceIsCalibratedOutput
可能會設為 XR_TRUE
,以反映錶面校正狀態。
有效用法 (隱含)
- 您必須先啟用
XR_ANDROID_face_tracking
擴充功能,才能呼叫 xrGetFaceCalibrationStateANDROID faceTracker
必須是有效的 XrFaceTrackerANDROID 句柄faceIsCalibratedOutput
必須是指向XrBool32
值的指標
傳回代碼
XR_SUCCESS
XR_SESSION_LOSS_PENDING
XR_ERROR_FUNCTION_UNSUPPORTED
XR_ERROR_VALIDATION_FAILURE
XR_ERROR_RUNTIME_FAILURE
XR_ERROR_HANDLE_INVALID
XR_ERROR_INSTANCE_LOST
XR_ERROR_SESSION_LOST
XR_ERROR_OUT_OF_MEMORY
XR_ERROR_LIMIT_REACHED
取得臉部表情
xrGetFaceStateANDROID 函式會傳回指定時間點的臉部表情混合形狀。
XrResult xrGetFaceStateANDROID(
XrFaceTrackerANDROID faceTracker,
const XrFaceStateGetInfoANDROID* getInfo,
XrFaceStateANDROID* faceStateOutput);
參數說明
faceTracker
是先前由 xrCreateFaceTrackerANDROID 建立的 XrFaceTrackerANDROID。getInfo
是指向 XrFaceStateGetInfoANDROID 的指標,用於描述取得臉部表情資訊的資訊。faceStateOutput
是指向 XrFaceStateANDROID 的指標,可接收傳回的臉部追蹤狀態和臉部表情。
有效用法 (隱含)
- 您必須先啟用
XR_ANDROID_face_tracking
擴充功能,才能呼叫 xrGetFaceStateANDROID faceTracker
必須是有效的 XrFaceTrackerANDROID 句柄getInfo
必須是指向有效 XrFaceStateGetInfoANDROID 結構體的指標faceStateOutput
必須是 XrFaceStateANDROID 結構的指標
傳回代碼
XR_SUCCESS
XR_SESSION_LOSS_PENDING
XR_ERROR_FUNCTION_UNSUPPORTED
XR_ERROR_VALIDATION_FAILURE
XR_ERROR_RUNTIME_FAILURE
XR_ERROR_HANDLE_INVALID
XR_ERROR_INSTANCE_LOST
XR_ERROR_SESSION_LOST
XR_ERROR_OUT_OF_MEMORY
XR_ERROR_LIMIT_REACHED
XR_ERROR_TIME_INVALID
XrFaceStateGetInfoANDROID 結構體會說明取得臉部表情所需的資訊。
typedef struct XrFaceStateGetInfoANDROID {
XrStructureType type;
void* next;
XrTime time;
} XrFaceStateGetInfoANDROID;
成員說明
type
是這個結構的 XrStructureType。next
是NULL
或結構鏈結中下一個結構的指標。核心 OpenXR 或這個擴充功能中並未定義這類結構。time
是要求表情動作的XrTime
。
應用程式「應」要求與算繪影格預測顯示時間相同的時間。
有效用法 (隱含)
- 您必須先啟用
XR_ANDROID_face_tracking
擴充功能,才能使用 XrFaceStateGetInfoANDROID type
必須為XR_TYPE_FACE_STATE_GET_INFO_ANDROID
next
必須為NULL
,或指向結構體鏈結中下一個結構體的有效指標
XrFaceStateANDROID 結構體會傳回臉部追蹤狀態和臉部表情。
typedef struct XrFaceStateANDROID {
XrStructureType type;
void* next;
uint32_t parametersCapacityInput;
uint32_t parametersCountOutput;
float* parameters;
XrFaceTrackingStateANDROID faceTrackingState;
XrTime sampleTime;
XrBool32 isValid;
} XrFaceStateANDROID;
成員說明
type
是這個結構的 XrStructureType。next
是NULL
或結構鏈結中下一個結構的指標。核心 OpenXR 或這個擴充功能中並未定義這類結構。parametersCapacityInput
是uint32_t
,用於描述parameters
陣列的容量,或 0 表示要求擷取所需容量。parametersCountOutput
是uint32_t
,用於描述parameters
的數量,或是在parametersCapacityInput
不足的情況下所需的容量。parameters
是指向應用程式已配置的float
陣列的指標,該陣列會填入臉部表情混合形狀的權重。faceTrackingState
是臉部追蹤有效性的XrFaceTrackingStateANDROID
。sampleTime
是XrTime
時間,系統會在該時間追蹤或推測傳回的運算式。如果在該時間點外推成功,則等於要求運算式權重時的時間。isValid
會指出資料是否有效,即使資料並非來自目前的時間軸影格也是如此。- 如要進一步瞭解如何擷取所需的
parameters
大小,請參閱「緩衝區大小參數」一節。
應用程式可以將 parametersCapacityInput
設為 XR_FACE_PARAMETER_COUNT_ANDROID
,以便取得由 XrFaceParameterIndicesANDROID 編入索引的臉部表情。
傳回的 parameters
代表目前面部表情的混合形狀權重。
parameters
陣列更新會排序,以便應用程式可以使用相應的臉部表情列舉 (例如 XrFaceParameterIndicesANDROID) 索引元素。
有效用法 (隱含)
- 您必須先啟用
XR_ANDROID_face_tracking
擴充功能,才能使用 XrFaceStateANDROID type
必須為XR_TYPE_FACE_STATE_ANDROID
next
必須為NULL
,或指向結構體鏈結中下一個結構體的有效指標- 如果
parametersCapacityInput
不是0, parameters
,則必須是指向parametersCapacityInput float
值陣列的指標 faceTrackingState
必須為有效的 XrFaceTrackingStateANDROID 值
XrFaceTrackingStateANDROID 列舉可用來識別臉部追蹤器的不同狀態。
typedef enum XrFaceTrackingStateANDROID {
XR_FACE_TRACKING_STATE_PAUSED_ANDROID = 0,
XR_FACE_TRACKING_STATE_STOPPED_ANDROID = 1,
XR_FACE_TRACKING_STATE_TRACKING_ANDROID = 2
} XrFaceTrackingStateANDROID;
這些列舉的意思如下:
Enum |
說明 |
|
表示臉部追蹤已暫停,但日後可能會恢復。 |
|
追蹤已停止,但用戶端仍有有效的臉部追蹤器。 |
|
系統會追蹤臉部,並顯示目前的姿勢。 |
混合形狀的慣例
這個擴充功能會透過 XR_FACE_PARAMETER_COUNT_ANDROID
定義 63 個混合形狀,以便縮減 G-Nome 格式。這個列舉中的每個參數都是混合形狀陣列的索引,其值為 float
類型,而執行階段會將其標準化為 1 - 0。
typedef enum XrFaceParameterIndicesANDROID {
XR_FACE_PARAMETER_INDICES_BROW_LOWERER_L_ANDROID = 0,
XR_FACE_PARAMETER_INDICES_BROW_LOWERER_R_ANDROID = 1,
XR_FACE_PARAMETER_INDICES_CHEEK_PUFF_L_ANDROID = 2,
XR_FACE_PARAMETER_INDICES_CHEEK_PUFF_R_ANDROID = 3,
XR_FACE_PARAMETER_INDICES_CHEEK_RAISER_L_ANDROID = 4,
XR_FACE_PARAMETER_INDICES_CHEEK_RAISER_R_ANDROID = 5,
XR_FACE_PARAMETER_INDICES_CHEEK_SUCK_L_ANDROID = 6,
XR_FACE_PARAMETER_INDICES_CHEEK_SUCK_R_ANDROID = 7,
XR_FACE_PARAMETER_INDICES_CHIN_RAISER_B_ANDROID = 8,
XR_FACE_PARAMETER_INDICES_CHIN_RAISER_T_ANDROID = 9,
XR_FACE_PARAMETER_INDICES_DIMPLER_L_ANDROID = 10,
XR_FACE_PARAMETER_INDICES_DIMPLER_R_ANDROID = 11,
XR_FACE_PARAMETER_INDICES_EYES_CLOSED_L_ANDROID = 12,
XR_FACE_PARAMETER_INDICES_EYES_CLOSED_R_ANDROID = 13,
XR_FACE_PARAMETER_INDICES_EYES_LOOK_DOWN_L_ANDROID = 14,
XR_FACE_PARAMETER_INDICES_EYES_LOOK_DOWN_R_ANDROID = 15,
XR_FACE_PARAMETER_INDICES_EYES_LOOK_LEFT_L_ANDROID = 16,
XR_FACE_PARAMETER_INDICES_EYES_LOOK_LEFT_R_ANDROID = 17,
XR_FACE_PARAMETER_INDICES_EYES_LOOK_RIGHT_L_ANDROID = 18,
XR_FACE_PARAMETER_INDICES_EYES_LOOK_RIGHT_R_ANDROID = 19,
XR_FACE_PARAMETER_INDICES_EYES_LOOK_UP_L_ANDROID = 20,
XR_FACE_PARAMETER_INDICES_EYES_LOOK_UP_R_ANDROID = 21,
XR_FACE_PARAMETER_INDICES_INNER_BROW_RAISER_L_ANDROID = 22,
XR_FACE_PARAMETER_INDICES_INNER_BROW_RAISER_R_ANDROID = 23,
XR_FACE_PARAMETER_INDICES_JAW_DROP_ANDROID = 24,
XR_FACE_PARAMETER_INDICES_JAW_SIDEWAYS_LEFT_ANDROID = 25,
XR_FACE_PARAMETER_INDICES_JAW_SIDEWAYS_RIGHT_ANDROID = 26,
XR_FACE_PARAMETER_INDICES_JAW_THRUST_ANDROID = 27,
XR_FACE_PARAMETER_INDICES_LID_TIGHTENER_L_ANDROID = 28,
XR_FACE_PARAMETER_INDICES_LID_TIGHTENER_R_ANDROID = 29,
XR_FACE_PARAMETER_INDICES_LIP_CORNER_DEPRESSOR_L_ANDROID = 30,
XR_FACE_PARAMETER_INDICES_LIP_CORNER_DEPRESSOR_R_ANDROID = 31,
XR_FACE_PARAMETER_INDICES_LIP_CORNER_PULLER_L_ANDROID = 32,
XR_FACE_PARAMETER_INDICES_LIP_CORNER_PULLER_R_ANDROID = 33,
XR_FACE_PARAMETER_INDICES_LIP_FUNNELER_LB_ANDROID = 34,
XR_FACE_PARAMETER_INDICES_LIP_FUNNELER_LT_ANDROID = 35,
XR_FACE_PARAMETER_INDICES_LIP_FUNNELER_RB_ANDROID = 36,
XR_FACE_PARAMETER_INDICES_LIP_FUNNELER_RT_ANDROID = 37,
XR_FACE_PARAMETER_INDICES_LIP_PRESSOR_L_ANDROID = 38,
XR_FACE_PARAMETER_INDICES_LIP_PRESSOR_R_ANDROID = 39,
XR_FACE_PARAMETER_INDICES_LIP_PUCKER_L_ANDROID = 40,
XR_FACE_PARAMETER_INDICES_LIP_PUCKER_R_ANDROID = 41,
XR_FACE_PARAMETER_INDICES_LIP_STRETCHER_L_ANDROID = 42,
XR_FACE_PARAMETER_INDICES_LIP_STRETCHER_R_ANDROID = 43,
XR_FACE_PARAMETER_INDICES_LIP_SUCK_LB_ANDROID = 44,
XR_FACE_PARAMETER_INDICES_LIP_SUCK_LT_ANDROID = 45,
XR_FACE_PARAMETER_INDICES_LIP_SUCK_RB_ANDROID = 46,
XR_FACE_PARAMETER_INDICES_LIP_SUCK_RT_ANDROID = 47,
XR_FACE_PARAMETER_INDICES_LIP_TIGHTENER_L_ANDROID = 48,
XR_FACE_PARAMETER_INDICES_LIP_TIGHTENER_R_ANDROID = 49,
XR_FACE_PARAMETER_INDICES_LIPS_TOWARD_ANDROID = 50,
XR_FACE_PARAMETER_INDICES_LOWER_LIP_DEPRESSOR_L_ANDROID = 51,
XR_FACE_PARAMETER_INDICES_LOWER_LIP_DEPRESSOR_R_ANDROID = 52,
XR_FACE_PARAMETER_INDICES_MOUTH_LEFT_ANDROID = 53,
XR_FACE_PARAMETER_INDICES_MOUTH_RIGHT_ANDROID = 54,
XR_FACE_PARAMETER_INDICES_NOSE_WRINKLER_L_ANDROID = 55,
XR_FACE_PARAMETER_INDICES_NOSE_WRINKLER_R_ANDROID = 56,
XR_FACE_PARAMETER_INDICES_OUTER_BROW_RAISER_L_ANDROID = 57,
XR_FACE_PARAMETER_INDICES_OUTER_BROW_RAISER_R_ANDROID = 58,
XR_FACE_PARAMETER_INDICES_UPPER_LID_RAISER_L_ANDROID = 59,
XR_FACE_PARAMETER_INDICES_UPPER_LID_RAISER_R_ANDROID = 60,
XR_FACE_PARAMETER_INDICES_UPPER_LIP_RAISER_L_ANDROID = 61,
XR_FACE_PARAMETER_INDICES_UPPER_LIP_RAISER_R_ANDROID = 62
} XrFaceParameterIndicesANDROID;
索引 | 名稱 | 參考圖片 | |
---|---|---|---|
0 | BROW_LOWERER_L | ||
1 | BROW_LOWERER_R | ||
2 | CHEEK_PUFF_L | ||
3 | CHEEK_PUFF_R | ||
4 | CHEEK_RAISER_L | ||
5 | CHEEK_RAISER_R | ||
6 | CHEEK_SUCK_L | ||
7 | CHEEK_SUCK_R | ||
8 | CHIN_RAISER_B | ||
9 | CHIN_RAISER_T | ||
10 | DIMPLER_L | ||
11 | DIMPLER_R | ||
12 | EYES_CLOSED_L | ||
13 | EYES_CLOSED_R | ||
14 | EYES_LOOK_DOWN_L | ||
15 | EYES_LOOK_DOWN_R | ||
16 | EYES_LOOK_LEFT_L | ||
17 | EYES_LOOK_LEFT_R | ||
18 | EYES_LOOK_RIGHT_L | ||
19 | EYES_LOOK_RIGHT_R | ||
20 | EYES_LOOK_UP_L | ||
21 | EYES_LOOK_UP_R | ||
22 | INNER_BROW_RAISER_L | ||
23 | INNER_BROW_RAISER_R | ||
24 | JAW_DROP | ||
25 | JAW_SIDEWAYS_LEFT | ||
26 | JAW_SIDEWAYS_RIGHT | ||
27 | JAW_THRUST | ||
28 | LID_TIGHTENER_L | ||
29 | LID_TIGHTENER_R | ||
30 | LIP_CORNER_DEPRESSOR_L | ||
31 | LIP_CORNER_DEPRESSOR_R | ||
32 | LIP_CORNER_PULLER_L | ||
33 | LIP_CORNER_PULLER_R | ||
34 | LIP_FUNNELER_LB | ||
35 | LIP_FUNNELER_LT | ||
36 | LIP_FUNNELER_RB | ||
37 | LIP_FUNNELER_RT | ||
38 | LIP_PRESSOR_L | ||
39 | LIP_PRESSOR_R | ||
40 | LIP_PUCKER_L | ||
41 | LIP_PUCKER_R | ||
42 | LIP_STRETCHER_L | ||
43 | LIP_STRETCHER_R | ||
44 | LIP_SUCK_LB | ||
45 | LIP_SUCK_LT | ||
46 | LIP_SUCK_RB | ||
47 | LIP_SUCK_RT | ||
48 | LIP_TIGHTENER_L | ||
49 | LIP_TIGHTENER_R | ||
50 | LIPS_TOWARD | ||
51 | LOWER_LIP_DEPRESSOR_L | ||
52 | LOWER_LIP_DEPRESSOR_R | ||
53 | MOUTH_LEFT | ||
54 | MOUTH_RIGHT | ||
55 | NOSE_WRINKLER_L | ||
56 | NOSE_WRINKLER_R | ||
57 | OUTER_BROW_RAISER_L | ||
58 | OUTER_BROW_RAISER_R | ||
59 | UPPER_LID_RAISER_L | ||
60 | UPPER_LID_RAISER_R | ||
61 | UPPER_LIP_RAISER_L | ||
62 | UPPER_LIP_RAISER_R |
臉部追蹤程式碼範例
以下程式碼範例示範如何取得臉部表情混合形狀的所有權重。
XrSession session; // previously initialized, for example created at app startup.
// The function pointers are previously initialized using xrGetInstanceProcAddr.
PFN_xrCreateFaceTrackerANDROID xrCreateFaceTrackerANDROID; // previously initialized
PFN_xrDestroyFaceTrackerANDROID xrDestroyFaceTrackerANDROID; // previously initialized
PFN_xrGetFaceStateANDROID xrGetFaceStateANDROID; // previously initialized
PFN_xrGetFaceCalibrationStateANDROID xrGetFaceCalibrationStateANDROID; // previously initialized
XrFaceTrackerANDROID faceTracker;
XrFaceTrackerCreateInfoANDROID
createInfo{.type = XR_TYPE_FACE_TRACKER_CREATE_INFO_ANDROID,
.next = nullptr};
CHK_XR(xrCreateFaceTrackerANDROID(session, &createInfo, &faceTracker));
// If the system supports face calibration:
bool isCalibrated;
CHK_XR(xrGetFaceCalibrationStateANDROID(faceTracker, &isCalibrated));
if (!isCalibrated) {
// Redirect the user to system calibration setting.
}
XrFaceStateANDROID faceState;
float faceExpressionParameters[XR_FACE_PARAMETER_COUNT_ANDROID];
faceState.type = XR_TYPE_FACE_STATE_ANDROID;
faceState.next = nullptr;
faceState.parametersCapacityInput = XR_FACE_PARAMETER_COUNT_ANDROID;
faceState.parameters = faceExpressionParameters;
while (1) {
// ...
// For every frame in the frame loop
// ...
XrFrameState frameState; // previously returned from xrWaitFrame
XrFaceStateGetInfoANDROID faceGetInfo{
.type = XR_TYPE_FACE_STATE_GET_INFO_ANDROID,
.next = nullptr,
.time = frameState.predictedDisplayTime,
};
CHECK_XR(xrGetFaceStateANDROID(faceTracker, &faceGetInfo, &faceState));
if (faceState.isValid) {
for (uint32_t i = 0; i < XR_FACE_PARAMETER_COUNT_ANDROID; ++i) {
// parameters[i] contains a weight of specific blend shape
}
}
}
// after usage
CHK_XR(xrDestroyFaceTrackerANDROID(faceTracker));
新物件類型
新列舉常數
XR_FACE_PARAMETER_COUNT_ANDROID
XrObjectType 列舉已擴充以下項目:
XR_OBJECT_TYPE_FACE_TRACKER_ANDROID
XrStructureType 列舉已擴充以下項目:
XR_TYPE_FACE_TRACKER_CREATE_INFO_ANDROID
XR_TYPE_FACE_STATE_GET_INFO_ANDROID
XR_TYPE_FACE_STATE_ANDROID
新列舉項目
新結構體
新函式
- xrCreateFaceTrackerANDROID
- xrDestroyFaceTrackerANDROID
- xrGetFaceStateANDROID
- xrGetFaceCalibrationStateANDROID
問題
版本記錄
- 修訂版本 1,2024-09-05 (Levana Chen)
- 初始擴充功能說明