EasyAR 的头显支持
EasyAR SDK 提供了强大的跨平台 AR 功能,其设计理念同样适用于新兴的空间计算设备——头显(Headset)。本篇将介绍 EasyAR 如何支持头显设备,以及开发者可以如何利用这些功能来构建沉浸式体验。
术语说明
在本文档中,“头显”或 “Headset” 特指一类具备头部佩戴形态、支持沉浸式或透视式交互的计算设备,它们能够将虚拟内容呈现在用户眼前,实现增强现实(AR)或混合现实(MR)体验。这包括:
- 光学透视型头显 (Optical See-Through, OST):通过半透明镜片直接观看现实世界
- 视频透视型头显 (Video See-Through, VST):通过摄像头捕捉现实世界并以视频流的形式观看
头显的基本工作原理
为了更好地理解 EasyAR 对头显的支持原理,我们首先需要了解头显设备的基本工作流程:
- 环境感知:通过内置的多摄像头、深度传感器(如 iToF)和惯性测量单元(IMU)等,实时感知周围环境的几何结构、光照条件和物体表面。
- 空间计算:根据传感器数据,通过 SLAM 系统实时跟踪用户头部 6DoF 位姿(位置 + 朝向)。
- 内容渲染与显示:将 3D 内容(如模型、特效)根据设备位姿进行渲染,并将渲染结果投射到显示屏上。对于 VR 模式,显示的是纯虚拟画面;对于 AR/MR 模式,虚拟画面会与真实环境(VST 摄像头画面或 OST 透视背景)进行合成。
- 交互系统:通过手柄、手势识别、语音或眼球跟踪,接收用户指令并作出响应。
EasyAR 支持头显的原理
EasyAR不替代头显原生的空间跟踪或渲染管线,而是以空间计算增强的角色与其协同工作。作为专业的 AR 算法引擎,提供多种 AR 场景的空间感知和计算能力,与设备原有的系统进行高效协同。
| 职责范围 | 角色分工 |
|---|---|
| 头部 6DOF 跟踪、显示渲染、基础交互等 | 头显原生 SDK/运行时 |
| 图像/物体识别与跟踪、大空间定位等高级感知能力 | EasyAR SDK |
EasyAR SDK 提供图像/物体识别、稀疏重建、稠密重建、大空间定位等世界感知的核心 AR 功能,负责“看懂”世界,并告诉头显的应用程序虚拟内容应该放在哪里。
EasyAR SDK 作为插件或库集成到头显的应用开发框架中(通常是 Unity或 Unreal)。它接收来自设备系统的原始数据流,进行处理和计算,然后输出一个相对于设备空间坐标系的位姿矩阵,最终由头显引擎的渲染管线将虚拟物体绘制在正确的位置。
支持情况与实现方式
EasyAR 对主流的头显开发平台提供了全面的支持,主要通过以下两种方式实现:
- 通过 Unity/Unreal Engine:这是最主流和推荐的方式。头显厂商通常会提供专门的 Unity/Unreal 插件或 XR SDK。EasyAR 可以无缝接入厂商的 SDK 中使用。
- 通过原生平台 (Native):对于需要极致性能或特定原生开发的场景,可以使用 EasyAR 的 C++/Java/Objective-C 原生接口。这通常需要开发者自行处理与设备底层数据的接口对接。
EasyAR 已经在多个主流头显平台上通过 Unity 的方式进行了测试和验证。目前已经确认支持的设备如下:
| 头显设备型号 | 系统/SDK 版本要求 |
|---|---|
| Apple Vision Pro | visionOS 2 或更新版本 |
| PICO 4 Ultra Enterprise | PICO Unity Integration SDK 3.1.0 或更新版本 |
| Rokid AR Studio | Rokid Unity OpenXR Plugin 3.0.3 或更新版本 |
| XREAL Air2 Ultra | XREAL SDK 3.1 或更新版本 |
| Xrany X1 | Xrany元霓 SDK |
注意
Rokid AR Studio 可通过 Rokid Unity OpenXR Plugin 支持 Rokid UXR 3,但建议使用 XR Interaction Toolkit,尤其是跨设备使用。
重要事项
Apple Vision Pro、PICO、XREAL 都需要其对应的企业授权才能使用,如有疑问请联系商务。
- 受 Apple Vision Pro 接口授权限制,仅支持获取了 Apple 企业 API 许可的设备。
- 受 PICO 接口授权限制,仅支持 PICO 企业版设备。
- 受 XREAL 接口授权限制,仅支持获取了企业授权的设备。
对于上述没有提及的其他厂商的头显设备,EasyAR 提供了自定义相机等的扩展接入方式。具体可以参考 创建EasyAR头显扩展包 来进行接入,您可以自行完成对接。
这通常涉及以下步骤:
- 获取设备开发权限:申请目标头显的开发者账号和 SDK 文档。
- 获取传感器数据流:从设备 SDK 中获取摄像头图像(视频帧)、相机参数等必要数据。
- 调用 EasyAR API:使用 EasyAR 的底层 API,将获取到的传感器数据送入 EasyAR
FrameSource进行处理。 - 获取并应用计算结果:从 EasyAR 引擎中获取计算结果(相机位姿),并将其应用到您的 3D 渲染引擎中。
我们提供了详细的开发指南和示例代码,以帮助您完成这一过程。如果您在对接过程中遇到问题,欢迎在我们的开发者社区寻求技术支持。
可供使用的核心功能
在头显设备上,您可以充分利用 EasyAR 的全功能矩阵来构建丰富的空间应用:
- 平面图像跟踪:识别并跟踪预设的图片,将动态视频或 3D 模型叠加在图片之上。
- 3D物体跟踪:识别并跟踪预设的 3D 模型(如玩具、产品包装盒),并让虚拟内容与之互动。
- 稀疏空间地图:扫描周围环境生成三维视觉地图,并提供视觉定位与跟踪功能。生成的地图可以保存或在多个设备间实时共享。
- 稠密空间地图:扫描并生成周围环境的稠密点云地图和网格模型(Mesh),实现虚拟物体与真实物体的物理遮挡关系,极大地增强沉浸感。
- 云端图像识别:连接 EasyAR 云端数据库,实现海量图片的识别与管理,适用于展览、教育等场景。
- Mega 大空间定位:城市级空间计算方案,连接 EasyAR 云定位服务,实现稳定、快速、精准的定位与跟踪,极大的突破和扩展 AR 体验的范围。
平台专用指南
为了帮助您快速上手特定平台,我们准备了详细的多平台集成指南。请点击下方的标签页,查看对应平台的快速入门教程。