Unity 通过其插件在 Unity 外部创建的一组代码,用于在 Unity 中创建功能。在 Unity 中可以使用两种插件:托管插件(使用 Visual Studio 等工具创建的托管 .NET 程序集)和原生插件(特定于平台的原生代码库)。 更多信息
参见 术语表框架和一组功能和工具包来支持XR一个涵盖虚拟现实 (VR)、增强现实 (AR) 和混合现实 (MR) 应用程序的总称。支持这些形式的交互式应用程序的设备可以称为 XR 设备。更多信息
参见 术语表开发。转到项目设置一个广泛的设置集合,允许您配置物理、音频、网络、图形、输入以及项目其他许多方面的行为。 更多信息
参见 术语表中的XR 插件管理类别,以在 Unity 项目中启用 XR 支持并选择项目支持的 XR 平台的插件。使用 Unity 包管理器安装其他功能包。
下图说明了当前的 Unity XR 插件框架结构及其与平台提供程序实现的交互方式
XR 子系统定义了 XR 功能的通用接口。XR 插件实现这些子系统接口,以便在运行时向子系统提供数据。您的 XR 应用程序可以通过 Unity 引擎和包 API 访问 XR 功能的数据。
XR 提供程序插件是一个支持一个或多个 XR 设备平台的 Unity 插件。例如,ARCore 插件支持手持 Android 设备上的 Android AR增强现实 更多信息
参见 术语表平台,而 OpenXR 插件支持多个操作系统上的多个 XR 设备。
XR 提供程序插件实现了 Unity XR SDK 定义的接口。这些接口称为子系统。实现一个或多个子系统的插件称为提供程序插件。通常,提供程序插件使用设备平台的原生库来实现其设备的 Unity 接口。
Unity 使用子系统接口与不同平台的提供程序进行通信,从而为应用程序的 XR 功能提供支持。由于这些接口的存在,您可以在所有具有该功能提供程序的 XR 设备上重用应用程序中的相同功能代码。
XR 子系统允许您在 Unity 应用程序中访问 XR 功能。Unity XR SDK 为子系统定义了一个通用接口,以便所有实现某个功能的提供程序插件在您的应用程序中通常以相同的方式工作。通常,只要平台大致相似,您就可以更改活动提供程序并重新构建应用程序以在不同的 XR 平台上运行。
Unity 引擎定义了一组基本的 XR 子系统。Unity 包可以提供其他子系统。例如,AR 子系统包包含许多特定于 AR 的子系统接口。
Unity 引擎中定义的子系统包括
子系统 | 描述 |
---|---|
显示 | 立体 XR 显示。 |
输入 | 空间跟踪和控制器输入。 |
网格化 | 从环境扫描生成 3D 网格。 |
注意:Unity 应用程序通常不会直接与子系统交互。相反,子系统提供的功能通过 XR 插件或包公开给应用程序。例如,AR Foundation 包中的ARMeshManager组件允许您将网格化子系统创建的网格添加到场景场景包含游戏环境和菜单。可以将每个唯一的场景文件视为一个唯一的关卡。在每个场景中,您放置环境、障碍物和装饰,本质上是分段设计和构建游戏。 更多信息
参见 术语表中。