使用 OpenXR 进行开发

Android XR 通过支持 OpenXR 1.1 规范和部分供应商扩展,支持使用 OpenXR 构建的应用。OpenXR 是一种开放标准,可让您在各种 XR 设备上使用一组通用 API 来打造沉浸式互动体验。

功能

Android XR 支持多项功能,可让您使用 OpenXR 构建可充分利用 XR 设备独特功能的应用。这些功能包括:

追踪器
支持平面检测,即能够识别和跟踪环境中的平面,从而根据真实世界来放置虚拟对象;还支持锚点,即可附加到真实对象或位置的虚拟参考点,确保虚拟内容即使在用户移动时也能保持准确的位置和方向。
光线投放
一种用于确定虚拟光线与场景中对象之间的交叉点的技术,有助于实现选择和操控虚拟元素等互动。
锚点持久性
能够跨多个会话保存和恢复锚点,从而实现在环境中持久且一致地放置虚拟内容。
对象跟踪
能够跟踪现实世界中的鼠标、键盘和其他对象。
深度纹理
生成深度图,提供有关相机与场景中物体之间距离的信息,从而实现更逼真的遮挡和互动效果。
透传 (Passthrough)
能够将真实摄像头拍摄的画面与虚拟内容相融合,打造混合现实体验,将现实世界与数字世界无缝结合。
组合图层透传
允许多边形透视组合图层剪裁,可用于将现实世界对象引入场景。
面部跟踪
能够跟踪用户面部的特征,从而创建更逼真、更富有表现力的头像和虚拟角色。
眼动跟踪
提供用户眼睛的位置和方向,旨在让头像的眼睛姿势更逼真。
手部跟踪
能够跟踪用户手部的位置和移动。
手部网格
以低多边形网格的精确方式呈现用户的手。针对平台到应用传送进行了优化,以确保您获得最佳性能。这是一种使用绑定姿势和混合权重的其他扩展的替代方案。
光估测
用于照明模型,以匹配用户的实际照明条件。

支持的输入设备

Android XR 还支持以下输入设备。

手部互动
识别特定手势(例如捏合、滑动和指向),让用户能够使用手势和手部动作与虚拟对象互动。
眼神交互
能够跟踪用户的眼球运动,让用户能够使用注视来选择和与虚拟对象互动。
6DoF 动作控制器
能够跟踪控制器的位置和移动,以及方向键和按钮绑定,以触发操作或应用内的悬停事件。
鼠标互动
用户能够在 3D 空间中通过鼠标指针与对象互动

支持的性能功能

Android XR 支持以下与性能相关的功能。

眼动跟踪注视
允许应用仅在眼睛焦点处呈现更高分辨率的内容。
空间扭曲
使用速度矢量和深度纹理信息生成补间帧,从而有效提升帧速率,让用户沉浸在您的体验中
效果指标
在当前 XR 设备、合成器和 XR 应用的运行时提供 Android XR 性能指标。这包括 CPU 帧时间、GPU 帧时间、GPU 利用率、CPU 频率、每秒帧数等更多信息。

如需查看支持的功能和扩展的完整列表,请参阅 OpenXR 功能概览

支持的引擎

Unity

Android XR 的 Unity 支持基于 OpenXR 构建而成,让开发者可以使用 Unity 6 打造体验。如需详细了解如何使用 Unity 构建 XR 应用,请参阅 Unity 概览