谷歌发布Android XR与Unity开发指南

PICO 4 Ultra

查看引用/信息源请点击:映维网Nweon

引导你开始使用Android XR和Unity进行开发,并重点介绍配置环境、理解包生态系统以及开始构建的实际步骤

映维网Nweon 2025年10月24日)三星Galaxy XR现已问世,由Android XR驱动。为了帮助开发者学习、构建并为Android XR准备应用,谷歌正在提供名为Android XR Spotlight Week的博文系列。在这篇博文中,团队将引导你开始使用Android XR和Unity进行开发,并重点介绍配置环境、理解包生态系统以及开始构建的实际步骤:

谷歌发布Android XR与Unity开发指南

现在投身XR开发正逢其时。去年12月,谷歌发布了Android XR,这是谷歌基于OpenXR和Vulkan等开放标准构建的新Android平台,它使得XR开发比以往任何时候都更容易上手。

当它与Unity现有的XR工具结合使用时,你将获得一个强大而成熟的开发技术栈。这使得创建和部署能够跨多个设备运行的XR应用程序成为可能。

阅读完本博文,你将很好地理解:

  • 包生态系统

  • 基本设置步骤

  • 输入方法

  • 隐私和权限

  • 合成层

  • 用于Android XR开发的Unity

你可能会因为Unity的跨平台兼容性而选择它,因为只需一次构建,然后即可部署到Android XR和其他XR设备。

使用Unity时,你可以受益于其成熟的XR生态系统和工具。它已经拥有既定的软件包,如XR Interaction Toolkit、OpenXR插件、XR合成层、XR Hands、一个充满即用型XR组件和模板的庞大资源商店,以及XR模拟和测试工具。并且自从去年11月Unity 6发布以来,你同时可以受益于其改进的通用渲染管线性能、更好的Vulkan图形支持以及增强的构建配置文件。

以下是一些示例项目,让你了解可以实现的效果:

Unity 6 要求与安装

你需要Unity 6来创建你的应用程序,因为早期版本不支持Android XR。首先安装Unity Hub,然后按照步骤安装带有Android Build Support模块的Unity 6。

谷歌发布Android XR与Unity开发指南

Android XR构建配置文件:简化配置

Unity构建配置文件是存储你特定平台设置和配置的项目资源。所以,你无需在多个菜单中手动设置15-20个不同的选项,而是可以使用构建配置文件自动完成此操作。

你可以创建自己的构建配置文件,但目前建议使用谷歌创建的专用Android XR构建配置文件。

你可以通过在Unity项目中选择File > Build Profile来选择你的构建配置文件。有关完整说明,请参阅Android XR开发工作流程页面

如果你进行了任何自定义更改,随后可以创建一个新的构建配置文件与团队共享。这样可以确保整个团队获得一致的构建体验。

谷歌发布Android XR与Unity开发指南

完成相关步骤后,你就可以为Android XR设备构建并运行你的APK了。

图形API:为何Vulkan至关重要

当你的Unity项目设置了Android XR构建配置文件后,谷歌首先建议确保你已将Vulkan设置为图形API。Android XR是作为一个Vulkan优先的平台构建的。2025年3月,谷歌宣布Vulkan现已成为Android的官方图形API。它是一种现代的、低级别的图形API,可帮助开发者最大化现代GPU的性能,并解锁光追和多线程等高级功能,以实现逼真和沉浸式的游戏视觉效果。

相关标准为你现有的应用程序提供了最佳的兼容性,并缓解了移植的问题和成本。它同时使得启用高级Android XR功能成为可能,例如URP应用程序空间扭曲和注视点渲染。

Unity 6会自动处理Vulkan,因此当你使用Android XR构建配置文件时,Unity会将Vulkan配置为你的图形API。这确保你可以访问所有高级Android XR功能,而无需任何手动配置。

你可以通过转到 ‘Edit’ > ‘Project Settings’ > ‘Player’ > ‘Android tab’ > ‘Other settings’ > ‘Graphics APIs’ 来验证你的图形API设置。

谷歌发布Android XR与Unity开发指南

理解包生态系统

在Unity中,你可以使用两种不同的包来进行Android XR开发。一种是使用Android XR Extensions for Unity,另一种是使用Unity OpenXR: Android XR包。

它们听起来可能很像,但请听我解释。

Unity OpenXR: Android XR包是Unity官方支持的Android XR包。它通过OpenXR标准提供了绝大多数Android XR功能。它同时支持与AR Foundation集成以实现混合现实功能。使用Unity OpenXR: Android XR包的主要好处是它提供了一个统一的API来支持各种XR设备。

Android XR Extensions for Unity则是谷歌的XR包,专为Android XR设备开发而设计。它通过环境混合模式、场景网格划分、图像跟踪和身体跟踪等附加功能,对Unity OpenXR包进行了补充。其代价是你只能为Android XR设备进行开发。

选择哪一个取决于你的具体需求,但我们通常建议使用Unity OpenXR: Android XR,因为它为你的应用程序兼容的设备提供了更大的灵活性,然后你可以根据应用程序需求再添加Android XR Extensions for Unity。

如何安装包

要添加新包,请在Unity中打开项目后,选择 ‘Window’ > ‘Package Management’ > ‘Package Manager’。

在这里,你可以从 ‘Unity Registry’ 选项卡安装以下包:

  • ‘Open XR: Android XR’

  • ‘XR Interaction Toolkit’

  • ‘XR Hands’

谷歌发布Android XR与Unity开发指南

你可以通过Github安装 Android XR for unity 包,方法是选择 ➕ 图标,选择 ‘Install package from git URL’,然后输入 ‘https://github.com/android/android-xr-unity-package.git

谷歌发布Android XR与Unity开发指南

必需的OpenXR功能

现在你已经安装了所需的包,下面我们启用一些核心功能以使项目正常运行。

你可以为Android启用OpenXR设置:’Edit’ -> ‘Project Settings’ -> ‘XR Plugin Management’ -> 点击Android并启用OpenXR。

谷歌发布Android XR与Unity开发指南

接下来,我们需要启用对 ‘Android XR support’ 的支持,谷歌将在需要时介绍其他OpenXR功能。目前只需要启用Android XR支持。

输入

Android XR支持手部、语音、眼动追踪、键盘和控制器的输入。谷歌建议安装XR Interaction Toolkit和XR Hands,因为它们包含了入门的首选预制件。通过使用这些预制件,你将拥有在应用程序中支持手部和控制器所需的一切。

谷歌发布Android XR与Unity开发指南

一旦XR Hands和XR Interactive Toolkit都安装完毕,建议导入Starter Assets和Hands Interaction Demo。然后,你需要启用Hand Interaction和Khronos Simple Controller配置文件,并打开Hand Tracking Subsystem和Meta Hand Tracking Aim功能。

你可以通过转到 ‘Edit’ > ‘Project Settings’ > ‘XR Plug-in Management’ > ‘OpenXR’ 来编辑这些设置。

谷歌发布Android XR与Unity开发指南

谷歌同时推荐Unity的预制件XR Origin,它代表用户在XR空间中的位置和方向。它包含了从正确视点渲染XR体验所需的相机设备和跟踪组件。

谷歌发布Android XR与Unity开发指南

添加此预制件的最简单方法是从我们之前导入的手部交互演示中导入,可以在以下位置找到:’Hands Integration Toolkit’ > ‘Hand Interaction’ > ‘Prefabs’ > ‘XR Origin’。

建议在游戏对象中使用此预制件,而不是 ‘XR Origin’ 选项,因为它使用了XR Input Modality Manager,可以在用户手部和控制器之间自动切换。这将为你在手部和控制器之间切换提供最佳成功率。

隐私和权限:建立用户信任

无论你构建什么,都需要获取用户的运行时权限。这是因为场景理解、眼动追踪、面部追踪和手部追踪会访问对用户可能更敏感的数据。

这些功能提供了比传统桌面或移动应用程序更深入的个人信息,因此运行时权限可确保你的用户完全控制他们选择共享的数据。因此,为了遵循Android的安全和隐私政策,Android XR对每个这些功能都有相应的权限。

例如,如果你使用XR Hands包来实现自定义手势,你将需要请求手部追踪权限(见下文),因为此包需要追踪大量关于用户手部的信息。这包括追踪手部关节姿势、角速度和线速度等。

注意:有关需要权限的扩展的完整列表,请查看XR开发者网站上的信息。

const string k_Permission = "android.permission.HAND_TRACKING";#if UNITY_ANDROIDvoid Start(){ if (!Permission.HasUserAuthorizedPermission(k_Permission)) { var callbacks = new PermissionCallbacks(); callbacks.PermissionDenied += OnPermissionDenied; callbacks.PermissionGranted += OnPermissionGranted; Permission.RequestUserPermission(k_Permission, callbacks); }}void OnPermissionDenied(string permission){ // handle denied permission}void OnPermissionGranted(string permission){ // handle granted permission}#endif // UNITY_ANDROID

使用合成层提升视觉质量

合成层是渲染UI元素的推荐方式。与Unity的标准渲染管道相比,它们能够以更高的质量显示元素,因为所有内容都是直接渲染到平台的合成器。

例如,如果你显示文本,标准的Unity渲染更可能出现文本模糊、边缘柔和和视觉伪影。而使用合成层,文本会更清晰,轮廓会更锐利,整体体验会更好。

除了文本,它同时能以更高的质量渲染视频、图像和UI元素。这是通过利用对运行时合成器层的原生支持来实现的。

要开启合成层,请打开Package Manager,选择 ‘Unity Register’,然后安装 ‘XR Composition Layers’。

构建与运行

现在你已经安装了OpenXR包并启用了功能,设置了手部和头部移动的预制件,你可以构建场景并直接部署到头戴设备进行测试了。

下一步:拓展你的技能

既然你已经设置好了Android XR开发环境并理解了关键概念,以下是继续你的XR开发之旅的后续步骤:

持续学习的基本资源:

可供探索的示例项目:

本文链接https://news.nweon.com/135419
转载须知:转载摘编需注明来源映维网并保留本文链接
素材版权:除额外说明,文章所用图片、视频均来自文章关联个人、企业实体等提供
QQ交流群苹果Vision  |  Meta Quest  |  AR/VR开发者  |  映维粉丝读者
XR 招聘Job
XR Dev Wechat Group/微信群

您可能还喜欢...

资讯