Jetpack XR SDK 包含为 Android XR 设备打造沉浸式和增强式体验所需的所有工具和库。
打造完全沉浸式体验
面向专用高保真设备,例如 XR 头戴设备和有线 XR 眼镜。使用 Kotlin 和 Compose 等现代 Android 开发者工具,以及 Java 和 Views 等上一代工具。您可以空间化界面、加载和渲染 3D 模型,以及从语义上理解现实世界。
如果您已在 Android 上开发了移动应用或大屏应用,Jetpack XR SDK 可以通过空间化现有布局并使用 3D 模型和沉浸式环境增强体验,将您的应用带入一个新维度。如需了解有关对现有 Android 应用进行空间化的建议,请参阅我们的质量指南。
打造增强型实用体验
目标设备是轻便时尚的无屏眼镜和带屏眼镜。使用 Kotlin 和 Jetpack Compose Glimmer 等 Modern Android Development 开发者工具。使用可将应用体验从手机投射到眼镜的 API。
使用 Jetpack 库
Jetpack XR SDK 库提供了一个全面的工具包,用于构建丰富、沉浸式的体验、轻量级、增强型体验以及介于两者之间的所有体验。以下库属于 Jetpack XR SDK:
- Jetpack Compose for XR:以声明方式构建空间界面布局,充分利用 Android XR 的空间功能。
- Material Design for XR:使用适合 XR 的 Material 组件和布局进行构建。
- Jetpack SceneCore:使用 3D 内容构建和操控 Android XR 场景图。
- ARCore for Jetpack XR:利用感知功能将数字内容带入现实世界。
- Jetpack Compose Glimmer:一个界面工具包,用于构建增强型 Android XR 体验,并针对带屏眼镜进行了优化。
- Jetpack Projected:这些 API 可帮助将应用体验从手机投射到无屏眼镜或带屏眼镜。
开发者预览版期间的 API 开发
Jetpack XR SDK 库是 Android XR 开发者预览版的一部分,这些 API 仍处于开发阶段。如需了解已知问题,请参阅库版本说明:
- Jetpack Compose for XR 版本说明
- ARCore for Jetpack XR 版本说明
- Jetpack SceneCore 版本说明
- XR 运行时版本说明
- Jetpack Compose Glimmer 版本说明
- Jetpack Projected 版本说明
如果您遇到未在这些列表中列出的问题,请报告 bug 或提交反馈。
Jetpack Compose for XR
借助 Jetpack Compose for XR,您可以使用行和列等空间化组件,通过熟悉的声明式 Compose 模型构建空间界面和布局。
此库还提供子空间可组合项,例如空间面板和轨道器,可让您将现有的 2D Compose 或基于 View 的界面放置在空间布局中。其他子空间可组合项可处理其他类型的空间用例,例如 SceneCoreEntity,可让您相对于界面放置实体(例如 3D 模型)。
无论您是要对现有 Android 应用进行空间化处理,还是要从头开始创建新的 XR 应用,都可以使用 Jetpack Compose for XR。
如需了解详情,请参阅空间界面开发者指南以及库和 API 参考文档。
XR 的 Material Design
Material Design 提供了适用于 XR 的组件和布局。如果您要使用自适应布局进行构建,详细了解如何实现 Material Design for XR。
Jetpack SceneCore
借助 Jetpack SceneCore 库,您可以相对于彼此和环境放置和排列由实体定义的 3D 内容。借助 SceneCore,您可以:
Jetpack SceneCore 库还支持对使用 View 构建的应用进行空间化。如需了解详情,请参阅我们的视图使用指南。
如需了解详情,请参阅 API 参考文档。
ARCore for Jetpack XR
ARCore for Jetpack XR 库受现有 ARCore 库的启发,提供了将数字内容与现实世界融合的功能。此库包含动作追踪、永久性锚点、点击测试和平面识别功能,并带有语义标签(例如地板、墙壁和桌面)。此库利用由 OpenXR 提供支持的底层感知堆栈,可确保与各种设备兼容,并有助于使应用面向未来。
如需了解详情,请参阅使用 ARCore for Jetpack XR。
Jetpack Compose Glimmer
Jetpack Compose Glimmer 是一个界面工具包,用于构建增强型 Android XR 体验,并针对带屏眼镜进行了优化。为全天佩戴的设备打造美观、简约且舒适的界面。
- 专为一目了然和易读性而设计:与手机不同,主要画布是光学透视显示屏,它是透明的。Jetpack Compose Glimmer 提供眼镜专用主题、简化的调色板和排版,让您的内容易于阅读、快速处理,并且绝不会分散注意力。
- 针对穿戴式设备特有的互动方式进行了优化:我们针对用户使用眼镜的方式优化了互动模型。Jetpack Compose Glimmer 组件具有清晰的焦点状态,例如经过优化的轮廓,而不是分散注意力的涟漪效果,并且旨在处理常见的物理输入,例如点按、在镜框上滑动,当然还有语音。
- 使用熟悉的声明式界面模式:由于 Jetpack Compose Glimmer 完全基于 Jetpack Compose 构建,因此您可以运用您在 Android 中构建声明式界面时所掌握的所有知识。我们提供了一整套核心、预构建的可组合函数,例如 Text、Icon、Button,以及 TitleChip 等专用组件,所有这些都针对眼镜环境进行了优化。
Jetpack Projected
当您针对无屏眼镜和显示眼镜进行构建时,您的应用会在配套的主机设备(例如 Android 手机)上运行,该设备会投影应用的 XR 体验。如果 Android 主机设备具有 XR 投射功能,Jetpack Projected 可让这些主机设备与无屏眼镜或带屏眼镜进行通信。
- 访问投影设备硬件:与投影设备(无屏眼镜或带屏眼镜)关联的设备上下文。此投影上下文可提供对投影设备硬件(例如摄像头)的访问权限。专门为在音频或显示眼镜上显示而创建的专用 activity 已作为投影上下文运行。如果应用的其他部分(例如手机 activity 或服务)需要访问眼镜的硬件,则可以获取投影上下文。
- 简化权限请求:无屏眼镜和显示眼镜遵循标准 Android 权限模型,并具有眼镜专属权限,这些权限必须在运行时请求,然后您的应用才能访问设备硬件(例如摄像头)。权限辅助程序可简化手机和眼镜界面中的这些权限请求机制,从而提供一致的请求体验。
- 检查设备和显示屏功能:检查投影设备是否具有显示屏,以及显示屏是否处于可呈现视觉内容的状态。根据设备的功能调整应用。例如,如果设备没有显示屏或显示屏处于关闭状态,您可能需要提供更多音频上下文。
- 访问应用摄像头操作:您的应用可以访问用户摄像头操作,例如在在线影音应用中开启或关闭摄像头。
使用 Android XR 模拟器测试 XR 应用体验
Android XR 模拟器是 Android 模拟器的专用版本,专为 XR 应用开发者而设计。您可以在熟悉的 Android Studio 环境中测试和调试 XR 应用。为任何类型的 Android XR 设备创建虚拟设备,从 XR 头戴设备和有线 XR 眼镜等沉浸式设备,到无屏眼镜和带屏眼镜等智能眼镜,一应俱全。
当您准备好运行和调试应用时,请参阅以下指南以开始操作:
OpenXR™ 和 OpenXR 徽标是 The Khronos Group Inc. 拥有的商标,并在中国、欧盟、日本和英国注册为商标。