使用支持的 OpenXR 扩展构建

Android XR 通过 OpenXR 1.1 规范以及大量第三方供应商扩展来支持 OpenXR。使用这些扩展可为您提供熟悉的 XR 开发体验。其中一些功能需要 Android 运行时权限。如果您打算直接基于 OpenXR API 进行构建,可以在此代码库中找到所需的头文件。

Android XR 供应商扩展

扩展名称

说明

XR_ANDROID_avatar_eyes(已弃用)

允许应用获取用户眼睛的位置和方向,旨在使虚拟化身(avatar)的眼睛姿势和状态表示更加逼真。此扩展不应用于其他眼动追踪目的。对于交互,应使用 XR_EXT_eye_gaze_interaction。此扩展需要 android.permission.EYE_TRACKING_COARSE

XR_ANDROID_composition_layer_passthrough_mesh

允许应用通过额外的合成层将直通纹理投射到任意几何体上。此扩展需要 android.permission.SCENE_UNDERSTANDING_COARSE

XR_ANDROID_depth_texture

暴露原始和平滑深度,用于遮挡、命中测试以及利用精确场景几何体的其他特定任务,例如伪造人脸检测。提供当前相机/眼睛姿势的低分辨率深度纹理和场景置信度。此扩展需要 android.permission.SCENE_UNDERSTANDING_FINE

XR_ANDROID_device_anchor_persistence

允许应用程序在当前设备上、跨应用程序和设备会话持久化、检索和取消持久化锚点。此扩展需要 android.permission.SCENE_UNDERSTANDING_COARSE

XR_ANDROID_eye_tracking

允许应用获取用户眼睛的位置和方向,旨在使虚拟化身(avatar)的眼睛姿势和状态表示更加逼真。请勿将此扩展用于其他眼动追踪目的。对于交互,应改用 XR_EXT_eye_gaze_interaction。此扩展需要 android.permission.EYE_TRACKING_COARSEandroid.permission.EYE_TRACKING_FINE

XR_ANDROID_face_tracking

允许应用获取混合形体的权重,并在 XR 体验中渲染面部表情。此扩展需要 android.permission.FACE_TRACKING

XR_ANDROID_hand_mesh

启用以动态手部网格表示的手部跟踪输入。此扩展旨在为用户手部个性化表示的网格提供顶点和索引缓冲区。对于跟踪手部关节,应使用 XR_EXT_hand_tracking;对于交互,应使用 XR_EXT_hand_interaction。此扩展需要 android.permission.HAND_TRACKING

XR_ANDROID_light_estimation

估计用户当前环境的环境光照(包括球谐函数)。此扩展允许应用请求表示头戴式设备周围真实世界环境光照的数据。此信息可用于渲染虚拟对象,使其在与放置场景相同的条件下进行光照。此扩展需要 android.permission.SCENE_UNDERSTANDING_COARSE

XR_ANDROID_mouse_interaction

此扩展引入了一种新的交互配置文件,专为鼠标设备设计,可通过 OpenXR 动作系统进行输入。允许用户鼠标配置文件(包括鼠标设备和触控板设备)的常用动作姿态。这旨在通过 3D 空间中的鼠标指针与对象进行交互。例如,使用虚拟激光指针瞄准墙上的虚拟按钮是一种适合“瞄准”姿态的交互。

XR_ANDROID_passthrough_camera_state

提供直通摄像头的已启用、初始化或已禁用状态。

XR_ANDROID_performance_metrics

此扩展提供 API,用于枚举和查询当前 XR 设备、合成器和 XR 应用程序的各种性能指标计数器。

XR_ANDROID_raycast

此扩展允许应用程序对环境中的可跟踪对象执行光线投射。此扩展需要 android.permission.SCENE_UNDERSTANDING_COARSE

XR_ANDROID_trackables

此扩展允许应用程序访问物理环境中的可追踪对象(如平面),并创建附加到可追踪对象的锚点。此扩展需要 android.permission.SCENE_UNDERSTANDING_COARSE

XR_ANDROID_trackables_object

提供对场景中物理对象(如键盘和鼠标)跟踪的支持。此扩展需要 android.permission.SCENE_UNDERSTANDING_COARSE

XR_ANDROID_unbounded_reference_space

提供一个无边界参考空间,可用于随着时间推移更好地理解场景。此参考空间允许查看者在复杂的环境中自由移动,通常距离他们开始的位置很多米远,同时始终优化查看者附近坐标系统的稳定性。

其他支持的扩展

还支持以下附加扩展。信息位于外部网站。


OpenXR™ 和 OpenXR 标志是 Khronos Group Inc. 拥有的商标,并在中国、欧盟、日本和英国注册为商标。