Version: 6000.3
语言: 中文
Unity 中的 VR 和 MR 开发
XR API 参考

XR 架构

Unity 支持XR一个总称,包括虚拟现实 (VR)、增强现实 (AR) 和混合现实 (MR) 应用。支持这些形式的交互式应用程序的设备可以称为 XR 设备。更多信息
请参阅术语表
通过其发展插件在 Unity 外部创建的一组代码,用于在 Unity 中创建功能。可以在 Unity 中使用两种插件:托管插件(使用 Visual Studio 等工具创建的托管 .NET 程序集)和本机插件(特定于平台的本机代码库)。更多信息
请参阅术语表
框架以及一组功能和工具包。转到 XR 插件管理类别项目设置(Project Settings) 广泛的设置集合,允许您配置物理、音频、网络、图形、输入和项目的许多其他区域的行为方式。更多信息
请参阅术语表
以在 Unity 项目中启用 XR 支持,并为项目支持的 XR 平台选择插件。使用 Unity 包管理器安装其他功能包。

下图说明了当前的 Unity XR 插件框架结构及其如何与平台提供程序实现配合使用:

Unity XR 插件框架结构

XR 子系统为 XR 功能定义了通用接口。XR 插件实现这些子系统接口,以便在运行时向子系统提供数据。您的 XR 应用程序可以通过 Unity Engine 和包 API 访问 XR 功能的数据。

XR 提供程序插件框架

XR 提供程序插件是支持一个或多个 XR 设备平台的 Unity 插件。例如,ARCore 插件支持 AndroidAR增强现实
更多信息 术语表
平台,而 OpenXR 插件支持多个作系统上的多个 XR 设备。

XR 提供程序插件实现称为子系统的接口。实现一个或多个子系统的插件称为提供程序插件。通常,提供程序插件使用设备平台的本机库为其设备实现 Unity 接口。

Unity 使用子系统接口与各种平台的提供商进行通信,从而为应用程序的 XR 功能提供支持。由于这些接口,您可以在具有该功能提供程序的所有 XR 设备上重复使用应用程序中的相同功能代码。

子系统

XR 子系统使您可以访问 Unity 应用程序中的 XR 功能。Unity 为 XR 子系统定义了一个通用接口,以便实现功能的所有提供程序插件在您的应用程序中通常以相同的方式工作。通常,您可以更改活动提供程序并重新生成应用以在其他 XR 平台上运行,只要平台基本相似即可。

Unity 引擎定义了一组基本的 XR 子系统。Unity 包可以提供额外的子系统。例如,AR Subsystems 包包含许多特定于 AR 的子系统接口。

Unity 引擎中定义的子系统包括:

子系统 描述
显示 立体 XR 显示。
输入 空间跟踪和控制器输入。
啮合 从环境扫描生成 3D 网格。

注意:Unity 应用程序通常不会直接与子系统交互。相反,子系统提供的功能通过 XR 插件或包公开给应用程序。例如,AR Foundation 包中的 ARMeshManager 组件允许你将网格化子系统创建的网格体添加到场景场景包含游戏的环境和菜单。将每个唯一的场景文件视为一个独特的关卡。在每个场景中,你放置你的环境、障碍物和装饰品,基本上是将你的游戏设计和构建成碎片。更多信息
请参阅术语表
.

Unity 中的 VR 和 MR 开发
XR API 参考