Android XR 通过支持 OpenXR 1.1 规范和部分供应商扩展程序,支持使用 OpenXR 构建的应用。OpenXR 是一种开放标准,可让您使用一组通用 API 在各种 XR 设备上打造沉浸式互动体验。
功能
Android XR 支持多种功能,可让您使用 OpenXR 构建充分利用 XR 设备独特功能的应用。这些功能包括:
- 空间实体框架
- 场景理解和空间推理的统一基础。支持应用发现、查询和跟踪环境中的物理空间实体,创建附着到实体的空间锚点,执行空间实体光线投射,以及在应用会话之间保留空间实体。
- 可跟踪对象
- 支持 平面检测,即识别和 跟踪环境中的平面,以便相对于现实世界放置 虚拟对象;还支持 锚点,即可以附着到现实世界对象或 位置的虚拟参考点,以便虚拟内容在用户移动时仍能保持准确的位置和 方向。
- 光线投射
- 一种用于确定虚拟光线与场景中对象之间的交点的技术,有助于实现选择和操纵虚拟元素等互动。
- 锚点持久性
- 能够跨多个会话保存和恢复锚点,以便在环境中持久且一致地放置虚拟内容。
- 对象跟踪
- 能够跟踪现实世界中的鼠标、键盘和其他对象。
- 二维码跟踪
- 能够跟踪物理环境中的二维码并解码其数据。
- 深度纹理
- 生成深度图,提供有关相机与场景中对象之间距离的信息,从而实现更逼真的遮挡和互动效果。
- 透传 (Passthrough)
- 能够将现实世界中的相机视频片段与虚拟内容融合,打造无缝结合物理世界和数字世界的混合现实体验。
- 场景网格化
- 能够获取环境的 3D 网格,可用于物理、遮挡和其他感知世界的互动。
- 组合层透传 (Passthrough)
- 允许进行多边形透传组合层剪切,可用于将现实世界中的对象带入场景。
- 面部追踪
- 能够跟踪用户面部的特征,从而创建更逼真、更具表现力的虚拟形象和虚拟角色。
- 眼动追踪
- 提供用户眼睛的位置和方向,旨在让虚拟形象的眼睛姿势更加逼真。
- 手部追踪
- 能够跟踪用户双手的位置和移动。
- 手部网格
- 以低多边形网格的形式准确呈现用户的手。针对平台到应用的交付进行了优化,以确保您获得尽可能最佳的性能。这是使用绑定姿势和混合权重的其他扩展程序的替代方案。
- 光照估测
- 用于使光照模型与用户的现实世界光照条件相匹配。
支持的输入设备
Android XR 还支持以下输入设备。
- 手部互动
- 识别特定的手势,例如捏合、滑动和指向,让用户能够使用手势和手部动作与虚拟对象互动。
- 视线互动
- 能够跟踪用户的眼部动作,让用户能够使用视线选择虚拟对象并与之互动。
- 6DoF 运动控制器
- 能够跟踪控制器的位置和移动,以及用于触发应用内操作或悬停事件的方向键和按钮绑定。
- 鼠标互动
- 用户能够在 3D 空间中使用鼠标指针与对象互动
支持的性能功能
Android XR 支持以下与性能相关的功能。
- 眼动追踪注视点渲染
- 允许应用仅在眼睛的焦点处渲染更高分辨率的内容。
- 空间扭曲
- 使用速度矢量和深度纹理信息生成中间帧,从而有效提升帧速率,让用户沉浸在您的体验中
- 帧合成
- 使用应用提供的运动矢量和帧数据合成中间帧,从而提高视觉流畅度和帧速率。
- 性能指标
- 在当前 XR 设备、合成器和 XR 应用的运行时提供 Android XR 性能指标。这包括 CPU 帧时间、GPU 帧时间、GPU 利用率、CPU 频率、每秒帧数以及更多。
如需查看支持的功能和 扩展程序的完整列表,请参阅 OpenXR 功能概览。
支持的引擎
以下引擎支持使用 Android XR 进行 OpenXR 开发。
Unity
Android XR 的 Unity 支持基于 OpenXR 构建,可让开发者使用 Unity 6 创建体验。如需详细了解如何使用 Unity 构建 XR 应用,请参阅 Unity 概览。
OpenXR™ 和 OpenXR 徽标是 Khronos Group Inc. 的商标,已在中国、欧盟、日本和英国注册为商标。